
Adversarial Review
Run structured pre-merge review through Architect, Skeptic, and Minimalist lenses instead of a single generic pass.
Overview
adversarial-review is an agent skill most often used in Ship (also Build and Operate) that runs Architect, Skeptic, and Minimalist review lenses on designs and implementations.
Install
npx skills add https://github.com/poteto/noodle --skill adversarial-reviewWhat is this skill?
- Three exclusive reviewer lenses: Architect (structure/coupling), Skeptic (correctness/edge cases), Minimalist (necessity
- Architect probes goal fit, coupling, boundary leaks, and scale/ordering assumptions
- Skeptic targets unhandled errors, races, unproven beliefs, and weak verification
- Minimalist demands deletions, resists premature abstraction, and favors shortest path to outcome
- Findings tie to named principles (prove-it-works, subtract-before-you-add, boundary-discipline)
- 3 distinct adversarial reviewer lenses
Adoption & trust: 853 installs on skills.sh; 154 GitHub stars; 1/3 security scanners passed (skills.sh audits).
What problem does it solve?
You need a second opinion before merge but one generic review misses structural flaws, hidden failure modes, and unnecessary complexity.
Who is it for?
Indie builders about to merge a non-trivial feature, refactor, or architecture change who want deliberate tension in review.
Skip if: Trivial typo fixes, pure copy edits, or situations where an approved spec only needs checklist formatting with no design risk.
When should I use this skill?
Before merge or when explicitly requesting structured multi-lens review of code, design, or plans.
What do I get? / Deliverables
You get categorized findings from three opposing lenses so you can fix boundaries, prove error paths, and cut scope before shipping.
- Lens-specific findings mapped to review principles
- Actionable challenges on structure, correctness, and scope
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Formal adversarial review belongs on the Ship shelf where quality gates and merge readiness live, even though the same lenses help earlier design checks. Review subphase is the canonical home for multi-perspective critique mapped to boundary discipline, correctness, and subtractive simplicity.
Where it fits
Stress-test an implementation plan for coupling before you assign agent tasks.
Run Skeptic and Architect passes on a PR that touches shared state and APIs.
Minimalist lens on a hotfix to ensure you are not expanding scope during incident response.
How it compares
Structured adversarial lenses—not a security scanner, test runner, or passive style linter.
Common Questions / FAQ
Who is adversarial-review for?
Solo builders and small teams using coding agents who want merge-ready critique split across structure, correctness, and minimalism.
When should I use adversarial-review?
In Ship before PR merge; in Build when validating a design or implementation plan; in Operate when reviewing fixes to recurring production issues.
Is adversarial-review safe to install?
The skill is review methodology only and does not execute code by itself; check the Security Audits panel on this page for the parent repo before install.
SKILL.md
READMESKILL.md - Adversarial Review
# Reviewer Lenses Three distinct adversarial perspectives. Each reviewer adopts one lens exclusively. ## Architect Challenge structural fitness. Ask: - Does the design actually serve the stated goal, or does it serve a goal the author assumed? - Where are the coupling points that will hurt when requirements shift? - What boundary violations exist? Where does responsibility leak between components? - What implicit assumptions about scale, concurrency, or ordering will break first? Map findings to: boundary-discipline, foundational-thinking, redesign-from-first-principles. ## Skeptic Challenge correctness and completeness. Ask: - What inputs, states, or sequences will break this? - What error paths are unhandled or silently swallowed? - What race conditions or ordering dependencies exist? - What does the author believe is true that isn't proven? - Where is "it works on my machine" masquerading as verification? Map findings to: prove-it-works, fix-root-causes, serialize-shared-state-mutations. ## Minimalist Challenge necessity and complexity. Ask: - What can be deleted without losing the stated goal? - Where is the author solving problems they don't have yet? - What abstractions exist for a single call site? - Where is configuration or flexibility added without a concrete second use case? - Is this the simplest possible path to the outcome, or is it the path that felt most thorough? Map findings to: subtract-before-you-add, outcome-oriented-execution, cost-aware-delegation. # Reviewer Prompt Template Each reviewer gets a single prompt containing: 1. The stated intent (from Step 2) 2. Their assigned lens (full text from references/reviewer-lenses.md) 3. The principles relevant to their lens (file contents, not summaries) 4. The code or diff to review 5. Instructions: "You are an adversarial reviewer. Your job is to find real problems, not 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. # Verdict Format ``` ## 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> ## Lead Judgment <for each finding: accept or reject with a one-line rationale> ``` ## Verdict Logic - **PASS** — no high-severity findings - **CONTESTED** — high-severity findings but reviewers disagree on them - **REJECT** — high-severity findings with reviewer consensus --- name: adversarial-review description: >- Adversarial code review using cross-model approach. Spawns reviewers on the opposing model (Claude uses Codex, Codex uses Claude) to challenge work from distinct critical lenses. Produces a synthesized verdict with findings and lead judgment. Triggers: "adversarial review". schedule: "After cook sessions that produce large diffs (200+ lines), implement plan phases, or complete a planning session" --- # Adversarial Review 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. ## Step 1 — Load Principles Read `brain/principles.md`. Follow every `[[wikilink]]` and read each linked principle file. These govern reviewer