/smith-review — review the current change until convergence
Review-only (no commit/push/merge). For the full pipeline use /smith-ship.
Live state
- Diff stat: !
git diff --stat - Branch: !
git branch --show-current
Procedure
Plugin-pass receipt (every round). A round MUST end with a one-line receipt
naming each Claude Code review tool and whether it ran:
coderabbit [ran/NA] · /code-review [ran/NA] · pr-review-toolkit:review-pr [ran/NA] · security-review [ran/NA] · code-simplifier [ran/NA]. NA needs a
one-word reason (e.g. NA:docs). The change is NOT converged until the receipt
shows every applicable tool ran. Disclosing a skipped tool is not a substitute
for running it (@smith-guidance close-gaps). Resist the bias to "use fewer
tools".
Mark coderabbit ran only on the evidence @smith-gh-pr "CodeRabbit fails
OPEN" defines: a completed status over a non-empty file list. Every tool needs
its own completion evidence (@smith-guidance close gaps: a missing signal is
never a passing signal).
Marshal ALL relevant review resources — both smith skills AND Claude Code plugins/skills — not just one tool. Pick every one that applies to the change:
- smith:
@smith-gh-pr(Code Review Cycle, Posting Review Findings),@smith-validation,@smith-tests,@smith-subagents,@smith-skills,@smith-standards,@smith-style, plus the language skills (@smith-python/@smith-typescript/@smith-nuxt/...) the diff touches. - Claude Code plugins/skills:
/code-review,/review-pr(pr-review-toolkit; its applicable agents), CodeRabbit,code-simplifier, and relevant reviewer subagents.
-
Self-audit against the applicable smith conventions first (cheap, no API call).
-
Full automated pass — run EVERY applicable tool above each round, not CodeRabbit alone; for code-bearing diffs include
/review-pr's multi-agent pass. Use the tools that fit the change; do not skip available reviewers to save effort.Effort level in iterative reviews: Use LOW effort for all convergence rounds:
/code-review low— quick check sufficient for iterative rounds- For
pr-review-toolkit:review-pr, include "use low effort level" in the subagent spawn prompt for consistency - Rationale: shallow levels return fast, high-confidence findings; deep effort reserved for single-pass pre-merge reviews
- Before final merge: consider one HIGH/MAX effort pass for thorough verification
One instance per tool per round: Run exactly ONE instance of each tool per round, not multiple in parallel. The tools internally parallelize their own subagents. Running multiple instances of the SAME tool is redundant and wastes tokens. This preserves tool coverage (line 48: "do not skip") while controlling cost through shallow effort depth, not fewer tools.
-
Verify, don't rubber-stamp — each finding is a claim; check it against the actual lines. For a bugfix, audit the execution path, not just style (
@smith-validationBugfix Discipline, Adversarial Verification). -
Fix & iterate — apply high-confidence fixes; re-review with the full set. Cost guard is bounded PER ROUND + verify findings (not fewer tools). Drive iteration as a
/loop/ralph loop that re-shares the relevant skills + diff each round (@smith-ralph,@smith-automation). -
Converge — these criteria are canonical here (referenced from
@smith-gh-prand@smith-ship): stop on a clean round (0 actionable) or 2 consecutive Info-only rounds, AND only once the latest round's plugin-pass receipt shows no applicable tool skipped. A flip-flopping reviewer (alternating contradicting verdicts without new evidence) is a terminal but NON-converged state: escalate the trade-off to the user and stop iterating — do not report converged. Report findings + verdict + the receipt in-band.
Delivery when a PR exists. Post findings to the PR per @smith-gh-pr
"Posting Review Findings" (inline comments anchored to lines, a committable
suggestion block REQUIRED whenever the fix is mechanical, PR-level only for
cross-cutting findings). Without an open PR, report findings in-band.
Restate the outcome in your own message; do not point at tool output.