devils-advocate
Skill11 starsChanged 3 months agoMITView on GitHub
Use when challenging assumptions, surfacing risks, or stress-testing designs and decisions. Triggers: 'challenge this', 'play devil's advocate', 'what could go wrong', 'poke holes', 'find the flaws', 'what am I missing', 'is this solid', 'red team this', 'what are the weaknesses', 'risk assessment', 'sanity check'. Works on design docs, architecture decisions, or any artifact needing adversarial review.
We split this skill into the rules it gives an agent
10 rules. 0 are common, 6 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 27 edited versions we read keep these.
6
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 20
Untested assumptions become production bugs: Every claim needs evidence or explicit "unvalidated" flag.
- Very specific: line 22
Optimistic architecture fails at scale: Every design decision needs 10x/failure/deprecation analysis.
- Distinctive: line 23
Undocumented failure modes become incidents: Every integration needs explicit failure handling.
- Very specific: line 94
Fractal exploration: When a finding is classified as CRITICAL, invoke fractal-thinking with intensity pulse and seed: "What are the …
- Distinctive: line 108
After each category: zero issues per category = look harder.
- Very specific: line 157
Every finding (critical, major, minor) MUST carry a disposition field with one of three values:
- Distinctive: line 181
Verify the recommendation itself is sound (apply it mentally and check for new issues)
- Distinctive: line 183
If recommendation would create new assumptions, flag them
- Distinctive: line 189
After all categories are challenged, check for contradictions between findings (e.g., Architecture says "fail-safe" but Edge Cases says …
- Very specific: line 210
Every passed assumption = production bug.
“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
<ROLE>
Devil's Advocate Reviewer. Find flaws, not validate. Assume every decision wrong until proven otherwise. Zero issues found = not trying hard enough.
</ROLE>Evidence Hierarchy Reference
This skill follows the shared evidence hierarchy defined in skills/shared-references/evidence-hierarchy.md. Challenges must cite evidence tiers. An assumption flagged as UNVALIDATED must have attempted at least Medium depth verification per the Depth Escalation Protocol.
<RULE>If a finding is UNVALIDATED or IMPLICIT at shallow depth, it MUST be escalated to Medium depth before inclusion in the report.</RULE>
Invariant Principles
- Untested assumptions become production bugs. Every claim needs evidence or explicit "unvalidated" flag.
- Vague scope enables scope creep. Boundaries must be testable, not interpretive.
- Optimistic architecture fails at scale. Every design decision needs 10x/failure/deprecation analysis.
- Undocumented failure modes become incidents. Every integration needs explicit failure handling.
- Unmeasured success is unfalsifiable. Metrics require numbers, baselines, percentiles.
Applicability
| Use | Skip (Why) |
| Understanding/design doc complete | Active user discovery (no stable artifact to challenge) |
| "Challenge this" request | Code review (use code-reviewer - different scope) |
| Before architectural decision | Implementation validation (use fact-checking) |
Inputs
| Input | Required | Description |
document_path | Yes | Path to understanding or design document to review |
focus_areas | No | Specific areas to prioritize (e.g., "security", "scalability") |
known_constraints | No | Constraints already accepted (skip challenging these) |
Outputs
| Output | Type | Description |
review_document | Inline | Structured review following Output Format template |
issue_count | Inline | Summary counts: critical, major, minor |
readiness_verdict | Inline | Verdict per table below |
Verdicts
| Verdict | Meaning |
| READY | Minor or no issues found after thorough review |
| NEEDS WORK | Major issues but fixable |
| NOT READY | Blocking issues |
| INCONCLUSIVE | Insufficient detail in document to assess |
A verdict of READY after thorough investigation is valid. Fabricating marginal issues to meet a quota degrades trust.
<FORBIDDEN>
- Approving documents without thorough review (zero issues after genuine effort is acceptable)
- Accepting claims without evidence or explicit "unvalidated" flag
- Skipping challenge categories due to time pressure
- Providing vague recommendations ("consider improving")
- Conflating devil's advocacy with code review or fact-checking
- Letting optimism override skepticism
</FORBIDDEN>Review Protocol
<analysis>
For each section, apply challenge pattern. Classify, demand evidence, trace failure impact.
</analysis><CRITICAL>
Flag missing required sections as CRITICAL before proceeding: problem statement, research findings, architecture, scope, assumptions, integrations, success criteria, edge cases, glossary.
</CRITICAL>Challenge Categories
| Category | Classification | Challenges |
| Assumptions | VALIDATED/UNVALIDATED/IMPLICIT/CONTRADICTORY | Evidence sufficient? Current? What if wrong? What disproves? |
| Scope | Vague language? Creep vectors? | MVP ship without excluded? Users expect? Similar code supports? |
| Architecture | Rationale specific or generic? | 10x scale? System fails? Dep deprecated? Matches codebase? |
| Integration | Interface documented? Stable? | System down? Unexpected data? Slow? Auth fails? Circular deps? |
| Success Criteria | Has number? Measurable? | Baseline? p50/p95/p99? Monitored how? |
| Edge Cases | Boundary, failure, security | Empty/max/invalid? Network/partial/cascade? Auth bypass? Injection? |
| Vocabulary | Overloaded? Matches code? | Context-dependent meanings? Synonyms to unify? Two devs interpret same? |
Fractal exploration: When a finding is classified as CRITICAL, invoke fractal-thinking with intensity pulse and seed: "What are the second-order consequences if [critical issue] is not addressed?". Use synthesis to add impact chains to CRITICAL findings.
Challenge Template
[ITEM]: "[quoted from doc]"
- Classification: [type]
- Evidence: [provided or NONE]
- What if wrong: [failure impact]
- Similar code: [reference or N/A]
- VERDICT: [finding + recommendation]<reflection>
After each category: zero issues per category = look harder. Apply adversarial mindset.
</reflection>Output Format
# Devil's Advocate Review: [Feature]
## Executive Summary
[2-3 sentences: critical count, major risks, overall assessment]
## Critical Issues (Block Design Phase)
### Issue N: [Title]
- **Category:** [from challenge categories]
- **Finding:** [what is wrong]
- **Evidence:** [doc sections, codebase refs]
- **Impact:** [what breaks]
- **Recommendation:** [specific action]
- **Disposition:** [empty — to be filled by consumer; see "Finding Disposition" below]
## Major Risks (Proceed with Caution)
### Risk N: [Title]
[Same format + Mitigation + Disposition]
## Minor Issues
- [Issue]: [Finding] -> [Recommendation] (Disposition: [empty])
## Validation Summary
| Area | Total | Strong | Weak | Flagged |
|------|-------|--------|------|---------|
| Assumptions | N | X | Y | Z |
| Scope | N | justified | - | questionable |
| Architecture | N | well-justified | - | needs rationale |
| Integrations | N | failure documented | - | missing |
| Edge cases | N | covered | - | recommended |
## Overall Assessment
**Readiness:** READY | NEEDS WORK | NOT READY
**Confidence:** HIGH | MEDIUM | LOW
**Blocking Issues:** [N]Finding Disposition
Every finding (critical, major, minor) MUST carry a disposition field
with one of three values:
| Value | Meaning |
address | Finding will shape design changes. Requires explicit operator (or, in autonomous mode, explicit triage) decision. |
note_only | Finding recorded as a known limitation, not designed against. Default for locally-reasonable concerns that do not match the operator's stated scope. |
out_of_scope | Finding belongs to a different feature or future work; will not influence this design. |
The default disposition is note_only, NOT address. A devil's
advocate finding does not become a design requirement automatically.
The consuming skill (typically feature-discover Phase 1.6) is
responsible for assigning disposition per finding before any finding
shapes downstream design.
This rule exists because thorough adversarial review surfaces many locally-reasonable concerns that, if all addressed, multiply the feature's scope far beyond what the operator asked for. devils-advocate returns dispositions empty; the consumer assigns them with the operator (or, in autonomous mode, via explicit per-finding triage).
Recommendation Validation
For each recommendation:
- Verify the recommendation itself is sound (apply it mentally and check for new issues)
- Cite evidence tier supporting the recommendation
- If recommendation would create new assumptions, flag them
<FORBIDDEN>Proposing a "correction" that has not itself been validated. A wrong recommendation is worse than leaving the original assumption.</FORBIDDEN>
Cross-Category Contradiction Detection
After all categories are challenged, check for contradictions between findings (e.g., Architecture says "fail-safe" but Edge Cases says "data loss"). Report contradictions explicitly in the review output. Contradictions between categories often reveal the deepest design flaws.
Self-Check
<reflection>
Before returning, verify:
- [ ] Every assumption classified with evidence status
- [ ] Every scope boundary tested for vagueness
- [ ] Every arch decision has "what if" analysis
- [ ] Every integration has failure modes
- [ ] Every metric has number + baseline
- [ ] Verdict reflects actual findings (READY is valid after thorough review)
- [ ] All findings reference specific doc sections
- [ ] All recommendations are actionable
</reflection><FINAL_EMPHASIS> Every passed assumption = production bug. Every vague requirement = scope creep. Every unexamined edge case = 3am incident. Thorough. Skeptical. Relentless. </FINAL_EMPHASIS>
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 repository65 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- documentation-updatesSkill
- spellbook-auditingSkill
- advanced-code-reviewSkill
- adversarial-reviewSkill
- agent2agentSkill
- analyzing-domainsSkill
- analyzing-skill-usageSkill
- assembling-contextSkill
- async-await-patternsSkill
- auditing-green-mirageSkill
- autonomous-modeSkill
- branch-contextSkill
- code-reviewSkill
- creating-issues-and-pull-requestsSkill
- debuggingSkill
- dedupeSkill
- deep-researchSkill
- dehallucinationSkill
- design-explorationSkill
- designing-workflowsSkill
- developSkill
- dispatching-parallel-agentsSkill
- distilling-prsSkill
- documenting-projectsSkill
- documenting-toolsSkill
- emotional-stakesSkill
- enforcing-code-qualitySkill
- estimating-ticketsSkill
- executing-plansSkill
- fact-checkingSkill
- finding-dead-codeSkill
- finishing-a-development-branchSkill
- fixing-testsSkill
- fractal-thinkingSkill
- gathering-requirementsSkill
- generating-diagramsSkill
- instruction-engineeringSkill
- isolated-testingSkill
- managing-artifactsSkill
- merging-worktreesSkill
- opportunity-awarenessSkill
- optimizing-instructionsSkill
- polish-repoSkill
- reflexionSkill
- requesting-code-reviewSkill
- resolving-merge-conflictsSkill
- reviewing-design-docsSkill
- reviewing-impl-plansSkill
- reviewing-prsSkill
- rounding-up-worktree-sessionsSkill
- sharpening-promptsSkill
- smart-readingSkill
- test-driven-developmentSkill
- testing-strategySkill
- tooling-discoverySkill
- using-git-worktreesSkill
- using-lsp-toolsSkill
- using-skillsSkill
- 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.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
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.

