| name | Branch: Review |
| description | {{ ๐๐๐ }} Assess branch readiness for PR submission |
| when_to_use | Before opening a PR, when you want a readiness verdict on commit quality, diff size, and branch naming grounded in exact git facts rather than a skim. |
| model | opus |
| disable-model-invocation | true |
| allowed-tools | ["Read","Glob","Grep","Bash(git:*)","Bash(~/.claude/library/scripts/branch-facts.sh:*)"] |
Assess whether this branch is ready to be submitted as a reviewable pull request.
Analysis Steps
- Gather the exact numbers first:
"$HOME"/.claude/library/scripts/branch-facts.sh [base] emits JSON (ahead/behind, conventional-commit and branch-name compliance, WIP commits, diff size, conflict markers, TODOs and console.logs added, test files touched, svu bump). Judge from these facts; the steps below are the judgement layer, not fact-gathering to repeat by hand.
- Identify the base branch (usually
main) and list all commits since diverging
- Review the full diff for:
- Incomplete work (half-implemented features, placeholder logic)
- Obvious bugs or unhandled edge cases
- Code quality issues that would block a reviewer
- Check commit history:
- Conventional commit compliance (
type(scope): description)
- Logical atomicity โ each commit should represent one coherent change
- No WIP, fixup, or junk commits that should have been cleaned up
- Check branch name against naming conventions:
- Format:
<prefix>/<short-description> (lowercase, hyphens, imperative)
- Valid prefixes:
feat, fix, enhance, refactor, types, perf, styles, layout, docs, test, deps, config, build, agents, chore, ci, deploy, spike, experiment, wip, hotfix
- Breaking change branches should use
<prefix>/breaking-<description>
- Scan for anti-patterns:
- Debugging artefacts (
console.log, commented-out code)
- Unresolved conflict markers (
<<<<<<<, =======, >>>>>>>)
TODO / FIXME comments introduced in this branch
- Diff size >500 lines (flag for possible split)
- Detect breaking changes:
- Removed or renamed exports, functions, types, or components
- Changed function signatures (required parameters added/reordered)
- Modified return types in a widening direction
- Database schema changes (columns removed/renamed, constraints changed)
- HTTP API changes (routes, methods, request/response shapes)
- New required environment variables
- Changed component props (removed, renamed, type-changed, newly required)
Output Format
Verdict
One of: Ready | Needs Work | Blocked
Branch Health
- Branch name compliance
- Commit message quality
- Commit atomicity
Code Quality Flags
Specific issues found, with file and line references where possible. Omit this section if none found.
Breaking Changes
Any detected breaking changes with context. Flag format:
โ ๏ธ Breaking change โ consider feat!: or BREAKING CHANGE: footer
Omit this section if none found.
Recommended Next Steps
Ordered list โ blockers first, then improvements, then nice-to-haves.
If the verdict is Ready, offer to run /git:pull-request immediately.