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.
View on GitHubFebruary 5, 2026
Select agents to install to:
npx add-skill https://github.com/cline/cline/blob/4c07df370bb355e6830727320d405a8e690fe21e/.cline/skills/create-pull-request/SKILL.md -a claude-code --skill create-pull-requestInstallation paths:
.claude/skills/create-pull-request/# 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 ```bash gh --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 ```bash gh auth status ``` If not authenticated, guide the user to run `gh auth login`. ### 3. Verify clean working directory ```bash git 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 ```bash git 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 ```bash git remote show origin | grep "HEAD branch" ``` This is typically `main` or `master`. ### 3. Analyze recent commits relevant to this PR ```bash git 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 ```bash git 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 1. **Related Issue Number**: Look for patterns like `#123`, `fixes #123`, or `closes #1