skills/adversarial-analysis/SKILL.md
Six-phase framework for stress-testing proposals before commitment. Covers pre-mortem, assumption audit, edge case storm, counter-arguments, failure mode catalog, and synthesis with GO/NO-GO verdicts.
npx skillsauth add adilkalam/orca adversarial-analysisInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
RULE: Before implementing any significant proposal, systematically attack it to find weaknesses.
Proposals that survive adversarial scrutiny are more robust. This skill provides a 6-phase framework for stress-testing ideas before commitment.
Agents can load via:
required_skills:
- adversarial-analysis
Or dynamically invoke:
skill: adversarial-analysis
"It's 6 months from now. This failed. Why?"
Assume complete failure and work backwards. What went wrong?
Process:
Output format:
### Pre-mortem
> "It's 6 months from now. This failed. Why?"
- [Failure scenario 1]: [Root cause]
- [Failure scenario 2]: [Root cause]
- [Failure scenario 3]: [Root cause]
Every proposal rests on assumptions. Surface and stress-test them.
Process:
Output format:
### Assumptions (confidence: H/M/L)
| Assumption | Confidence | If Wrong |
|------------|------------|----------|
| [Assumption 1] | M | [Impact if false] |
| [Assumption 2] | L | [Impact if false] |
| [Assumption 3] | H | [Impact if false] |
Prioritize low-confidence, high-impact assumptions for deeper analysis.
Generate 10+ scenarios that could break the proposal.
Process:
Output format:
### Edge Cases
- [Breaking scenario 1]
- [Breaking scenario 2]
- [Breaking scenario 3]
... (minimum 10)
"A senior engineer thinks this is wrong. Their case:"
Steel-man the opposition. Build the strongest possible case against.
Process:
Output format:
### Counter-Arguments
> "A senior engineer thinks this is wrong. Their case:"
- [Argument 1]: [Evidence/reasoning]
- [Argument 2]: [Evidence/reasoning]
- [Argument 3]: [Evidence/reasoning]
Component-by-component failure analysis.
Process:
Output format:
### Failure Modes
| Component | How It Fails | Blast Radius | Detection |
|-----------|--------------|--------------|-----------|
| [Component 1] | [Failure mode] | [Impact scope] | [How to detect] |
| [Component 2] | [Failure mode] | [Impact scope] | [How to detect] |
Integrate findings into actionable recommendations.
Process:
Output format:
### Synthesis
**Critical Weaknesses (must address):**
1. [Weakness] - Mitigation: [Action]
2. [Weakness] - Mitigation: [Action]
**Significant Concerns (should address):**
1. [Concern] - Mitigation: [Action]
**Verdict:** [GO / CONDITIONAL GO / NO GO]
**Confidence:** [High / Medium / Low]
**Rationale:** [1-2 sentences explaining verdict]
# Challenge: [Proposal Summary]
## The Attack
### Causal Failure Map: [root causes and cascade effects]
### Assumption Audit: [weakest assumptions]
### Counter-Arguments: [strongest case against]
## What the Analysis Caught
| Weakness | Source | Severity | Mitigation |
|----------|--------|----------|------------|
| [weakness] | [phase] | Critical/High/Medium | [action] |
## Verdict
**[GO / CONDITIONAL GO / NO GO]** (confidence: X.X)
[2-4 sentences: real risk picture, what would change the verdict]
**Required Mitigations (if CONDITIONAL GO):**
1. [mitigation]
## Where to Go Next
-> /challenge --deep "[proposal]"
_[if verdict needs simulation/ethical analysis]_
-> /problem-solve "[how to mitigate top risk]"
_[if proceeding and need to decide on approach]_
-> /deepthink "[specific uncertainty]"
_[if a key assumption needs exploration]_
For rigorous analysis, use cognition-mcp to store structured analysis:
mcp__cognition-mcp__cognition
operation: "thought"
thought: "Beginning adversarial analysis of [proposal]. Phase 1: Pre-mortem..."
thoughtNumber: 1
totalThoughts: 12
nextThoughtNeeded: true
Structure as 2 thoughts per phase (analysis + output), allowing revision and branching as needed.
When time is limited, run Phase 1 only and extract top 3 risks:
# Challenge (Quick): [Proposal Summary]
## Causal Map
[cause] -> [intermediate] -> [effect]
Root causes: [2-3 most critical]
## What the Analysis Found
| Risk | Likelihood | Impact | Mitigation |
|------|-----------|--------|------------|
| [risk] | H/M/L | [impact] | [mitigation] |
## Quick Verdict
[Proceed with caution / Needs more analysis / Red flags present]
[1-2 sentences: why]
## Where to Go Next
-> /challenge "[proposal]" (full analysis)
_[why deeper analysis would help]_
-> /problem-solve "[decision point]"
_[if ready to decide]_
For critical decisions, after completing all 6 phases, invoke:
/think --model inversion [proposal]
This adds mental model analysis (thinking backwards from failure) to complement the adversarial framework.
DON'T:
DO:
Use adversarial analysis when:
Skip (or use quick mode) when:
testing
Run technical quality checks across accessibility, performance, theming, responsive design, and anti-patterns. Generates a scored report with P0-P3 severity ratings and actionable plan. Use when the user wants an accessibility check, performance audit, or technical quality review.
tools
Improves typography by fixing font choices, hierarchy, sizing, weight, and readability so text feels intentional. Use when the user mentions fonts, type, readability, text hierarchy, sizing looks off, or wants more polished, intentional typography.
tools
Three.js animation - keyframe animation, skeletal animation, morph targets, animation mixing. Use when animating objects, playing GLTF animations, creating procedural motion, or blending animations.
development
Plan the UX and UI for a feature before writing code. Runs a structured discovery interview, then produces a design brief that guides implementation. Use during the planning phase to establish design direction, constraints, and strategy before any code is written.