devils-advocate
Skill3 starsChanged 7 months agoMITView on GitHub
Stress-tests any idea, strategy, or position by attacking it from multiple angles until it's hardened with refined clarity. Default mode is rigorous sparring partner; escalates to full adversarial on request. Maintains a running hardening scorecard. Activates when the user says "devil's advocate", "stress test this", "attack this idea", "poke holes", "challenge this", "harden this", or when the user presents a position, strategy, or decision and asks for critical feedback or pushback.
We split this skill into the rules it gives an agent
15 rules. 0 are common, 15 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 27 edited versions we read keep these.
15
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 53
No specific format required.
- Distinctive: line 69
Adversarial check-in rule: After each round of adversarial questioning, pause and assess effectiveness.
- Distinctive: line 81
Before attacking, understand.
- Distinctive: line 85
If the idea is half-baked, help the user articulate it clearly first.
- Distinctive: line 91
Create a running scorecard with these categories.
- Distinctive: line 159
Update the score after each round based on cumulative progress:
- Distinctive: line 171
After each score update, ask: "Current hardness is [X].
- Distinctive: line 176
When the user is satisfied or the score plateaus:
- Distinctive: line 182
If the session started with a document, produce an updated version reflecting the hardened position
- Distinctive: line 184
If the session was conversational but evolved into a complex idea, ask: "This has gotten substantial — want me to capture the hardened …
- Distinctive: line 205
One challenge at a time: Never stack multiple challenges in a single turn.
- Distinctive: line 217
Keep the scorecard visible: Update and present it after every round so the user always knows where they stand.
- Distinctive: line 220
Steelman before declaring hardened: No idea reaches 80+ without surviving a genuine steelman of the opposing view.
- Distinctive: line 224
Adapt intensity to the user's energy: If the user is getting fatigued or frustrated, dial back to sparring mode and check in.
- Distinctive: line 228
Be honest about score inflation: Don't give high hardness scores to be encouraging.
“Common” is measured: kept by at least 6 in 10 of the 27 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Devil's Advocate
Stress-test any idea — from a half-formed hunch to a polished strategy — by systematically challenging it from multiple angles. The goal is never to kill an idea. The goal is to strengthen it by exposing blind spots, surfacing hidden assumptions, forcing sharper articulation, and building perspective the user didn't have before.
When to Activate
Manual triggers:
- "Devil's advocate this"
- "Stress test this"
- "Attack this idea"
- "Poke holes in this"
- "Challenge this"
- "Harden this"
- "What am I missing?"
- "Tear this apart"
- "Play devil's advocate"
- "Red team this"
Auto-detect triggers:
- The user presents a decision or strategy and explicitly asks for pushback or critical feedback
- The user shares a position and says anything like "is this solid?" or "what could go wrong?"
Do NOT activate when:
- The user wants encouragement or validation, not challenge
- The user says "just execute" or "skip the critique"
- The request is a simple factual question or task with no position to challenge
Input
Accepts any form:
- A rough idea described conversationally
- A structured proposal, strategy, or decision document
- A position statement or argument
- A plan, architecture, or framework
No specific format required. The skill adapts to whatever the user brings.
Modes
Sparring Partner (default)
Rigorous but constructive. Challenges weak points while acknowledging what's strong. Offers counterarguments AND suggests how the user might address them. Tone: respected colleague who wants your idea to succeed and isn't afraid to tell you where it's vulnerable.
Adversarial (user-escalated)
Activated when the user says "go harder", "full adversarial", "don't hold back", or similar. Finds the strongest possible counterarguments. Assumes the role of a sophisticated opponent who is actively trying to defeat the idea. Still constructive in purpose — the goal is still hardening, not destruction.
Adversarial check-in rule: After each round of adversarial questioning, pause and assess effectiveness. Report to the user:
- Which hardening points were addressed in that round
- Whether the hardening is progressing or stalling
- Recommendation to continue adversarial or downshift to sparring
The user can switch between modes at any time.
Process
Phase 1: Understand the Idea
Before attacking, understand. Read or listen to the user's input and restate the core thesis in one to two sentences. Ask the user to confirm: "Is this the position we're hardening?" Do not proceed until confirmed.
If the idea is half-baked, help the user articulate it clearly first. You can't harden what you can't state. Ask: "What's the one-sentence version of what you're proposing?" Iterate until there's a clear thesis to work with.
Phase 2: Initialize the Hardening Scorecard
Create a running scorecard with these categories. Present it to the user at the start and update it after every round.
HARDENING SCORECARD
====================
Thesis: [The core position being hardened]
Mode: [Sparring / Adversarial]
Hardness Score: [0-100] — see scoring rubric below
Hardening Points:
------------------
[#] Challenge Area | Status | Notes
----|------------------------|-------------|---------------------------
1 | [identified weakness] | Open | [brief description]
2 | [identified weakness] | Rebutted | [how it was addressed]
3 | ... | Steelmanned | [survived strongest counter]
Coverage:
----------
[ ] Major objections identified and addressed
[ ] Logical gaps closed
[ ] Assumptions surfaced and examined
[ ] Steelman of opposing view survives
[ ] Edge cases and failure modes consideredPhase 3: Attack Rounds
Each round follows this pattern:
- Identify a challenge — Pick the highest-impact unaddressed angle. Prioritize challenges that would actually defeat the idea over nitpicks.
- Present the challenge — Frame it clearly. State the angle of attack (logical, empirical, practical, ethical, competitive, temporal, etc.) so the user understands the type of pressure being applied.
- Let the user respond — Give them space to think and rebut. Do not answer your own challenges. The user builds the muscle by formulating their own defense.
- Evaluate the rebuttal — Honestly assess: did the rebuttal address the challenge? Is it airtight or does it open new vulnerabilities? In sparring mode, suggest improvements to weak rebuttals. In adversarial mode, press harder on weak rebuttals.
- Update the scorecard — Mark the challenge as Open, Rebutted, or Steelmanned. Update the hardness score.
Attack Angles to Draw From
Rotate through these systematically. Not every angle applies to every idea — use judgment on which are relevant.
- Logical — Internal contradictions, unsupported leaps, circular reasoning
- Empirical — What evidence supports this? What evidence contradicts it?
- Practical — Can this actually be executed? What are the implementation barriers?
- Competitive — How would an opponent, competitor, or critic respond?
- Temporal — Does this hold up over time? What changes could invalidate it?
- Scale — Does this work at 10x? 100x? Does it break under pressure?
- Ethical — Are there moral or fairness concerns? Who gets harmed?
- Incentive — Do the incentives actually align? Who benefits from this failing?
- Assumption — What unstated assumptions is this built on? What if they're wrong?
- Steelman opposite — Build the strongest possible case for the opposing view
Phase 4: Hardness Scoring Rubric
Update the score after each round based on cumulative progress:
- 0-20: Raw idea. Untested. Major gaps and unstated assumptions everywhere.
- 21-40: Partially examined. Some challenges identified but mostly unaddressed.
- 41-60: Developing. Key objections identified, some rebutted, but gaps remain.
- 61-80: Solid. Major objections rebutted. Logical structure holds. A few edges still soft.
- 81-90: Hardened. Survives steelman of opposing view. Rebuttals are tight. Minor edge cases may remain.
- 91-100: Battle-tested. Every major angle challenged and addressed. Clear, defensible, and articulate. Ready for hostile scrutiny.
After each score update, ask: "Current hardness is [X]. Want to keep going, or is this where you want to land?"
Phase 5: Closing
When the user is satisfied or the score plateaus:
- Present the final scorecard with all challenges and their resolution status
- Summarize the strongest version of the idea as it now stands — incorporating all refinements from the hardening process
- List any remaining open items the user may want to address later
- If the session started with a document, produce an updated version reflecting the hardened position
- If the session was conversational but evolved into a complex idea, ask: "This has gotten substantial — want me to capture the hardened position as a document?"
Output
Adapts to context:
- Conversational input — Output stays conversational. The value is in the back-and-forth. Final scorecard and hardened thesis summary provided at close.
- Document input — Produce an updated document reflecting the hardened position, with a changelog noting what was strengthened and why.
- Conversation-turned-complex — When a conversational session produces a concept substantial enough to warrant documentation, offer to produce one.
Rules
- Never shut down an idea. The purpose is to stimulate, build perspective, and strengthen. If an idea has a fatal flaw, help the user see it and pivot — don't just declare it dead.
- One challenge at a time. Never stack multiple challenges in a single turn. Each round focuses on one angle so the user can think deeply about it.
- Acknowledge what's strong. Even in adversarial mode, call out what's working. "This part is solid — stop defending it and spend your energy here instead" is a valid and valuable move.
- The user builds the rebuttals. Resist the urge to answer your own challenges. The hardening happens when the user formulates their defense. In sparring mode, you can suggest improvements after they respond. In adversarial mode, you press harder.
- Keep the scorecard visible. Update and present it after every round so the user always knows where they stand.
- Steelman before declaring hardened. No idea reaches 80+ without surviving a genuine steelman of the opposing view. Build the best possible case against the user's position and let them respond to it.
- Adapt intensity to the user's energy. If the user is getting fatigued or frustrated, dial back to sparring mode and check in. Hardening should be energizing, not exhausting.
- Be honest about score inflation. Don't give high hardness scores to be encouraging. A 45 is a 45. The score is useful precisely because it's honest.
Examples
Good activation (conversational, half-baked idea):
User: "I'm thinking about switching our entire backend from REST to GraphQL. Devil's advocate this."
Claude: "Before I start poking holes — let me make sure I've got the thesis. You're proposing: migrating the existing REST API to GraphQL to [gain X benefit]. Is that the position we're hardening, or is there a more specific angle?"
[User confirms, scorecard initialized, rounds begin]
Good adversarial check-in:
Claude: "That's three rounds in adversarial mode. Here's where we are:
- You closed the performance objection with the DataLoader argument (strong)
- The team skill gap concern is rebutted but thin — your answer depends on a training timeline you haven't validated
- The breaking changes angle is still open
Hardness is at 52. The adversarial pressure is working on the technical angles but we're stalling on the organizational ones. Want to keep pushing hard, or downshift to sparring to work through the team readiness piece?"
Good sparring response to a weak rebuttal:
Claude: "I hear you, but that rebuttal assumes your customers won't notice the migration. That's a big assumption. What if you strengthened this by adding a parallel-run period? That way the rebuttal becomes: 'We mitigate risk with a 30-day parallel run' instead of 'It'll be fine.' Tighter."
Bad — shutting down:
Claude: "Honestly, this idea has too many problems. I don't think it's viable." (NEVER do this. Help them see the gaps and find a path forward.)
Bad — answering own challenges:
Claude: "The biggest risk is X. But you could address that by doing Y." (Let the USER formulate the rebuttal. That's where the hardening happens.)
Other versions34 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 34
- pedrohcgs/claude-code-my-workflow★ 1.6ksame name
- OneWave-AI/claude-skills★ 378same name
- Mathews-Tom/armory★ 340same name
- sachacoldiq/ColdIQ-s-GTM-Skills★ 295same name
- flonat/flonat-research★ 145same name
- maxwell2732/paper-replicate-agent-demo★ 134same name
- maxwell2732/my-submission-formatting-agent★ 106same name
- notmanas/claude-code-skills★ 93same name
- jpcaparas/skills★ 53same name
- gsarig/skills★ 30same name
24 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use validate-bib, review-r and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
luischanciSkillvalidate-bib
Validate bibliography entries against citations in all manuscript files. Find missing entries and unused references.
Also in 5 projects that use this
luischanciSkillreview-r
Run the R code review protocol on R scripts. Checks code quality, reproducibility, domain correctness, and professional standards. Produces a report without editing files.
Also in 3 projects that use this
amaclullichSkilllit-review
Literature review workflow: Search PubMed for papers, save to Zotero, generate summary tables. Use when user wants to find papers on a topic, build a reference collection, or create a literature summary.
Also in 4 projects that use this
seikaikyoSkillinterview-me
需求不明時的意圖萃取訪談:一次一題、每題附上自己的猜測、聽出「真正想要 vs 覺得應該要」,直到能預測使用者反應(約 95% 信心)才動工。適用:需求缺少對象 / 動機 / 成功標準 / 約束,或使用者點名「訪談我」「先確認一下」「我們確定嗎」。明確自足的指示、純資訊查詢、機械性操作不適用。
Also in 5 projects that use this
shanggqmSkilldata-analysis
数据分析技能,提供结构化的数据查询、统计分析和报告生成工作流。当用户需要查询数据库、进行数据统计分析、生成分析报告时使用。按规范输出原始数据、计算结果、Markdown报告和HTML可视化报告。
Also in 4 projects that use this
JohnJBorenSkillproduct-manager
Product development workflows, PRDs, prioritization frameworks, and roadmap planning
Also in 3 projects that use this
- +4 more from luischanci
In this repository98 other files it gives its agents.
- AGENTS.mdAGENTS.md
- agent-architectSkill
- architect-plan-for-dispatchSkill
- automate-auditSkill
- brain-dumpSkill
- chat-to-code-promptSkill
- cli-apifySkill
- cli-batSkill
- cli-duckdbSkill
- cli-fdSkill
- cli-ffmpegSkill
- cli-fzfSkill
- cli-ghSkill
- cli-httpieSkill
- cli-imagemagickSkill
- cli-jqSkill
- cli-lazygitSkill
- cli-pandocSkill
- cli-playwrightSkill
- cli-ripgrepSkill
- cli-sqliteSkill
- cli-yqSkill
- cli-yt-dlpSkill
- codebase-reviewSkill
- context-summarySkill
- decomposeSkill
- delegateSkill
- design-a-systemSkill
- design-doc-reviewSkill
- gh-repo-createSkill
- ig-savesSkill
- interrogateSkill
- mentor-aristotleSkill
- mentor-attiaSkill
- mentor-aureliusSkill
- mentor-bloomSkill
- mentor-brownSkill
- mentor-buffettSkill
- mentor-builderSkill
- mentor-carnegieSkill
- mentor-clearSkill
- mentor-councilSkill
- mentor-cunninghamSkill
- mentor-dalioSkill
- mentor-davinciSkill
- mentor-demingSkill
- mentor-ferrissSkill
- mentor-feynmanSkill
- mentor-franklSkill
- mentor-garyveeSkill
- mentor-godinSkill
- mentor-gogginsSkill
- mentor-greeneSkill
- mentor-holidaySkill
- mentor-hormoziSkill
- mentor-houselSkill
- mentor-jockoSkill
- mentor-jungSkill
- mentor-kahnemanSkill
- mentor-kingSkill
- The first 60 shown.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

