Full adversarial analysis of any idea, proposal, or argument. Runs steelman, crucible, and verdict in sequence for a complete challenge drawing from 10 reasoning traditions. Use when the user asks to play devil's advocate, run a full challenge, or says 'tear this apart' or 'give me the full treatment'.
Scanned 5/27/2026
Install via CLI
openskills install damionrashford/Adversaria---
name: devils-advocate
description: >
Full adversarial analysis of any idea, proposal, or argument. Runs steelman, crucible, and verdict in sequence for a complete challenge drawing from 10 reasoning traditions. Use when the user asks to play devil's advocate, run a full challenge, or says 'tear this apart' or 'give me the full treatment'.
argument-hint: "idea, plan, or argument to challenge"
---
# Devil's Advocate (Full Analysis)
**Context:** $ARGUMENTS
Run a complete adversarial analysis by orchestrating all three sub-skills in sequence. Each builds on the shared argument graph.
## Workflow
### Phase 1 — Steelman + Contrary Case
Read `${CLAUDE_SKILL_DIR}/references/steelmanning.md` and `${CLAUDE_SKILL_DIR}/references/dissoi-logoi.md`.
Reset and initialize:
```bash
uv run ${CLAUDE_PLUGIN_ROOT}/scripts/argument-graph.py reset
uv run ${CLAUDE_PLUGIN_ROOT}/scripts/thought-chain.py reset
uv run ${CLAUDE_PLUGIN_ROOT}/scripts/thought-chain.py init "<subject>" --total 7
```
Build the strongest version of the argument. Register all claims and assumptions in the graph. Then argue the complete opposite with equal conviction. Register counters and evidence.
```bash
uv run ${CLAUDE_PLUGIN_ROOT}/scripts/thought-chain.py think 1 "<steelman>"
uv run ${CLAUDE_PLUGIN_ROOT}/scripts/thought-chain.py think 2 "<contrary case>"
```
Present both to the user before continuing.
### Phase 2 — Crucible
Read `${CLAUDE_SKILL_DIR}/references/socratic-method.md`, `${CLAUDE_SKILL_DIR}/references/crucible.md`, and `${CLAUDE_SKILL_DIR}/references/red-team.md`.
Ask 3-5 Socratic questions targeting specific assumptions. Run structural analysis:
```bash
uv run ${CLAUDE_PLUGIN_ROOT}/scripts/argument-graph.py analyze
```
Use the gaps to drive the hostile review. Register weaknesses. Identify 3-5 failure modes. If multiple independent failure modes exist, branch:
```bash
uv run ${CLAUDE_PLUGIN_ROOT}/scripts/thought-chain.py think 3 "<socratic questions>"
uv run ${CLAUDE_PLUGIN_ROOT}/scripts/thought-chain.py think 4 "<crucible findings>"
uv run ${CLAUDE_PLUGIN_ROOT}/scripts/thought-chain.py think 5 "<red team findings>"
```
**REVISION CHECK:** If the crucible reveals the steelman was too generous, revise:
```bash
uv run ${CLAUDE_PLUGIN_ROOT}/scripts/thought-chain.py revise 1 "<revised steelman>" --reason "<what changed>"
```
### Phase 3 — Verdict
Read `${CLAUDE_SKILL_DIR}/references/social-gadfly.md`.
Name the one uncomfortable truth nobody wants to say. Then run the structural verdict:
```bash
uv run ${CLAUDE_PLUGIN_ROOT}/scripts/thought-chain.py think 6 "<gadfly sting>"
uv run ${CLAUDE_PLUGIN_ROOT}/scripts/argument-graph.py verdict
uv run ${CLAUDE_PLUGIN_ROOT}/scripts/thought-chain.py think 7 "<verdict>"
```
## Output format
Present the full analysis with clear sections:
1. **The Strongest Case:** (steelman)
2. **The Strongest Case Against:** (dissoi logoi)
3. **Socratic Questions:** (3-5 questions targeting assumptions)
4. **Weakest Points:** (crucible findings from structural analysis)
5. **Failure Modes:** (red team, with branches if multiple)
6. **The Uncomfortable Truth:** (gadfly sting)
7. **Verdict:** Survives / Does not survive / Needs more work
Optionally render the full chain and graph:
```bash
uv run ${CLAUDE_PLUGIN_ROOT}/scripts/thought-chain.py render
uv run ${CLAUDE_PLUGIN_ROOT}/scripts/argument-graph.py export
```
## Resources
References (load the file matching the current phase):
- `${CLAUDE_SKILL_DIR}/references/steelmanning.md` — load in Phase 1.
- `${CLAUDE_SKILL_DIR}/references/dissoi-logoi.md` — load in Phase 1.
- `${CLAUDE_SKILL_DIR}/references/socratic-method.md` — load in Phase 2.
- `${CLAUDE_SKILL_DIR}/references/crucible.md` — load in Phase 2.
- `${CLAUDE_SKILL_DIR}/references/red-team.md` — load in Phase 2.
- `${CLAUDE_SKILL_DIR}/references/social-gadfly.md` — load in Phase 3.
- `${CLAUDE_SKILL_DIR}/references/polemic.md` — load when the gadfly sting needs rhetorical force.
- `${CLAUDE_SKILL_DIR}/references/devils-advocate.md` — load for Nemeth's warning about inauthentic dissent.
- `${CLAUDE_SKILL_DIR}/references/roman-rota.md` — load when multi-level appellate review structure is relevant.
- `${CLAUDE_SKILL_DIR}/references/lawsuits-against-the-devil.md` — load when the idea seems too absurd or sacred to challenge.
Scripts:
- `${CLAUDE_PLUGIN_ROOT}/scripts/argument-graph.py` — run throughout. `analyze` before Phase 2, `verdict` in Phase 3.
- `${CLAUDE_PLUGIN_ROOT}/scripts/thought-chain.py` — run at every phase. `revise` when later phases invalidate earlier ones. `branch` for multiple failure modes.
## Gotchas
- **Nemeth's warning is real.** Inauthentic, going-through-the-motions dissent makes people MORE entrenched. Every objection must cite a specific mechanism of failure.
- **Steelman FIRST, always.** If you attack a weak version, the entire analysis is worthless.
- **Run `analyze` before the crucible.** The graph catches structural gaps prose misses.
- **Revise when warranted.** A linear pass that never revisits is weaker than one that evolves.
- **The gadfly sting is not another weakness.** It's the foundational uncomfortable truth.
- **Graph entity names: short kebab-case.** Observations carry the detail.
No comments yet. Be the first to comment!