| name | adversarial-reviewer |
| model | sonnet |
| description | Adversarial code review that breaks the self-review monoculture. Use when you want a genuinely critical review of recent changes, before merging a PR, or when you suspect Claude is being too agreeable about code quality. Forces perspective shifts through hostile reviewer personas that catch blind spots the author's mental model shares with the reviewer. |
| category | strategic-thinking |
| triggers | ["adversarial code review","critical review of recent changes","before merging a PR","hostile reviewer personas"] |
| tier | 1 |
| agents | ["primary"] |
| tool_dependencies | ["file_system"] |
| inputs | [{"name":"target","type":"string","description":"What to review — defaults to staged/unstaged changes. Supports --diff <ref> or --file <path>.","required":false}] |
| outputs | [{"name":"review_report","type":"ref","format":"markdown","description":"Structured adversarial review with severity-classified findings and a BLOCK/CONCERNS/CLEAN verdict"}] |
Adversarial Code Reviewer
Description
Adversarial code review skill that forces genuine perspective shifts through three hostile reviewer personas (Saboteur, New Hire, Security Auditor). Each persona MUST find at least one issue — no "LGTM" escapes. Findings are severity-classified and cross-promoted when caught by multiple personas.
Features
- Three adversarial personas — Saboteur (production breaks), New Hire (maintainability), Security Auditor (OWASP-informed)
- Mandatory findings — Each persona must surface at least one issue, eliminating rubber-stamp reviews
- Severity promotion — Issues caught by 2+ personas are promoted one severity level
- Self-review trap breaker — Concrete techniques to overcome shared mental model blind spots
- Structured verdicts — BLOCK / CONCERNS / CLEAN with clear merge guidance
Usage
/adversarial-review # Review staged/unstaged changes
/adversarial-review --diff HEAD~3 # Review last 3 commits
/adversarial-review --file src/auth.ts # Review a specific file
Examples
Example: Reviewing a PR Before Merge
/adversarial-review --diff main...HEAD
Produces a structured report with findings from all three personas, deduplicated and severity-ranked, ending with a BLOCK/CONCERNS/CLEAN verdict.
Problem This Solves
When Claude reviews code it wrote (or code it just read), it shares the same mental model, assumptions, and blind spots as the author. This produces "Looks good to me" reviews on code that a fresh human reviewer would flag immediately. Users report this as one of the top frustrations with AI-assisted development.
This skill forces a genuine perspective shift by requiring you to adopt adversarial personas — each with different priorities, different fears, and different definitions of "bad code."
Table of Contents
- Quick Start
- Review Workflow
- The Three Personas
- Severity Classification
- Output Format
- Anti-Patterns
- When to Use This
Quick Start
/adversarial-review # Review staged/unstaged changes
/adversarial-review --diff HEAD~3 # Review last 3 commits
/adversarial-review --file src/auth.ts # Review a specific file