packages/skills-catalog/skills/(decision-making)/the-fool/SKILL.md
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.
npx skillsauth add tech-leads-club/agent-skills the-foolInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
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?"
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):
references/mode-selection-guide.md and auto-recommendRead 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.
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.
Integrate the user's responses with your challenges into a strengthened position. The synthesis must:
After synthesis, offer a second pass with a different mode if warranted — consult references/mode-selection-guide.md for recommended multi-mode sequences.
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."
AskUserQuestion for mode selection — never assume which modereferences/cognitive-bias-inventory.md on every challenge passAskUserQuestion can provide structured optionstools
Feature planning and implementation with 4 adaptive phases (Specify, Design, Tasks, Execute). Auto-sizes depth by complexity. Writes testable requirements in EARS notation, atomic tasks, atomic Conventional Commits, and requirement traceability. Ships deterministic Python validation scripts so structural gates are enforced by code, not memory. Features an independent Verifier (author != verifier, evidence-or-zero), a discrimination sensor, a decision log (STATE.md), a test-coverage matrix, and a self-improving lessons layer. Stack-agnostic and tool-agnostic. 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 design documents.
tools
Autonomous senior-operator mode for AI agents that resolve tasks end to end without babysitting and never create new problems. The agent verifies every claim against real evidence (web search dated to the current month and year, the codebase, and available tools, MCPs, and CLIs); it never guesses, never fakes confidence, and never claims something is done without proof. It stays silent and keeps working, interrupting the user only on three stops, namely a destructive or irreversible action, a dead-end with no evidence after exhausting sources, or genuine ambiguity that changes the outcome. Output is short, literal, and human. Use when the user says "not-your-babysitter", "nanny mode", "work autonomously", "stop babysitting", or "no hand-holding", or wants an agent that solves problems on its own, especially hands-on engineering and operational tasks. Do not use when the user explicitly wants a tutorial, a verbose walkthrough, or open-ended brainstorming.
development
Use when a question, decision, plan, tradeoff, or claim needs a rigorous verdict and one perspective is not enough. Spawns a panel of 3 to 5 subagent jurors that form independent blind opinions, deliberate anonymously under an anti-anchoring and anti-sycophancy protocol, and return one committed verdict with confidence, preserved dissent, and a concrete next action. Domain-agnostic across engineering, architecture, data, product, hiring, strategy, vendor choice, build-vs-buy, and research design. Trigger phrases include "convene a jury", "have agents debate and decide", "get a panel to decide", "multi-agent decision", "stress-test this and decide", "monte um juri", "tribunal de agentes", "painel para decidir". Do NOT use to only critique without deciding (use the-fool for that), to build a plan or write the solution itself, or for simple factual lookups.
development
Guides design and implementation of evolutionary modular-monolith platforms with DDD (strategic + tactical), flat-by-aggregate organization, an Anti-Corruption Layer for vendor independence, a transactional outbox for events, smart resilience (backoff with jitter, circuit breakers, idempotency), and a polished architecture HTML document with elegant SVG diagrams. Use when designing a platform or backend, defining bounded contexts, organizing modules and folders, choosing monolith vs microservices, decoupling from an external service (ERP, storage, AI), making calls resilient, adding real-time push, picking a 2026 TypeScript stack (Nx, NestJS, React), or producing an architecture document or diagram. Also triggers on 'modular monolith', 'bounded contexts', 'flat-by-aggregate', 'ports and adapters', 'architecture diagram'. Do NOT use for simple CRUD, NestJS-only deep implementation (use nestjs-modular-monolith), or pure domain-model review (use tactical-ddd).