Skip to content
Development
Skill

/swing-review

Devil's Advocate stress-testing for code, architecture, PRs, and decisions. Surfaces hidden flaws through structured adversarial analysis with metacognitive depth. Use for high-stakes review, stress-testing choices, or when the user wants problems found deliberately. NOT for

From plugin
swing-skills
416 skills

Claude Code

$ npx -y skills add TheStack-ai/swing-skills --skill swing-review --agent claude-code

SKILL.md

swing-review.SKILL.md
name: swing-review
description: Devil's Advocate stress-testing for code, architecture, PRs, and decisions. Surfaces hidden flaws through structured adversarial analysis with metacognitive depth. Use for high-stakes review, stress-testing choices, or when the user wants problems found deliberately. NOT for routine code review. Triggers on "스트레스 테스트", "stress test", "devil's advocate", "반론", "이거 괜찮아", "문제 없을까", "깊은 리뷰", "critical review", "adversarial".
argument-hint: "[code/decision/PR to stress-test]"
allowed-tools: Read, Grep, Glob, Bash, Agent

Adversarial Review

Structured Devil's Advocate analysis that surfaces hidden flaws, edge cases, and blind spots.

Rules (Absolute)

1. **Default to finding problems.** Conduct rigorous analysis across all three vectors. Report every genuine issue found — do not downplay or omit real concerns. If thorough analysis yields fewer than 3 issues, that is a legitimate outcome indicating strong work. Never inflate minor observations to fill a quota, and never fabricate concerns. 2. **Attack the strongest points.** Don't waste time on trivial issues. Target the parts the author is most confident about — that's where hidden assumptions live. 3. **Separate severity levels.** Not all issues are equal. Clearly distinguish critical from minor. 4. **Propose alternatives.** Every criticism must include a concrete alternative or mitigation. 5. **Steel-man first.** Before attacking, state the strongest version of why the current approach was chosen. This prevents straw-man critiques. 6. **No ad hominem.** Critique the work, not the author. Be sharp but constructive.

Ambiguous Input Handling

If the subject under review is unclear or too broad, **ask one clarifying question before proceeding.** Do not review a vague target. Examples of ambiguous input that should trigger a clarification question:

  • "Review my project" (which aspect? architecture? security? specific files?)
  • "Is this okay?" with no context (what is "this"?)
  • A topic so broad that a meaningful adversarial review would be unfocused

One question. Get the answer. Then proceed.

Process

Phase 1: Steel-Man

Before any criticism, articulate:

  • **Why was this approach chosen?** (Best possible justification)
  • **What does it optimize for?** (Performance? Simplicity? Time-to-market?)
  • **Under what conditions is this the right choice?**

This ensures the subsequent critique is intellectually honest, not reflexive opposition.

Phase 2: Adversarial Attack (3 Vectors)

Apply three independent attack vectors simultaneously:

Vector A: Logical Soundness

**Scope: Does the REASONING hold?** Examine premises, conclusions, logical flow.

  • Are there logical contradictions or circular reasoning?
  • Are conclusions actually supported by the stated premises?
  • What unstated assumptions does the reasoning depend on?
  • Is there confirmation bias in the evidence selection?

Do NOT examine implementation structure — that's Vector C.

Vector B: Edge Case Assault

**Scope: Does it SURVIVE reality?** Test against real-world conditions.

  • What happens at boundaries? (empty input, max load, concurrent access, zero state)
  • What's the failure mode? (graceful degradation vs. catastrophic failure)
  • What happens in 6 months? (scaling, maintenance burden, team changes)
  • What would a malicious actor exploit?

Test behavior and outcomes, not internal structure.

Vector C: Structural Integrity

**Scope: Is the STRUCTURE sound?** Examine architecture and design.

  • Does each component have a single, clear responsibility?
  • Where are the coupling points and dependency chains?
  • What is the weakest structural link?
  • Which component, if changed, would cause the most cascading failures?

Examine architecture, not logical reasoning.

Phase 3: Severity Classification

Classify every finding:

| Severity | Symbol | Meaning | Action Required | |----------|--------|---------|-----------------| | Critical | `🔴` | Will cause production issues, security vulnerabilities, or data loss | Must fix before merge/deploy | | Major | `🟠` | Significant risk, performance issue, or maintainability problem | Should fix, blocking for merge | | Minor | `🟡` | Code smell, style issue, or small optimization opportunity | Consider fixing, non-blocking | | Note | `💡` | Observation, alternative approach, or future consideration | Informational only |

Phase 4: Counter-Proposal

For each Critical and Major finding, provide: 1. **What's wrong** (1-2 sentences) 2. **Why it matters** (concrete impact) 3. **Suggested fix** (code snippet or approach) 4. **Trade-off of the fix** (nothing is free — what does the fix cost?)

Output Format

## Adversarial Review: [Subject]

### Steel-Man
> [Why this approach makes sense — strongest justification]

### Findings

#### 🔴 Critical: [Title]
**Vector:** [Logical Soundness / Edge Case / Structural Integrity]
**What:** [Description]
**Impact:** [Concrete consequence]
**Fix:** [Proposed solution]
**Trade-off:** [Cost of the fix]

#### 🟠 Major: [Title]
...

#### 🟡 Minor: [Title]
...

#### 💡 Note: [Title]
...

### Summary
| Severity | Count |
|----------|-------|
| 🔴 Critical | N |
| 🟠 Major | N |
| 🟡 Minor | N |
| 💡 Note | N |

### Verdict
[PASS / PASS WITH CONDITIONS / FAIL]
- [If PASS WITH CONDITIONS: list required changes]
- [If FAIL: list blocking issues]

### Verdict Criteria
- **FAIL**: Any Critical finding with no viable short-term mitigation, OR 3+ Major findings
- **PASS WITH CONDITIONS**: Any Critical finding with viable mitigation, OR 1-2 Major findings
- **PASS**: No Critical findings, no Major findings. Minor and Notes only.
These thresholds ensure consistent verdicts across invocations.

### Hidden Assumptions Exposed
- [Assumption 1 that the current approach relies on]
- [Assumption 2 that could invalidate the approach if wrong]

Quality Calibration

BAD Adversarial Review (Don't Do This)

## Adversarial Review: User Auth Module

##
Read more
@thestack-ai
Ships withswing-skills

Open-source Claude Code skills — 6 cognitive firewalls block AI hallucination, bias & sloppy reasoning. npx skills add

Stars on GitHub

Momentum

stars in total
41
Star history of TheStack-ai/swing-skills on GitHub, a chart by star-history.com

Other skills on swing-skills.

swing-clarify

swing-clarify

Prevents premature execution on ambiguous requests. Analyzes request clarity using 5W1H decomposition, surfaces hidden…

swing-mortem

swing-mortem

Prospective failure analysis using Gary Klein's pre-mortem technique. Assumes complete failure, works backward to identify risks,…

swing-options

swing-options

Generate probability-weighted alternative options that challenge default thinking. Forces unconventional alternatives and exposes…

swing-research

swing-research

Deep research with cross-verification and source tiering. Use when investigating technologies, comparing tools, fact-checking…

swing-trace

swing-trace

Exposes Claude's reasoning chain as an auditable, decomposable artifact. Quick mode (default) gives assumption inventory +…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about swing-review.

Which coding agents can use swing-review?
swing-review installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.