From devils-advocate
Use when about to commit to a decision whose cost of being wrong is asymmetric or hard to reverse AND someone (or production reality) will later stress-test it. Triggers: an architecture / schema / partition-key / API-compatibility / migration / rollout choice that is costly to undo or breaks downstream consumers; a security threat-model or trust-boundary decision; a performance or capacity tradeoff expensive to unwind; a load-bearing claim in a document, paper, postmortem, or report that reviewers, auditors, customers, regulators, or opposing experts will scrutinize, verify, or reproduce; a hire; a market-entry or strategic commitment. Symptoms: "I'm sure this holds up" without testing; "is this really true / are we missing something?"; strong author/team sunk-cost; completion-pressure to finalize before independent challenge. Do NOT fire on trivial or cheaply-reversible choices — gate on irreversibility/blast-radius, not size.
How this skill is triggered — by the user, by Claude, or both
Slash command
/devils-advocate:devils-advocateThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Self-critique fails because the same biases that produced the proposal produce the critique: framing-acceptance, sunk-cost attachment, sycophancy bias toward your prior decisions. A fresh subagent dispatched **with an assigned counter-position** routes around your blind spots. The technique is not "spawn a critical agent" — it is the brief design that makes the agent argue effectively. The five...
Self-critique fails because the same biases that produced the proposal produce the critique: framing-acceptance, sunk-cost attachment, sycophancy bias toward your prior decisions. A fresh subagent dispatched with an assigned counter-position routes around your blind spots. The technique is not "spawn a critical agent" — it is the brief design that makes the agent argue effectively. The five load-bearing parts of the brief are invariant across domains; only the assigned counter-thesis, the pasted proposal, and the verdict verbs change.
Violating the letter of the brief design is violating the spirit. A skipped anti-sycophancy gate, a missed counter-position assignment, or a vacuous "be critical" phrasing produces a vacuous critique that confirms the original proposal.
When NOT to use: trivial decisions (low cost-of-being-wrong); genuinely reversible or tunable choices with cheap rollback; you have already iterated through 2+ rounds of devil's-advocate on the same item; the user explicitly says "skip the meta-process, just decide." Gate on irreversibility / blast-radius, not size — a small-scope but hard-to-reverse change outranks a large but cheaply-reversible one.
A naive "challenge this" brief produces sycophantic agreement, generic mild critique, or contrarian-for-its-own-sake noise. The effective brief has five load-bearing parts:
You are a devil's-advocate reviewer. Your assigned counter-position
is: [SPECIFIC THESIS arguing AGAINST the proposal — not generic critique].
Proposal under review:
[THE THING being assessed — paste in full or summarise tightly]
Constraints:
- Open with the strongest single counter-argument to the proposal.
No affirmation openings. Do not say "this is strong work" or any variant.
- Steel-man the assigned counter-position fully — argue it as if you
believed it, as a blocking, disqualifying flaw — fatal to the proposal.
- Identify the SINGLE load-bearing assumption most likely to be wrong, and
name it specifically [the one assumption this decision rests on].
- State the specific evidence that would resolve the disagreement
("I would change my verdict if X were demonstrated"). If you cannot name
disconfirming evidence, your verdict is not falsifiable — it is
unfalsifiable opinion and should be discarded.
- Recommend exactly one of: [POSITIVE-VERB] / [NEGATIVE-VERB] /
[POSITIVE-VERB-WITH-NAMED-FIX] — pick the pair that fits (default
COMMIT / DON'T-COMMIT / COMMIT-WITH-NAMED-FIX). No hedging. No "it depends."
Output: 400 words, structured per the bullets above.
The template above is invariant. Only three slots change: the proposal pasted in, the assigned counter-thesis, and the verdict verbs. Everything else — anti-sycophancy gate, steel-man, falsifiability gate, forced decision — stays identical.
| Domain | Assigned counter-thesis (slot) | Verdict verbs (slot) |
|---|---|---|
| Architecture migration | "the bottleneck is not transport-level, so this solves the wrong problem" | PROCEED / DON'T-PROCEED / PROCEED-WITH-NAMED-FIX |
| Research causal claim | "the X→Y link is confounded, not causal" | ASSERT / DON'T-ASSERT / ASSERT-WITH-NAMED-FIX |
| Public-API rename | "every downstream consumer breaks and the old name can't be un-published" | SHIP / DON'T-SHIP / SHIP-WITH-NAMED-FIX |
| Senior hire | "the on-site measured interview skill, not the collaboration the role needs" | HIRE / DON'T-HIRE / HIRE-WITH-NAMED-FIX |
For any high-stakes, hard-to-reverse decision, dispatch 2–3 devil's-advocate agents in parallel, each assigned a different counter-position. Pick axes that are disjoint — that cannot all be true and false together — so they surface disjoint failure modes.
Architecture migration (REST → gRPC streaming across 40 services; rollback spans months):
Security threat model (treat the internal mesh as fully trusted, authz only at the edge):
Series-A pitch (deck to investors who will diligence the claims):
If all return COMMIT (or the domain verb): high-conviction commit. If any returns DON'T-COMMIT with a load-bearing argument: stop, address it, re-dispatch.
| Mistake | Why it fails | Fix |
|---|---|---|
| "Be critical" with no assigned position | Agent free-forms generic edits, not a counter-thesis | Assign the counter-position explicitly in the brief |
| No anti-sycophancy gate | Agent opens "this is strong, but..." | Forbid affirmation openings — explicit phrasing in brief |
| Asking for "three weaknesses" | Surfaces three weak critiques, not one strong one | Demand the SINGLE strongest argument, steel-manned |
| No falsifiability requirement | Agent's verdict is unfalsifiable opinion | Demand "what evidence would change your verdict" |
| Letting the agent hedge | "It depends / consider X" produces no decision | Demand exactly one of three fitting verdicts (COMMIT / DON'T-COMMIT / COMMIT-WITH-NAMED-FIX, or the decision-appropriate verbs) |
| Self-critique instead of agent dispatch | Same biases that produced the proposal produce the critique | Dispatch a fresh subagent — your blind spots are the agent's strength |
| Skipping because "this isn't important enough" | The decisions you skip are exactly the ones you most need challenged | If it has externally visible or hard-to-reverse consequences, dispatch |
| Excuse | Reality |
|---|---|
| "This decision isn't important enough" | Important enough to be worth doing means important enough to challenge. |
| "I can challenge it myself" | The biases that produced the proposal produce the self-critique. The whole point is fresh eyes. |
| "The user probably doesn't want extra process" | The user almost always wants the decision to be right more than they want it to be fast. |
| "I already considered the counter-arguments" | Naming counter-arguments in your head ≠ steel-manning them. The agent forces the steel-man. |
| "5–10 minutes of subagent latency is too much" | Costs less than committing to a flawed decision that gets walked back publicly. |
| "I'm confident in the work" | Overconfidence is the warning sign that triggers the dispatch, not the reason to skip it. |
All of these mean: dispatch the agent. The cost of one subagent dispatch is much less than the cost of committing to a flawed decision.
(business instance) Tested in a Series-A-pitch review scenario. Baseline agent (no skill) produced 4 affirmation bullets, 7 generic line-edits, and ended "Send it tomorrow. Don't let perfect kill it" — despite identifying a "yellow flag bordering on red." With this skill applied to the brief, the dispatched devil's-advocate produced a single load-bearing counter-argument with falsifiability criteria and a specific SHIP-WITH-NAMED-FIX recommendation that materially changed what the decision-owner committed to.
(technical instance) In an irreversible-migration review, three disjoint agents (wrong-bottleneck / broken-operability / fleet-wide blast-radius) converted a fleet-wide PROCEED into a PROCEED-WITH-NAMED-FIX — pilot 2–3 services with a proven streaming profile behind an abstraction before any fleet commitment. The falsifiability gate forced the team to name the production traces that would have justified the full migration; they did not exist.
Same five parts, every domain — only the assigned counter-thesis, the pasted proposal, and the verdict verbs change.
Provides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
npx claudepluginhub jihlenburg/mad-skills --plugin devils-advocate