Review It
Provide an independent, evidence-backed review of the complete intended change.
Stay read-only: do not edit, stage, commit, push, or create issues. Expert
perspectives may sharpen judgment but never replace this scope, severity model,
or output.
Preserve independence
When coordinating a review after authoring or orchestrating the change:
- Read and complete
references/review-handoff.md.
- Start a fresh subagent without inherited conversation context when possible.
- Pass the handoff and repository access, and activate
review-it there.
When already acting as that fresh reviewer, do not delegate again. Treat the
handoff as challengeable context, never as an expected verdict or scope limit.
Apply user-required perspectives, exclude forbidden ones, and select at most one
additional perspective only when its distinct lens materially improves the
review. Disclose unavailable required perspectives; never silently substitute.
If no fresh reviewer is available, perform the strongest local fallback, label
it non-independent, and reduce confidence. Report a blocker only when applicable
instructions require independence.
Establish the review scope
- Inspect repository instructions, Git state, the plan or goal, and the exact
candidate diff.
- Isolate the intended commit from unrelated work. Consider unrelated code
only when its interaction with the change matters.
- Reconstruct the outcome, decisions, and requested focus from evidence. Label
inference and never invent rationale.
- Inspect relevant callers, consumers, tests, public interfaces, dependency
declarations, and documentation; run useful read-only checks.
- Verify unfamiliar or version-sensitive library use against the installed
version and primary documentation.
Review lenses
- Behavior and safety: Find correctness defects, missed edge cases, broken
contracts, unsafe failure behavior, data risks, concurrency issues, and
regressions.
- Security and dependencies: Examine trust boundaries, authorization,
validation, privacy, secrets, supply-chain risk, dependency necessity, and
supported library patterns.
- Architecture and repository fit: Evaluate ownership, dependency direction,
cohesion, coupling, cycles, module boundaries, shared semantics, change
amplification, and repository conventions. Accept deliberate improvements;
classify broader convergence as Follow-up work.
- Interfaces, documentation, and comments: Prefer small, stable public
interfaces that hide implementation details. Require consumer-facing
contracts and comments only for durable, non-obvious rationale or constraints.
- Testability and tests: Prefer a functional core with an imperative shell:
pure transformations, explicit effect boundaries, and small fakes. Accept
mocks or spies only when interaction is the contract. Judge regression value,
refactoring resistance, speed, and maintainability.
- Growth and operability: Check whether the design supports the next
plausible change or scale step and exposes relevant failure modes without
speculative architecture.
Assess every lens, but report only evidence-backed findings with a credible
failure or maintenance consequence—never style nits or checklist narration.
Classify findings
- Blocking: A correctness, security, data-loss, or contract problem that
makes the candidate unsafe to advance.
- Important: A material design, test, documentation, or maintainability
problem introduced by the change that must be fixed before it advances.
- Follow-up: A valid broader, pre-existing, or future-facing improvement
that does not need to expand the current change.
Use Changes required when any Blocking or Important finding remains,
Review passed with follow-ups when only Follow-ups remain, and Review passed
when no material finding remains.
Report
**Verdict:** <Review passed | Review passed with follow-ups | Changes required>
**Bottom line:** <most important conclusion>
### Review context
- **Outcome:** <what the change achieves>
- **Decisions:** <material implementation decisions>
- **Review focus:** <where explicit reviewer feedback is valuable>
- **Expert perspectives:** <used perspectives and why; omit when unused>
### Findings
1. **[Blocking | Important] <finding>** — `<file:line>`
- **Impact:** <concrete consequence>
- **Recommendation:** <smallest sound improvement>
### Follow-ups
- **<topic>** — <why it matters outside the current change>
### Validation and confidence
- **Checked:** <evidence actually inspected or run>
- **Not verified:** <remaining evidence gaps>
Order findings by impact. Omit empty sections, but state when no material
findings remain.
1---2name: review-it3description: Independently review a completed code change or pull request and return prioritized, evidence-backed findings. Use before commit, after pull request updates, or when the user requests code review; stay read-only.4---56# Review It78Provide an independent, evidence-backed review of the complete intended change.9Stay read-only: do not edit, stage, commit, push, or create issues. Expert10perspectives may sharpen judgment but never replace this scope, severity model,11or output.1213## Preserve independence1415When coordinating a review after authoring or orchestrating the change:16171. Read and complete18 [references/review-handoff.md](references/review-handoff.md).192. Start a fresh subagent without inherited conversation context when possible.203. Pass the handoff and repository access, and activate `review-it` there.2122When already acting as that fresh reviewer, do not delegate again. Treat the23handoff as challengeable context, never as an expected verdict or scope limit.2425Apply user-required perspectives, exclude forbidden ones, and select at most one26additional perspective only when its distinct lens materially improves the27review. Disclose unavailable required perspectives; never silently substitute.2829If no fresh reviewer is available, perform the strongest local fallback, label30it non-independent, and reduce confidence. Report a blocker only when applicable31instructions require independence.3233## Establish the review scope34351. Inspect repository instructions, Git state, the plan or goal, and the exact36 candidate diff.372. Isolate the intended commit from unrelated work. Consider unrelated code38 only when its interaction with the change matters.393. Reconstruct the outcome, decisions, and requested focus from evidence. Label40 inference and never invent rationale.414. Inspect relevant callers, consumers, tests, public interfaces, dependency42 declarations, and documentation; run useful read-only checks.435. Verify unfamiliar or version-sensitive library use against the installed44 version and primary documentation.4546## Review lenses4748- **Behavior and safety:** Find correctness defects, missed edge cases, broken49 contracts, unsafe failure behavior, data risks, concurrency issues, and50 regressions.51- **Security and dependencies:** Examine trust boundaries, authorization,52 validation, privacy, secrets, supply-chain risk, dependency necessity, and53 supported library patterns.54- **Architecture and repository fit:** Evaluate ownership, dependency direction,55 cohesion, coupling, cycles, module boundaries, shared semantics, change56 amplification, and repository conventions. Accept deliberate improvements;57 classify broader convergence as Follow-up work.58- **Interfaces, documentation, and comments:** Prefer small, stable public59 interfaces that hide implementation details. Require consumer-facing60 contracts and comments only for durable, non-obvious rationale or constraints.61- **Testability and tests:** Prefer a functional core with an imperative shell:62 pure transformations, explicit effect boundaries, and small fakes. Accept63 mocks or spies only when interaction is the contract. Judge regression value,64 refactoring resistance, speed, and maintainability.65- **Growth and operability:** Check whether the design supports the next66 plausible change or scale step and exposes relevant failure modes without67 speculative architecture.6869Assess every lens, but report only evidence-backed findings with a credible70failure or maintenance consequence—never style nits or checklist narration.7172## Classify findings7374- **Blocking:** A correctness, security, data-loss, or contract problem that75 makes the candidate unsafe to advance.76- **Important:** A material design, test, documentation, or maintainability77 problem introduced by the change that must be fixed before it advances.78- **Follow-up:** A valid broader, pre-existing, or future-facing improvement79 that does not need to expand the current change.8081Use `Changes required` when any Blocking or Important finding remains,82`Review passed with follow-ups` when only Follow-ups remain, and `Review passed`83when no material finding remains.8485## Report8687```markdown88**Verdict:** <Review passed | Review passed with follow-ups | Changes required>8990**Bottom line:** <most important conclusion>9192### Review context9394- **Outcome:** <what the change achieves>95- **Decisions:** <material implementation decisions>96- **Review focus:** <where explicit reviewer feedback is valuable>97- **Expert perspectives:** <used perspectives and why; omit when unused>9899### Findings1001011. **[Blocking | Important] <finding>** — `<file:line>`102 - **Impact:** <concrete consequence>103 - **Recommendation:** <smallest sound improvement>104105### Follow-ups106107- **<topic>** — <why it matters outside the current change>108109### Validation and confidence110111- **Checked:** <evidence actually inspected or run>112- **Not verified:** <remaining evidence gaps>113```114115Order findings by impact. Omit empty sections, but state when no material116findings remain.