commit-pr
SKILL.md
When to Use
- User explicitly runs
/commit-prcommand - User asks to "commit and create a PR"
- User wants to submit changes for review
Prerequisites
ghCLI must be installed and authenticated- Repository must be hosted on GitHub
# Verify gh is available and authenticated
gh auth status
Execution Flow
Step 1: Execute Commit Flow
First, execute the full /commit workflow:
- Analyze changes (
git status,git diff) - Generate commit message (Conventional Commits)
- Stage and commit
- Push to remote
See .claude/skills/commit/SKILL.md for details.
Step 2: Gather PR Context
# Get current branch
git branch --show-current
# Get base branch (usually main)
git symbolic-ref refs/remotes/origin/HEAD | sed 's@^refs/remotes/origin/@@'
# Get all commits in this branch (not in base)
git log origin/main..HEAD --oneline
# Get full diff against base
git diff origin/main...HEAD --stat
Step 3: Generate PR Content
Title: Based on the commit message or branch purpose
- If single commit: Use commit message as title
- If multiple commits: Summarize the feature/fix
Body: Structured summary using this template:
## Summary
<1-3 bullet points describing the changes>
## Test plan
- [ ] <Testing checklist items>
---
Generated with [Claude Code](https://claude.ai/code)
Step 4: Create Pull Request
gh pr create --title "<title>" --body "$(cat <<'EOF'
## Summary
- <change 1>
- <change 2>
## Test plan
- [ ] <test item 1>
- [ ] <test item 2>
---
Generated with [Claude Code](https://claude.ai/code)
EOF
)"
Optional flags:
--base <branch>- Target branch (default: main)--draft- Create as draft PR--label <label>- Add labels--assignee @me- Assign to self--reviewer <user>- Request review
Step 5: Verify and Report
# Get PR URL
gh pr view --web
Output Format
After successful execution, display:
Commit: <hash> <type>(<scope>): <subject>
Branch: <branch-name> -> main
PR: #<number> <title>
URL: https://github.com/<org>/<repo>/pull/<number>
Status: Ready for review
PR Title Guidelines
| Commit Type | PR Title Example |
|---|---|
feat |
Add ISBN validation to book creation |
fix |
Fix token refresh race condition |
refactor |
Extract validation logic to service |
docs |
Update API documentation |
test |
Add unit tests for book handler |
Rules:
- Capitalize first letter
- No period at end
- Be descriptive but concise
- Include scope if helpful
PR Body Guidelines
Summary Section
- 1-3 bullet points
- Focus on WHAT and WHY
- Link to issues if applicable:
Closes #123
Test Plan Section
- List manual testing steps
- Note any automated tests added
- Include edge cases to verify
Example Body
## Summary
- Add ISBN-10 and ISBN-13 validation in CreateBookHandler
- Implement checksum verification for both formats
- Add descriptive error messages for invalid ISBNs
Closes #234
## Test plan
- [ ] Create book with valid ISBN-10
- [ ] Create book with valid ISBN-13
- [ ] Verify error for invalid checksum
- [ ] Verify error for malformed ISBN
---
Generated with [Claude Code](https://claude.ai/code)
Edge Cases
PR Already Exists
# Check if PR exists for current branch
gh pr list --head $(git branch --show-current)
If PR exists, show link instead of creating new one.
Branch Not Pushed
The commit flow handles this automatically with git push -u origin <branch>.
No GitHub Remote
Error: Repository doesn't have a GitHub remote.
This command requires a GitHub-hosted repository.
gh Not Authenticated
Error: GitHub CLI not authenticated.
Run: gh auth login
Commands Reference
# GitHub CLI
gh auth status # Check authentication
gh pr create --title "..." --body "..." # Create PR
gh pr list --head <branch> # Check existing PRs
gh pr view --web # Open PR in browser
gh pr view --json url # Get PR URL
# Git context
git branch --show-current # Current branch
git log origin/main..HEAD --oneline # Commits in branch
git diff origin/main...HEAD --stat # Changes summary
Related Skills
- commit: Base commit and push workflow
- conventional-commits: Commit message format
Workflow Example
User: /commit-pr
Claude:
1. [Runs git status, git diff]
2. [Analyzes changes]
3. [Generates commit message]
Committing: feat(library/book): add ISBN validation
4. [git add . && git commit]
5. [git push -u origin feature/isbn-validation]
Pushed to origin/feature/isbn-validation
6. [Generates PR content]
7. [gh pr create]
Commit: a1b2c3d feat(library/book): add ISBN validation
Branch: feature/isbn-validation -> main
PR: #42 Add ISBN validation to book creation
URL: https://github.com/org/repo/pull/42
Status: Ready for review
Weekly Installs
3
Repository
avvale/aurora-frontFirst Seen
14 days ago
Security Audits
Installed on
opencode3
gemini-cli3
github-copilot3
amp3
cline3
codex3