--- name: review description: Review a GitHub pull request; defaults to the current branch's PR when no number is given user-invocable: true argument-hint: "[#N]" allowed-tools: Bash, Read, Grep, Glob --- # Review a Pull Request Review a GitHub PR. When no number is given, review the PR for the current branch. > For reviewing your uncommitted working diff instead, use `/code-review`. ## Current Branch Context - Branch: !`git branch --show-current` - PR for this branch: !`gh pr view --json number,title,state,url --jq '"#\(.number) \(.title) [\(.state)] \(.url)"' 2>/dev/null || echo "none"` ## Arguments - `$ARGUMENTS` - PR number to review (optional, e.g., `#42` or `42`). ## Instructions 1. **Resolve which PR to review:** - If `$ARGUMENTS` contains a number, review that PR. - Otherwise, use the current branch's PR shown in the context above. - If neither yields a PR (no argument and the branch has no open PR), run `gh pr list` and ask the user which one to review. Do NOT guess. 2. **Load the PR:** ```bash gh pr view --json number,title,body,state,headRefName,baseRefName,url gh pr diff ``` 3. **Review the diff** against this project's standards (see `.claude/CLAUDE.md` and `.claude/rules/`): - Bash 3.0+ compatibility (no `declare -A`, `[[ ]]`, `${var,,}`, negative indexing, `&>>`) - Tests exist and follow TDD; both success and failure paths covered - Naming, namespacing (`bashunit::*` / `_private`), and dynamic-scope safety - ShellCheck cleanliness and 2-space indentation (`make lint`, not `shfmt`) - CHANGELOG.md updated for user-facing changes 4. **Report findings** grouped by severity (blocker / suggestion / nit), each as `path:line — problem. fix.`. No praise, no scope creep. State plainly if the PR looks good.