Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Adversarial code review using the opposite model. Spawns 1–3 reviewers on the opposing model (Claude spawns Codex, Codex spawns Claude) to challenge work from distinct critical lenses. Triggers: "adversarial review".
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | 41% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -2% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 40% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 3% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 10% | 0% |
Spawn reviewers on the opposite model to challenge work. Reviewers attack from distinct lenses grounded in brain principles. The deliverable is a synthesized verdict — do NOT make changes.
Hard constraint: Reviewers MUST run via the opposite model's CLI (codex exec or claude -p). Do NOT use subagents, the Agent tool, or any internal delegation mechanism as reviewers — those run on your own model, which defeats the purpose.
Read references/reviewer-lenses.md. The three lenses (Skeptic, Architect, Minimalist) and their mapped principles govern reviewer judgments. If a brain/principles.md file exists, also read it and follow any [[wikilink]] references for additional principles.
Identify what to review from context (recent diffs, referenced plans, user message).
Determine the intent — what the author is trying to achieve. This is critical: reviewers challenge whether the work achieves the intent well, not whether the intent is correct. State the intent explicitly before proceeding.
Assess change size:
| Size | Threshold | Reviewers | |------|-----------|-----------| | Small | < 50 lines, 1–2 files | 1 (Skeptic) | | Medium | 50–200 lines, 3–5 files | 2 (Skeptic + Architect) | | Large | 200+ lines or 5+ files | 3 (Skeptic + Architect + Minimalist) |
Read references/reviewer-lenses.md for lens definitions.
Create a temp directory for reviewer output:
shREVIEW_DIR=$(mktemp -d /tmp/adversarial-review.XXXXXX)
Determine which model you are, then spawn reviewers on the opposite:
If you are Claude → spawn Codex reviewers via codex exec:
shcodex exec --skip-git-repo-check -o "$REVIEW_DIR/skeptic.md" "prompt" 2>/dev/null
Use --profile edit only if the reviewer needs to run tests. Default to read-only. Run with run_in_background: true, monitor via TaskOutput with block: true, timeout: 600000.
If you are Codex → spawn Claude reviewers via claude CLI:
shclaude -p "prompt" > "$REVIEW_DIR/skeptic.md" 2>/dev/null
Run with run_in_background: true.
Name each output file after the lens: skeptic.md, architect.md, minimalist.md.
Each reviewer gets a single prompt containing:
validate the work. Be specific — cite files, lines, and concrete failure scenarios. Rate each finding: high (blocks ship), medium (should fix), low (worth noting). Write findings as a numbered markdown list to your output file."
Spawn all reviewers in parallel.
Before reading reviewer output, log which CLI was used and confirm the output files exist:
shecho "reviewer_cli=codex|claude" ls "$REVIEW_DIR"/*.md
If any output file is missing or empty, note the failure in the verdict — do not silently skip a reviewer.
Read each reviewer's output file from $REVIEW_DIR/. Deduplicate overlapping findings. Produce a single verdict:
## Intent
<what the author is trying to achieve>
## Verdict: PASS | CONTESTED | REJECT
<one-line summary>
## Findings
<numbered list, ordered by severity (high → medium → low)>
For each finding:
- **[severity]** Description with file:line references
- Lens: which reviewer raised it
- Principle: which brain principle it maps to
- Recommendation: concrete action, not vague advice
## What Went Well
<1–3 things the reviewers found no issue with — acknowledge good work>Verdict logic:
After synthesizing the reviewers, apply your own judgment. Using the stated intent and brain principles as your frame, state which findings you would accept and which you would reject — and why. Reviewers are adversarial by design; not every finding warrants action. Call out false positives, overreach, and findings that mistake style for substance.
Append to the verdict:
## Lead Judgment
<for each finding: accept or reject with a one-line rationale>Other measured skills in the registry, with their headline benchmark lift.