mcpField
G
github-pr

github-pr

github.com/gentleman-programmingDevelopment661203 installsUpdated 31w ago
Repository

About github-pr

github-pr is a skill for preparing and creating GitHub pull requests with the GitHub CLI. It covers conventional titles, structured descriptions, atomic commits, and review-related options.

Key features

  1. 01Conventional PR title patterns
  2. 02Structured PR description template
  3. 03Atomic commit guidance
  4. 04gh pr create command examples
  5. 05Reviewer, label, and draft options
  6. 06Guidance against vague or oversized PRs

Use cases

  1. 01Writing a clear PR title and description
  2. 02Creating a draft PR with gh
  3. 03Preparing changes as atomic commits
  4. 04Adding reviewers or labels to a PR

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/gentleman-programming/gentleman-skills --skill github-pr

After installing, type/github-prin Claude Code to confirm it loaded.

Details

From the project README

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

TaskCommand
Create PRgh pr create -t "type: desc" -b "body"
Draft PRgh pr create --draft
Web editorgh pr create --web
Add reviewer--reviewer user1,user2
Add label--label bug,high-priority
Link issueCloses #123 in body
View statusgh pr status
Merge squashgh pr merge --squash

Resources

Comments

Markdown supported