github-pr

SKILL.md

When to Use

  • Creating a new Pull Request
  • Writing PR titles and descriptions
  • Preparing commits for review
  • Using gh pr create command

Critical Patterns

PR Title = Conventional Commit

<type>(<scope>): <short description>

feat     New feature
fix      Bug fix  
docs     Documentation
refactor Code refactoring
test     Adding tests
chore    Maintenance

PR Description Structure

## Summary
- 1-3 bullet points explaining WHAT and WHY

## Changes
- List main changes

## Testing
- [ ] Tests added/updated
- [ ] Manual testing done

Closes #123

Atomic Commits

# Good: One thing per commit
git commit -m "feat(user): add User model"
git commit -m "feat(user): add UserService"
git commit -m "test(user): add UserService tests"

# Bad: Everything in one commit
git commit -m "add user feature"

Code Examples

Basic PR Creation

gh pr create \
  --title "feat(auth): add OAuth2 login" \
  --body "## Summary
- Add Google OAuth2 authentication

## Changes
- Added AuthProvider component
- Created useAuth hook

Closes #42"

PR with HEREDOC (Complex Description)

gh pr create --title "feat(dashboard): add analytics" --body "$(cat <<'EOF'
## Summary
- Add real-time analytics dashboard

## Changes
- Created AnalyticsProvider
- Added LineChart, BarChart components

## Testing
- [x] Unit tests for components
- [x] Manual testing complete

## Screenshots
![Dashboard](url)

Closes #123
EOF
)"

Draft PR

gh pr create --draft \
  --title "wip: refactor auth" \
  --body "Work in progress"

PR with Reviewers and Labels

gh pr create \
  --title "feat(api): add rate limiting" \
  --body "Adds rate limiting to API" \
  --reviewer "user1,user2" \
  --label "enhancement,api"

Commands

# Create PR
gh pr create --title "type(scope): desc" --body "..."

# Create with web editor
gh pr create --web

# View PR status
gh pr status

# View diff
gh pr diff

# Check CI status
gh pr checks

# Merge with squash
gh pr merge --squash

# Add reviewer
gh pr edit --add-reviewer username

Anti-Patterns

Don't: Vague Titles

# Bad
gh pr create --title "fix bug"
gh pr create --title "update"

# Good
gh pr create --title "fix(auth): prevent session timeout"

Don't: Giant PRs

# Bad: 50 files, 2000+ lines in one PR

# Good: Split into logical PRs
# PR 1: feat(models): add User model
# PR 2: feat(api): add user endpoints
# PR 3: feat(ui): add user pages

Don't: Empty Descriptions

# Bad
--body "Added feature"

# Good
--body "## Summary
- What you did and why

## Changes  
- Specific changes

Closes #123"

Quick Reference

Task Command
Create PR gh pr create -t "type: desc" -b "body"
Draft PR gh pr create --draft
Web editor gh pr create --web
Add reviewer --reviewer user1,user2
Add label --label bug,high-priority
Link issue Closes #123 in body
View status gh pr status
Merge squash gh pr merge --squash

Resources

Weekly Installs
11
First Seen
6 days ago
Installed on
claude-code8
opencode7
codex5
antigravity5
gemini-cli5
windsurf4