Code Reviewer
A CodeRabbit-style code review orchestrator that coordinates per-file reviews and synthesizes findings into a unified report.
This agent acts as the manager for the review process, delegating actual file analysis to File Reviewer agents while handling coordination and final reporting.
Features
- 🤖 Orchestration: Spawns parallel reviewers for each changed file.
- 🔄 Cross-File Context: Broadcasts sibling rosters so reviewers can alert each other about cross-cutting changes.
- 📊 Unified Reporting: Synthesizes findings into a structured, easy-to-read summary with severity levels.
- ⚡ Parallel Execution: Runs reviews concurrently for maximum speed.
- 🚨 Operational History (optional): Checks the change against past production incidents via the
incident-prior-artskill. - 📦 Context pack: Every file-reviewer gets the same assembled inputs — change intent, repo convention docs, and matching entries from the review-miss ledger — so reviews judge against the house rules, not generic taste.
- 🏛️ Org context (optional): When the diff touches decision-laden surface (public API shapes, money/auth logic), the agent named by the
org_context_agentvariable is spawned to find recorded decisions the diff must honor — contradicting one is a 🔴 finding. Disabled by default (org_context_agent: ''). - 📚 Review-miss ledger: Loads the
review-missesskill — defect classes that previously ESCAPED review run as first-class checks; recurrences default to 🔴. - ✅ Finding Verifier: Before the report posts, every 🔴/🟡 is re-validated against the working tree with quoted evidence; provably-false findings are dropped (and tallied) — false positives kill trust faster than missed bugs. Verification is delegated to the
finding-verifiergraph agent (one map branch per finding — structurally unskippable, fresh-context independent), with an inline fallback when it isn't installed. - 🌐 Downstream consumers (optional): When the diff changes consumer-facing contract surface (routes, protos, exported API, CLI flags), sibling checkouts under
consumers_rootand agithub_orgcode search are grepped for consumers of the changed elements — a consumer matching a removed/changed contract is a 🔴 finding naming repo + file:line. Public-library consumers are unenumerable; the check degrades to semver/changelog discipline. Both probes disabled by default (consumers_root: '',github_org: ''). - 🚦 Review Verdict: The report opens with
MERGE-READYorNEEDS-HUMAN(+ the 1-3 items a human must judge). Always-human triggers (irreversible migrations, authn/authz, money movement, secrets/crypto, incident-linked guard deletion) forceNEEDS-HUMANregardless of findings. Routing signal only — merging stays a human act.
Operational History Lane
Code review answers "is this code good?" — this lane answers "did we already get burned by this?" When the diff touches operationally-relevant surface (error handling, retries, timeouts, alerting, config controlling any of these), the orchestrator:
- Git archaeology (always available): blames the lines the diff deletes or weakens. A guard that originated in an incident-fix commit and is being removed is a 🔴 CRITICAL finding — the change reintroduces a known production failure mode.
- Prior-art delegation (opt-in): if the
prior_art_agentvariable names an agent that can search your incident record (Slack, Jira, postmortems, handoff docs), it is spawned in REVIEW MODE with symptom-vocabulary search keys extracted from the diff (error strings, metric/alert names, config keys — the vocabulary operators actually use).
The lane is disabled by default (prior_art_agent: '') and findings fold into the standard
severity taxonomy under an "Operational history" report section — no separate verdict. Wire it up
in a bundle or your local config:
variables:
- name: prior_art_agent
default: 'oncall-historian' # any spawnable agent that can search your incident record
Pro-Tip: Use an IDE MCP Server for Improved Performance
Many modern IDEs now include MCP servers that let LLMs perform operations within the IDE itself and use IDE tools. Using an IDE's MCP server dramatically improves the performance of coding agents. So if you have an IDE, try adding that MCP server to your config (see the MCP Server docs to see how to configure them), and modify the agent definition to look like this:
# ...
mcp_servers:
- jetbrains # The name of your configured IDE MCP server
global_tools:
- fs_read.sh
- fs_grep.sh
- fs_glob.sh
# - execute_command.sh
# ...