Skip to main content
command

create-pull-request — Claude Code command: how to install and use

This command generates draft pull requests using GitHub CLI aligned with repository conventions. It structures descriptions from templates and enforces emoji conventional commits.

Install into Claude Code · claude-code-templates All methods and platforms ↓
npx claude-code-templates@latest --command git-workflow/create-pull-request
Open on GitHub

What create-pull-request does

The command runs gh pr create with the --draft flag targeting the main branch. It pulls the structure from .github/pull_request_template.md and applies formatted sections via --body-file or inline bash evaluation.

Titles require Conventional Commit formatting with literal emoji characters such as ✨ or 🐛. The description must preserve placeholders for pr_agent:summary and pr_agent:walkthrough. Removing or editing those markers breaks downstream automation.

Execution fails immediately if GitHub CLI is missing or unauthenticated via gh auth login. The command also expects the PR template file to exist in your repository path.

What it helps with

  • open draft pull requests using GitHub CLI
  • apply emoji Conventional Commit titles to PRs
  • enforce consistent sections from pull request templates
  • preserve PR-Agent summary and walkthrough tags

Example prompts for the agent

  • /create-pull-request prepare a draft PR for current changes
  • /create-pull-request build a PR with conventional commit title and template body
  • /create-pull-request generate a draft pull request targeting main

How to install create-pull-request

1claude-code-templates

npx claude-code-templates@latest --command git-workflow/create-pull-request

2Manually: put the files in place

.claude/commands/create-pull-request.md

Call it with /create-pull-request. For all projects use ~/.claude/commands/

Questions about create-pull-request

How to install create-pull-request in Claude Code?

Run npx claude-code-templates@latest --command git-workflow/create-pull-request in your project root. This writes the command definition to .claude/commands/create-pull-request.md.

What does the create-pull-request command do?

It triggers gh pr create with draft mode enabled and pre-fills the description using your repository template. It also formats your PR title with conventional commit emojis.

What prerequisites are needed before running it?

You must have GitHub CLI installed and authenticated using gh auth login. A valid .github/pull_request_template.md file must also exist in the project.

Source text

create-pull-request.md · MIT
---
description: "Create a pull request with GitHub CLI following the project conventions"
---

# How to Create a Pull Request Using GitHub CLI

This guide explains how to create pull requests using GitHub CLI in our project.

## Prerequisites

1. Install GitHub CLI if you haven't already:

   ```bash
   # macOS
   brew install gh

   # Windows
   winget install --id GitHub.cli

   # Linux
   # Follow instructions at https://github.com/cli/cli/blob/trunk/docs/install_linux.md
   ```

2. Authenticate with GitHub:
   ```bash
   gh auth login
   ```

## Creating a New Pull Request

1. First, prepare your PR description following the template in `.github/pull_request_template.md`

2. Use the `gh pr create` command to create a new pull request:

   ```bash
   # Basic command structure
   gh pr create --title "✨(scope): Your descriptive title" --body "Your PR description" --base main --draft
   ```

   For more complex PR descriptions with proper formatting, use the `--body-file` option with the exact PR template structure:

   ```bash
   # Create PR with proper template structure
   gh pr create --title "✨(scope): Your descriptive title" --body-file <(echo -e "## Issue\n\n- resolve:\n\n## Why is this change needed?\nYour description here.\n\n## What would you like reviewers to focus on?\n- Point 1\n- Point 2\n\n## Testing Verification\nHow you tested these changes.\n\n## What was done\npr_agent:summary\n\n## Detailed Changes\npr_agent:walkthrough\n\n## Additional Notes\nAny additional notes.") --base main --draft
   ```

## Best Practices

1. **PR Title Format**: Use conventional commit format with emojis

   - Always include an appropriate emoji at the beginning of the title
   - Use the actual emoji character (not the code representation like `:sparkles:`)
   - Examples:
     - `✨(supabase): Add staging remote configuration`
     - `🐛(auth): Fix login redirect issue`
     - `📝(readme): Update installation instructions`

2. **Description Template**: Always use our PR template structure from `.github/pull_request_template.md`:

   - Issue reference
   - Why the change is needed
   - Review focus points
   - Testing verification
   - PR-Agent sections (keep `pr_agent:summary` and `pr_agent:walkthrough` tags intact)
   - Additional notes

3. **Template Accuracy**: Ensure your PR description precisely follows the template structure:

   - Don't modify or rename the PR-Agent sections (`pr_agent:summary` and `pr_agent:walkthrough`)
   - Keep all section headers exactly as they appear in the template
   - Don't add custom sections that aren't in the template

4. **Draft PRs**: Start as draft when the work is in progress
   - Use `--draft` flag in the command
   - Convert to ready for review when complete using `gh pr ready`

### Common Mistakes to Avoid

1. **Incorrect Section Headers**: Always use the exact section headers from the template
2. **Modifying PR-Agent Sections**: Don't remove or modify the `pr_agent:summary` and `pr_agent:walkthrough` placeholders
3. **Adding Custom Sections**: Stick to the sections defined in the template
4. **Using Outdated Templates**: Always refer to the current `.github/pull_request_template.md` file

### Missing Sections

Always include all template sections, even if some are marked as "N/A" or "None"

## Additional GitHub CLI PR Commands

Here are some additional useful GitHub CLI commands for managing PRs:

```bash
# List your open pull requests
gh pr list --author "@me"

# Check PR status
gh pr status

# View a specific PR
gh pr view <PR-NUMBER>

# Check out a PR branch locally
gh pr checkout <PR-NUMBER>

# Convert a draft PR to ready for review
gh pr ready <PR-NUMBER>

# Add reviewers to a PR
gh pr edit <PR-NUMBER> --add-reviewer username1,username2

# Merge a PR
gh pr merge <PR-NUMBER> --squash
```

## Using Templates for PR Creation

To simplify PR creation with consistent descriptions, you can create a template file:

1. Create a file named `pr-template.md` with your PR template
2. Use it when creating PRs:

```bash
gh pr create --title "feat(scope): Your title" --body-file pr-template.md --base main --draft
```

## Related Documentation

- [PR Template](.github/pull_request_template.md)
- [Conventional Commits](https://www.conventionalcommits.org/)
- [GitHub CLI documentation](https://cli.github.com/manual/)

© davila7 · MIT · davila7/claude-code-templates

Similar slash commands

All slash commands for Git and GitHub →

From the same set361

The whole set →

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor