Create Pull Request
Create professional GitHub pull requests with proper conventions
✨ The solution you've been looking for
Create a GitHub pull request following project conventions. Use when the user asks to create a PR, submit changes for review, or open a pull request. Handles commit analysis, branch management, and PR creation using the gh CLI tool.
See It In Action
Interactive preview & real-world examples
AI Conversation Simulator
See how users interact with this skill
User Prompt
I've finished implementing the user authentication feature on my auth-improvements branch. Can you help me create a pull request?
Skill Processing
Analyzing request...
Agent Response
A well-structured PR with proper title, description following project template, linked issues, and all pre-flight checks completed
Quick Start (3 Steps)
Get up and running in minutes
Install
claude-code skill install create-pull-request
claude-code skill install create-pull-requestConfig
First Trigger
@create-pull-request helpCommands
| Command | Description | Required Args |
|---|---|---|
| @create-pull-request feature-branch-pr-creation | Create a comprehensive PR for a new feature with proper documentation and testing checklist | None |
| @create-pull-request bug-fix-pull-request | Submit a targeted bug fix with clear problem description and test verification | None |
| @create-pull-request draft-pr-for-early-review | Create a draft PR to get early feedback on work-in-progress changes | None |
Typical Use Cases
Feature Branch PR Creation
Create a comprehensive PR for a new feature with proper documentation and testing checklist
Bug Fix Pull Request
Submit a targeted bug fix with clear problem description and test verification
Draft PR for Early Review
Create a draft PR to get early feedback on work-in-progress changes
Overview
Create Pull Request
This skill guides you through creating a well-structured GitHub pull request that follows project conventions and best practices.
Prerequisites Check
Before proceeding, verify the following:
1. Check if gh CLI is installed
1gh --version
If not installed, inform the user:
The GitHub CLI (
gh) is required but not installed. Please install it:
- macOS:
brew install gh- Other: https://cli.github.com/
2. Check if authenticated with GitHub
1gh auth status
If not authenticated, guide the user to run gh auth login.
3. Verify clean working directory
1git status
If there are uncommitted changes, ask the user whether to:
- Commit them as part of this PR
- Stash them temporarily
- Discard them (with caution)
Gather Context
1. Identify the current branch
1git branch --show-current
Ensure you’re not on main or master. If so, ask the user to create or switch to a feature branch.
2. Find the base branch
1git remote show origin | grep "HEAD branch"
This is typically main or master.
3. Analyze recent commits relevant to this PR
1git log origin/main..HEAD --oneline --no-decorate
Review these commits to understand:
- What changes are being introduced
- The scope of the PR (single feature/fix or multiple changes)
- Whether commits should be squashed or reorganized
4. Review the diff
1git diff origin/main..HEAD --stat
This shows which files changed and helps identify the type of change.
Information Gathering
Before creating the PR, you need the following information. Check if it can be inferred from:
- Commit messages
- Branch name (e.g.,
fix/issue-123,feature/new-login) - Changed files and their content
If any critical information is missing, use ask_followup_question to ask the user:
Required Information
- Related Issue Number: Look for patterns like
#123,fixes #123, orcloses #123in commit messages - Description: What problem does this solve? Why were these changes made?
- Type of Change: Bug fix, new feature, breaking change, refactor, cosmetic, documentation, or workflow
- Test Procedure: How was this tested? What could break?
Example clarifying question
If the issue number is not found:
I couldn’t find a related issue number in the commit messages or branch name. What GitHub issue does this PR address? (Enter the issue number, e.g., “123” or “N/A” for small fixes)
Git Best Practices
Before creating the PR, consider these best practices:
Commit Hygiene
- Atomic commits: Each commit should represent a single logical change
- Clear commit messages: Follow conventional commit format when possible
- No merge commits: Prefer rebasing over merging to keep history clean
Branch Management
Rebase on latest main (if needed):
1git fetch origin 2git rebase origin/mainSquash if appropriate: If there are many small “WIP” commits, consider interactive rebase:
1git rebase -i origin/mainOnly suggest this if commits appear messy and the user is comfortable with rebasing.
Push Changes
Ensure all commits are pushed:
1git push origin HEAD
If the branch was rebased, you may need:
1git push origin HEAD --force-with-lease
Create the Pull Request
IMPORTANT: Read and use the PR template at .github/pull_request_template.md. The PR body format must strictly match the template structure. Do not deviate from the template format.
When filling out the template:
- Replace
#XXXXwith the actual issue number, or keep as#XXXXif no issue exists (for small fixes) - Fill in all sections with relevant information gathered from commits and context
- Mark the appropriate “Type of Change” checkbox(es)
- Complete the “Pre-flight Checklist” items that apply
Create PR with gh CLI
1gh pr create --title "PR_TITLE" --body "PR_BODY" --base main
Alternatively, create as draft if the user wants review before marking ready:
1gh pr create --title "PR_TITLE" --body "PR_BODY" --base main --draft
Post-Creation
After creating the PR:
- Display the PR URL so the user can review it
- Remind about CI checks: Tests and linting will run automatically
- Suggest next steps:
- Add reviewers if needed:
gh pr edit --add-reviewer USERNAME - Add labels if needed:
gh pr edit --add-label "bug"
- Add reviewers if needed:
Error Handling
Common Issues
No commits ahead of main: The branch has no changes to submit
- Ask if the user meant to work on a different branch
Branch not pushed: Remote doesn’t have the branch
- Push the branch first:
git push -u origin HEAD
- Push the branch first:
PR already exists: A PR for this branch already exists
- Show the existing PR:
gh pr view - Ask if they want to update it instead
- Show the existing PR:
Merge conflicts: Branch conflicts with base
- Guide user through resolving conflicts or rebasing
Summary Checklist
Before finalizing, ensure:
-
ghCLI is installed and authenticated - Working directory is clean
- All commits are pushed
- Branch is up-to-date with base branch
- Related issue number is identified, or placeholder is used
- PR description follows the template exactly
- Appropriate type of change is selected
- Pre-flight checklist items are addressed
What Users Are Saying
Real feedback from the community
Environment Matrix
Dependencies
Context Window
Security & Privacy
Information
- Author
- cline
- Updated
- 2026-01-30
- Category
- automation-tools
Related Skills
Create Pull Request
Create a GitHub pull request following project conventions. Use when the user asks to create a PR, …
View Details →Pr Creator
Use this skill when asked to create a pull request (PR). It ensures all PRs follow the repository's …
View Details →Pr Creator
Use this skill when asked to create a pull request (PR). It ensures all PRs follow the repository's …
View Details →