
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. For a multi-agent panel that challenges and then commits to a verdict, use the-jury.
- Installs
- 227
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/tech-leads-club/agent-skills --skill the-fool- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads the-fool automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
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.mdand 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:
- Acknowledge challenges the user successfully defended
- Incorporate valid objections into a refined position
- Name explicit trade-offs that remain unresolved
- Include a confidence assessment: HIGH / MEDIUM / LOW / PIVOT
- 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
AskUserQuestionfor 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.mdon 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
AskUserQuestioncan 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
FAQ
What does the the-fool 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. For a multi-agent panel that challenges and then commits to a verdict, use the-jury.
How do I install the-fool?
Run npx skills add https://github.com/tech-leads-club/agent-skills --skill the-fool in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/the-fool/ (personal) or .claude/skills/the-fool/ (project).
Which AI agents can use the-fool?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is the-fool safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains the-fool?
It is published by tech-leads-club in tech-leads-club/agent-skills. It has 227 recorded installs.
More from tech-leads-club/agent-skills
tlc-spec-driven
tech-leads-club/agent-skills
Feature planning and implementation with 4 adaptive phases (Specify, Design, Tasks, Execute). Auto-sizes depth by complexity. Asks every product decision before the spec is approved, writes testable requirements in EARS notation, atomic tasks with a gate and a commit each, and one check per criterion with the test that proves it. Captures that come with the request bind, and each screen is judged against them. Ships deterministic Python scripts so the gates are enforced by code, not memory; the proofs run once at the end, and an independent Verifier (author != verifier) spends its time on mutations and judgement. Use when (1) planning features, (2) implementing with verification and atomic commits, (3) validating an implementation against a spec. Triggers on "specify feature", "discuss feature", "design", "tasks", "implement", "validate", "verify work", "UAT", "record decision", "pause work", "resume work". Do NOT use for pure architecture decomposition analysis or standalone technical
subagent-creator
tech-leads-club/agent-skills
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).
technical-design-doc-creator
tech-leads-club/agent-skills
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).
security-best-practices
tech-leads-club/agent-skills
Perform language and framework specific security best-practice reviews and suggest improvements. Use when the user explicitly requests security best practices guidance, a security review or report, or secure-by-default coding help. Supports Python, JavaScript/TypeScript, and Go. Do NOT use for general code review, debugging, threat modeling (use security-threat-model), or non-security tasks.
domain-analysis
tech-leads-club/agent-skills
Maps business domains and suggests service boundaries in any codebase using DDD Strategic Design. Use when asking "what are the domains in this codebase?", "where should I draw service boundaries?", "identify bounded contexts", "classify subdomains", "DDD analysis", or analyzing domain cohesion. Do NOT use for grouping existing components into domains (use domain-identification-grouping) or dependency analysis (use coupling-analysis).
nestjs-modular-monolith
tech-leads-club/agent-skills
Specialist in designing and implementing scalable modular monolith architectures using NestJS with DDD, Clean Architecture, and CQRS patterns. Use when building modular monolith backends, designing bounded contexts, creating domain modules, implementing event-driven module communication, or when user mentions "modular monolith", "bounded contexts", "module boundaries", "DDD", "CQRS", "clean architecture NestJS", or "monolith to microservices". Do NOT use for simple CRUD APIs, frontend work, general NestJS questions without architectural context, or stack-agnostic evolutionary modular monolith design (use evolutionary-modular-architecture).
Popular ai & agents skills
google-agents-cli-publish
google/agents-cli
This skill should be used when the user wants to "publish an agent", "publish my ADK agent", "register an agent with Gemini", "publish to Gemini" (formerly Gemini Enterprise), or needs guidance on the agents-cli publish gemini command. Also use when the user wants to "manage agents in Agent Registry", "list/update/delete registered agents", or "register an MCP server". Covers ADK vs A2A registration modes, programmatic and interactive usage, flag reference, auto-detection from deployment metadata, Agent Registry fleet management, and troubleshooting. Part of the agents-cli skills suite. Do NOT use for deployment (use google-agents-cli-deploy).
google-agents-cli-eval
google/agents-cli
This skill should be used when the user wants to "run an evaluation", "evaluate my agent", "evaluate my ADK agent", "write an eval dataset", "analyze eval failures", "compare eval results", "optimize agent", or needs guidance on the Gemini platform eval methodology and the Quality Flywheel. Covers eval metrics, dataset schema, LLM-as-judge scoring, and common failure causes. Applies to any agents-cli project, whatever framework the agent is written in. Do NOT use for agent API code patterns (ADK: use google-agents-cli-adk-code), deployment (use google-agents-cli-deploy), or project scaffolding (use google-agents-cli-scaffold).
skill-creator
anthropics/skills
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
codex-pet
prime-skills/runcomfy-agent-skills
Codex Pet generator on RunComfy. Build a Codex-compatible Codex Pet spritesheet.webp + pet.json from a single reference image, drop it into ${CODEXHOME:-$HOME/.codex}/pets/ / and Codex picks it up as a custom Codex Pet next to the 8 built-ins. This skill produces the exact Codex Pet atlas Codex expects (1536x1872 PNG/WebP, 8 cols x 9 rows, 192x208 cells, 9 animation states — idle, running-right, running-left, waving, jumping, failed, waiting, running, review). Calls OpenAI GPT Image 2 edit ONCE via the local RunComfy CLI as runcomfy run openai/gpt-image-2/edit to produce a canonical Codex Pet pose, then assembles all 9 animation rows programmatically with ImageMagick micro-transforms — no Codex Pro, no $imagegen, no OPENAIAPIKEY required, only RUNCOMFYTOKEN. Triggers on "codex pet", "create codex pet", "make codex pet", "hatch codex pet", "/hatch image", "desktop pet codex", "codex pets", "spritesheet.webp", or any explicit ask to build a custom pet for OpenAI Codex.
full-output-enforcement
leonxlnx/taste-skill
Overrides default LLM truncation behavior. Enforces complete code generation, bans placeholder patterns, and handles token-limit splits cleanly. Apply to any task requiring exhaustive, unabridged output.
executing-plans
obra/superpowers
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available