git-plugin/skills/github-pr-title/SKILL.md
Craft PR titles using conventional commits format. Use when creating PRs or ensuring consistent PR naming. PR titles MUST follow conventional commits to drive release-please automation and maintain consistent git history.
npx skillsauth add laurigates/claude-plugins github-pr-titleInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Craft clear PR titles using conventional commits format.
CRITICAL: PR titles must follow conventional commit format. This drives release-please version automation and ensures consistent git history when using squash-and-merge.
| Use this skill when... | Use the alternative when... |
|---|---|
| Authoring a type(scope): subject PR title that drives release-please automation | Use git-pr for the full PR creation workflow (body, labels, reviewers) |
| Renaming an existing PR title to fix release-please version-bump detection | Use git-commit-workflow to set the same conventions on commit messages |
| Selecting the right feat, fix, perf, refactor, chore type for a PR | Use github-issue-writing for issue titles (different [Type] Component: format) |
| Validating PR title format before merge to maintain clean git history | Use git-commit to fix already-committed message formats locally |
<type>(<scope>): <subject>
See Conventional Commits Standards for comprehensive format guide.
| Type | Use Case | Version Bump |
|------|----------|--------------|
| feat | New feature | Minor |
| fix | Bug fix | Patch |
| perf | Performance improvement | Patch |
| refactor | Code restructure (no behavior change) | None |
| docs | Documentation only | None |
| test | Tests | None |
| build | Build/deps | None |
| ci | CI config | None |
| chore | Maintenance | None |
Decision tree: Feature → feat | Bug → fix | Performance → perf | Restructure → refactor | Docs → docs | Everything else → chore
Optional component identifier. Keeps commits organized:
feat(auth): add OAuth support
fix(api): handle null response
docs(readme): update install steps
refactor(core): simplify error handling
Discover repo scopes:
gh pr list --state merged -L 30 --json title | jq -r '.[].title' | grep -oE '\([^)]+\)' | sort | uniq -c | sort -rn
Or from commits:
git log --format='%s' -n 50 | grep -oE '\([^)]+\)' | sort | uniq -c | sort -rn
Examples:
| ❌ Bad | ✅ Good |
|--------|---------|
| Added login button | add login button |
| Fixes the bug. | fix null pointer in auth |
| Update | update dependencies |
| Resolved Performance Issues | improve query performance |
Append ! before colon:
feat(api)!: remove deprecated endpoints
fix!: require Node.js 18+
refactor(db)!: change schema format
Breaking changes trigger major version bumps.
revert: feat(auth): add OAuth support
| Scenario | Template |
|----------|----------|
| Feature | feat(<scope>): add <what> |
| Bug fix | fix(<scope>): resolve <what> |
| Performance | perf(<scope>): optimize <what> |
| Docs | docs(<scope>): update <what> |
| Refactor | refactor(<scope>): simplify <what> |
| Deps | build(deps): bump <pkg> to <ver> |
| Breaking | feat(<scope>)!: change <what> |
Conventional commit PR titles ensure:
| Context | Command |
|---------|---------|
| Get commits | git log origin/main..HEAD --format='%s' -n 10 |
| Changed dirs | git diff origin/main..HEAD --name-only \| xargs dirname \| sort -u |
| Update title | gh pr edit N --title "new title" |
| Discover scopes | gh pr list --state merged -L 30 --json title \| jq -r '.[].title' \| grep -oE '\([^)]+\)' \| sort \| uniq |
For detailed rules, patterns, and troubleshooting, see Conventional Commits Standards.
testing
Verify accumulated bug claims at upstream HEAD and dedup against trackers before filing issues. Use when filing upstream reports from backlogs, audit docs, or git-history findings.
documentation
Gate outward-bound text (upstream issues, docs, PR bodies) through isolated haiku fresh-reader critique before publishing. Use when an artifact must survive a reader with zero project context.
tools
Suggest improvements to SKILL.md content, descriptions, or tool config from eval results. Use when raising pass rates, fixing triggering, or iterating on a skill after evaluation.
tools
deadbranch CLI for stale-branch cleanup — dry-run preview, TUI or non-interactive delete, protects main/develop/WIP. Use when asked to clean up branches, prune branches, or remove stale branches.