Reviews local diffs and GitHub pull requests across correctness, maintainability, architecture, security, and performance. Use before merging, when auditing changed files, when triaging PR comments, or when you want structured multi-axis review with optional parallel axis passes and inline review comments.
Review changed code across five axes:
Approve when the change clearly improves overall code health. Do not block on personal taste. Do not approve blindly. Prefer discrete, actionable findings over exhaustive commentary.
Choose these three settings before reviewing:
If a local checkout exists during GitHub review, only treat it as authoritative when it matches the PR head SHA.
Separate reviewing from posting. Draft findings first, then publish only in the requested delivery mode.
Identify:
AGENTS.md, repo docs, or module-specific conventionsIf required context is missing and retrievable, fetch it.
If it is missing and not retrievable, mark the review [blocked] instead of guessing.
Review every changed file, including tests. Use pre-computed artifacts if available; otherwise obtain the diff directly.
Local defaults:
git diffgit diff --cachedgit diff $(git merge-base HEAD <base-branch>)..HEADFor GitHub PR review, read references/github-review.md.
Review all five axes in one pass.
After the scope is fixed, launch one read-only sub-agent per axis. Each sub-agent must:
Axis files for sub-agents:
references/axes/correctness.mdreferences/axes/maintainability.mdreferences/axes/architecture.mdreferences/axes/security.mdreferences/axes/performance.mdThe main agent is responsible for synthesis.
Before returning or posting findings, confirm:
If posting to GitHub, verify inline anchors against the current PR diff before sending comments.
Check whether the change behaves as intended under normal and failure conditions.
Check whether the code will be easy to understand and safely change later.
Check whether the change fits the surrounding system.
Check how the change handles untrusted input, permissions, secrets, and data exposure.
Check for avoidable latency, load, and memory cost.
Unless the caller requests a different format, return:
One of:
approverequest changescomment only[blocked]For each finding, include:
Keep findings brief and concrete.
List missing or unclear evidence such as:
Only include clearly useful non-blocking suggestions.
Read additional references only when needed:
references/behaviour-communication.md for comment style, severity, and disagreement handlingreferences/github-review.md for GitHub PR retrieval, inline anchors, stale comment handling, and posting rulesreferences/dead-code-and-simplifying.md when the review surfaces dead code, speculative abstraction, legacy fallbacks, or cleanup opportunitiesKeep the core review logic in this file. Use reference files for optional detail, not for core behavior.