SuperAPI AI Directory

review-panel

Coding & development

View repository

Updated 10-15 22:16

About this skill

review-panel

Delegate entirely to review-panel.sh — do not hand-run the reviewers or re-judge their verdicts.

When to use me (placement)

The panel is the pre-merge gate for a complex or elevated-risk diff (auth/privacy/cost/ data-loss/money/shared-contract) — three models are worth it when a mistake is asymmetric. It is not a per-task or after-every-change tool; running it on routine diffs burns tokens and trains you to skim findings. If the right timing/scope isn't obvious, run /review first — the orchestrator decides whether a panel is warranted vs a single /codex-review vs no review, sets the round budget, and dispatches here. Reserve the panel for one pass near merge, --focus-flagged at the actual risk.

Invocation

/review-panel [--base <ref> | --staged | --plan <file>] [--reviewers codex,gemini,claude] [--block-at 0-3] [--focus "…" | --focus-file <f>] [--strict] [--out <path>]

Rules (non-negotiable)

  • The scripts (review-panel.sh, merge.py) + sev.schema.json are committed and MUST NOT be edited during a review cycle. The implementer edits source, never the gate.
  • Do NOT re-judge the panel's verdict. A CRITICAL/IMPORTANT that survives the challenge round is fixed or escalated to a human — never argued away by this session.
  • Independence: the Claude reviewer runs as a fresh claude -p process; challenges are judged by other models. This session never reviews its own code.

Gate

Exit 0 clean · 1 blocking findings (fix or escalate) · 2 infra (a transient/reviewer failure or fewer than 2 reviewers — NOT clean) · 3 usage.

Cost

Default = 3 models × 1 diff; the challenge round fires only on cross-model disagreement and only re-asks the non-flagging models about specific findings. No loops.

Testing

Hermetic, no live model calls (the ~$60 lesson):

  • python3 .claude/skills/review-panel/tests/test_merge.py — unit tests for the pure merge.py. (Run the file directly; python3 -m unittest <path> fails because the path isn't a dotted module name.)
  • bash .claude/skills/review-panel/tests/run_integration.sh — usage gate, adapter-contract presence, and an offline end-to-end (buggy→1, clean→0, lone-refuted→0) driven by stub reviewers via REVIEW_PANEL_REVIEWER_DIR.

Set REVIEW_PANEL_LIVE=1 to additionally exercise the real reviewer CLIs (codex/gemini/claude) — the only path that spends model tokens. Absent CLIs are a clean SKIP.