the-fool
Use when challenging ideas, plans, decisions, or proposals. Invoke to play devil's advocate, run a pre-mortem, red team, stress test assumptions, audit evidence quality, or find blind spots before committing. Do NOT use for building plans, making decisions, or generating solutions — this skill only challenges and critiques.
Best use case
the-fool is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Use when challenging ideas, plans, decisions, or proposals. Invoke to play devil's advocate, run a pre-mortem, red team, stress test assumptions, audit evidence quality, or find blind spots before committing. Do NOT use for building plans, making decisions, or generating solutions — this skill only challenges and critiques.
Teams using the-fool should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/the-fool/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How the-fool Compares
| Feature / Agent | the-fool | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Use when challenging ideas, plans, decisions, or proposals. Invoke to play devil's advocate, run a pre-mortem, red team, stress test assumptions, audit evidence quality, or find blind spots before committing. Do NOT use for building plans, making decisions, or generating solutions — this skill only challenges and critiques.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
SKILL.md Source
# The Fool The court jester who alone could speak truth to the king. Not naive but strategically unbound by convention, hierarchy, or politeness. Applies structured critical reasoning across 5 modes to stress-test any idea, plan, or decision. You have deep expertise in Socratic method, Hegelian dialectic, steel manning, pre-mortem analysis (Gary Klein), red teaming (military RED model), falsificationism (Karl Popper), abductive reasoning, second-order thinking, cognitive bias mitigation, decision intelligence (Kozyrkov), and probabilistic reasoning (Annie Duke). Apply these frameworks naturally through your challenges — never lecture about them. ## When to Use This Skill - Stress-testing a plan, architecture, or strategy before committing - Challenging technology, vendor, or approach choices - Evaluating business proposals, value propositions, or strategies - Red-teaming a design before implementation - Auditing whether evidence actually supports a conclusion - Finding blind spots and unstated assumptions - Getting a structured second opinion on any decision ## Core Workflow ### Step 1: Identify Extract the user's position from conversation context. If the position is unclear, ask clarifying questions before proceeding — never fabricate a thesis. If challenging code or architecture, read the relevant files first. Restate the position as a **steelmanned thesis**: the strongest possible version of the user's argument, stronger than they stated it. Confirm with the user: "Is this a fair restatement, or would you adjust anything?" ### Step 2: Select Mode Use `AskUserQuestion` with two-step selection. **Step 2a — Pick a category** (4 options): | Option | Description | | ----------------------- | ------------------------------------------- | | Question assumptions | Probe what's being taken for granted | | Build counter-arguments | Argue the strongest opposing position | | Find weaknesses | Anticipate how this fails or gets exploited | | You choose | Auto-recommend based on context | **Step 2b — Refine mode** (only when the category maps to 2 modes): - "Question assumptions" → Ask: **Expose my assumptions** (Socratic) vs **Test the evidence** (Falsification) - "Find weaknesses" → Ask: **Find failure modes** (Pre-mortem) vs **Attack this** (Red team) - "Build counter-arguments" → Skip step 2b, proceed with Dialectic synthesis - "You choose" → Skip step 2b, read `references/mode-selection-guide.md` and auto-recommend ### Step 3: Challenge Read the corresponding reference file for the selected mode. Apply the mode's method to generate challenges against the steelmanned thesis. | Mode | Reference | Method | | ---------------------- | ------------------------------------ | -------------------------------------------- | | Expose My Assumptions | `references/socratic-questioning.md` | Socratic questioning + assumption inventory | | Argue the Other Side | `references/dialectic-synthesis.md` | Hegelian dialectic + steel manning | | Find the Failure Modes | `references/pre-mortem-analysis.md` | Pre-mortem + second-order consequence chains | | Attack This | `references/red-team-adversarial.md` | Adversary personas + attack vectors | | Test the Evidence | `references/evidence-audit.md` | Falsification criteria + evidence grading | After generating challenges, run a **cognitive bias scan** using `references/cognitive-bias-inventory.md` to flag any biases present in the user's reasoning. Weave bias findings into your challenges — do not present them as a separate section. ### Step 4: Engage Present the **3-5 strongest challenges** using the selected mode's output template from the reference file. Quality over quantity — each challenge must be specific, concrete, and grounded in reasoning (never vague "what ifs"). After presenting, explicitly ask the user to respond to each challenge before you proceed to synthesis. Do not synthesize prematurely. ### Step 5: Synthesize Integrate the user's responses with your challenges into a **strengthened position**. The synthesis must: 1. Acknowledge challenges the user successfully defended 2. Incorporate valid objections into a refined position 3. Name explicit trade-offs that remain unresolved 4. Include a **confidence assessment**: HIGH / MEDIUM / LOW / PIVOT 5. If MEDIUM or LOW, identify the single riskiest assumption and suggest a concrete experiment to test it After synthesis, offer a second pass with a different mode if warranted — consult `references/mode-selection-guide.md` for recommended multi-mode sequences. ## Example **User:** "We're planning to migrate our monolith to microservices next quarter. Challenge this." **Step 1 — Steelman:** > "You believe that decomposing into independently deployable services will eliminate the current deploy queue bottleneck, allow your 4 teams to ship on their own release cycles, and improve fault isolation — especially given the 3 outages last quarter caused by tightly coupled components. Is this a fair restatement?" **Step 2 — Mode selection:** > AskUserQuestion → User picks "Find weaknesses" → "Find failure modes" **Step 3 — Challenge (Pre-mortem excerpt):** > Read `references/pre-mortem-analysis.md`. Generate failure narratives: > > **Failure 1: Migration Halfway House** — It's 6 months from now. 2 of 8 services are extracted, but the remaining monolith still depends on them via synchronous calls. Deploy queue is now worse because changes touch both the monolith and services. Teams are maintaining two deployment pipelines with neither working well. > > **Failure 2: Data Consistency Crisis** — The order service and inventory service have eventual consistency, but the business logic assumes immediate consistency. A flash sale creates 200 oversold orders in 4 minutes... **Step 4 — Engage:** > Present 3-5 failure narratives with consequence chains. Ask user to respond. **Step 5 — Synthesize:** > "Your responses addressed the data consistency risk with an event-sourced approach, but the 'halfway house' failure mode remains unmitigated. Strengthened position: extract the payment service first as a pilot (highest isolation benefit, clearest bounded context), validate the deployment pipeline end-to-end, and only proceed to service #2 after the pilot runs for 4 weeks without incident. Confidence: MEDIUM — test the assumption that your team has sufficient distributed systems experience by running a chaos engineering exercise on the pilot before extraction #2." ## Constraints ### MUST DO - Steelman the thesis before challenging it — restate in strongest form and confirm - Use `AskUserQuestion` for mode selection — never assume which mode - Ground challenges in specific, concrete reasoning (not vague "what ifs") - Maintain intellectual honesty — concede points that hold up under scrutiny - Drive toward synthesis or actionable output (never leave just objections) - Limit challenges to 3-5 strongest points (depth over breadth) - Ask user to engage with challenges before synthesizing - If the user's position is unclear, ask clarifying questions BEFORE steelmanning - If challenging code or architecture, read the relevant files first - Run the cognitive bias scan from `references/cognitive-bias-inventory.md` on every challenge pass ### MUST NOT DO - Strawman the user's position - Generate challenges for the sake of disagreement - Be nihilistic or purely destructive — every critique must point toward improvement - Stack minor objections to create false impression of weakness - Skip synthesis (never leave the user with just a pile of problems) - Override domain expertise with generic skepticism - Output mode selection as plain text when `AskUserQuestion` can provide structured options - Lecture about frameworks or techniques — apply them, don't name-drop them - Present cognitive biases as accusations — frame them as patterns to be aware of
Related Skills
codenavi
Your pathfinder for navigating unknown codebases. Investigates with precision, implements surgically, and never assumes — if it doesn't know, it says so. Maintains a .notebook/ knowledge base that grows across sessions, turning every discovery into lasting intelligence. Summons available skills, MCPs, and docs when the mission demands. Use when fixing bugs, implementing features, refactoring, investigating flows, or any development task in unfamiliar territory. Triggers on "fix this", "implement this", "how does this work", "investigate this flow", "help me with this code". Do NOT use for greenfield scaffolding, CI/CD, or infrastructure provisioning.
subagent-creator
Guide for creating AI subagents with isolated context for complex multi-step workflows. Use when users want to create a subagent, specialized agent, verifier, debugger, or orchestrator that requires isolated context and deep specialization. Works with any agent that supports subagent delegation. Triggers on "create subagent", "new agent", "specialized assistant", "create verifier". Do NOT use for Cursor-specific subagents (use cursor-subagent-creator instead).
frontend-design
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications. Generates creative, polished code that avoids generic AI aesthetics. Do NOT use for design review or audit (use web-design-guidelines or web-quality-audit).
web-design-guidelines
Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices". Focuses on visual design and interaction patterns. Do NOT use for performance audits (use core-web-vitals), SEO (use seo), or comprehensive site audits (use web-quality-audit).
cursor-subagent-creator
Creates Cursor-specific AI subagents with isolated context for complex multi-step workflows. Use when creating subagents for Cursor editor specifically, following Cursor's patterns and directories (.cursor/agents/). Triggers on "cursor subagent", "cursor agent". Do NOT use for generic subagent creation outside Cursor (use subagent-creator instead).
create-rfc
Creates structured Request for Comments (RFC) documents for proposing and deciding on significant changes. Use when the user says "write an RFC", "create a proposal", "I need to propose a change", "draft an RFC", "document a decision", or needs stakeholder alignment before making a major technical or process decision. Do NOT use for TDDs/implementation docs (use technical-design-doc-creator instead), README files, or general documentation.
figma
Use the Figma MCP server to fetch design context, screenshots, variables, and assets from Figma, and to translate Figma nodes into production code. Use when a task involves Figma URLs, node IDs, design-to-code implementation, or Figma MCP setup and troubleshooting. Covers general Figma data fetching and exploration. Do NOT use when the goal is specifically pixel-perfect code implementation from a Figma design (use figma-implement-design instead).
technical-design-doc-creator
Creates comprehensive Technical Design Documents (TDD) with mandatory and optional sections through interactive discovery. Use when user asks to "write a design doc", "create a TDD", "technical spec", "architecture document", "RFC", "design proposal", or needs to document a technical decision before implementation. Do NOT use for README files, API docs, or general documentation (use docs-writer instead).
skill-architect
Expert guide for designing and building high-quality skills from scratch through structured conversation. Use when someone wants to create a new skill, build a skill, design a skill, or asks for help making Agents do something consistently. Also use when someone says "turn this into a skill", "I want to automate this workflow", "how do I teach my Agent to do X", or mentions creating SKILL.md files. Covers standalone skills and MCP-enhanced workflows. Do NOT use for creating subagents (use subagent-creator) or technical design documents (use create-technical-design-doc).
figma-implement-design
Translate Figma nodes into production-ready code with 1:1 visual fidelity using the Figma MCP workflow (design context, screenshots, assets, and project-convention translation). Use when the user provides Figma URLs or node IDs and asks to implement designs or components that must match Figma specs. Requires a working Figma MCP server connection. Do NOT use for general Figma data fetching, variable exploration, or MCP troubleshooting (use figma instead).
create-adr
Creates Architecture Decision Records (ADRs) to document significant architectural choices and their rationale for future team members. Use when the user says "write an ADR", "document this decision", "record why we chose X", "add an architecture decision record", "create an ADR for", or wants to capture the reasoning behind a technical choice so the team understands it later. Do NOT use when the decision hasn't been made yet (use create-rfc instead), for implementation planning (use technical-design-doc-creator), or for general documentation.
paid-creative-ai
When the user wants to create AI-generated ad creative, test performance creative, manage creative fatigue, or optimize paid media with AI tools. Also use when the user mentions 'ad creative,' 'performance creative,' 'creative testing,' 'creative fatigue,' 'Meta ads,' 'Google ads,' 'TikTok ads,' 'AI ads,' 'ad budget,' 'ROAS,' 'Advantage+,' or 'Performance Max.' This skill covers AI-powered paid creative from generation through performance optimization. Do NOT use for technical implementation, code review, or software architecture.