This plugin uses a courier pattern: haiku subagents format templates, call external models (Codex CLI, Gemini CLI), capture responses, and return raw findings to the main session (opus) for synthesis.
| Role | Model | What it does |
|---|---|---|
| Courier (adversarial skills) | haiku | Formats template → calls external CLI → returns raw output |
| Analyzer (prompt-optimize) | inherit | Runs analysis using main session's model |
| Router (review-all) | haiku | Classifies input → returns routing decision |
| Synthesizer (main session) | opus | Cross-validates, flags disagreements, produces unified output |
Courier agents (haiku) MUST:
- Never analyze the input themselves
- Never modify the external model's response
- Always try the full fallback chain (Codex → Gemini → inform user)
- Always clean up temp files, even on error
- Always include which model was used in the return payload
- Always include synthesis instructions for the main session
Every finding in the final synthesis MUST include:
- Severity: P0 (critical) / P1 (high) / P2 (medium) / P3 (low)
- Evidence: direct quote, line reference, or concrete scenario
- Recommendation: specific, actionable fix
When the main session synthesizes external model findings:
[cross-validated]— both Claude and external model agree (high confidence)[external-only]— only external model caught this (needs review)[claude-only]— only Claude caught this (needs review)[severity disagreement]— models disagree on severity (take higher)
| Level | Meaning | Action |
|---|---|---|
| P0 | Critical — exploitable, data loss, security breach | Must fix before merge/deploy |
| P1 | High — significant risk, likely failure mode | Should fix in this iteration |
| P2 | Medium — quality issue, minor risk | Fix when convenient |
| P3 | Low — style, minor optimization | Optional improvement |
See references/fallback-chain.md for detection and invocation patterns.
Order: Codex CLI (GPT-5.4) → Gemini CLI (gemini-2.5-pro) → inform user.
- When a review is clean, say so. Do not manufacture findings.
- When uncertain about severity, use confidence tags.
- When input is ambiguous, ask — don't guess.