CtrlK
BlogDocsLog inGet started
Tessl Logo

github-pr

Create high-quality Pull Requests with conventional commits and proper descriptions. Trigger: When creating PRs, writing PR descriptions, or using gh CLI for pull requests.

62

Quality

73%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./curated/github-pr/SKILL.md
SKILL.md
Quality
Evals
Security

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

  • Conventional Commits
  • GitHub CLI Manual
Repository
Gentleman-Programming/Gentleman-Skills
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.