Skillshub github-pr
install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/Gentleman-Programming/Gentleman-Skills/github-pr" ~/.claude/skills/comeonoliver-skillshub-github-pr && rm -rf "$T"
manifest:
skills/Gentleman-Programming/Gentleman-Skills/github-pr/SKILL.mdsource content
When to Use
- Creating a new Pull Request
- Writing PR titles and descriptions
- Preparing commits for review
- Using
commandgh pr create
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  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 | |
| Draft PR | |
| Web editor | |
| Add reviewer | |
| Add label | |
| Link issue | in body |
| View status | |
| Merge squash | |