Skip to content
Back to skills

Devils Advocate

ASecurity

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'.

  • 7 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added May 26, 2026
ai-agentsgobashaws

Security analysis

A100/100

Pro scans all 13 files and shows the line behind each finding

Scanned May 27, 2026

npx -y skills add damionrashford/Adversaria --skill devils-advocate --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Devils Advocate?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Devils Advocate
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/damionrashford-devils-advocate/badge)](https://www.skillsdirectory.com/skills/damionrashford-devils-advocate)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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.

Files in this skill

  • SKILL.md5.1 KB
  • references/crucible.md2.3 KB
  • references/devils-advocate.md1.7 KB
  • references/dissoi-logoi.md1.9 KB
  • references/lawsuits-against-the-devil.md2.2 KB
  • references/polemic.md1.8 KB
  • references/red-team.md2.8 KB
  • references/roman-rota.md2 KB
  • references/social-gadfly.md1.8 KB
  • references/socratic-method.md2.9 KB
  • references/steelmanning.md2.7 KB
  • scripts/argument-graph.py12.6 KB
  • scripts/thought-chain.py10.9 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.