the-fool
Use when challenging ideas, plans, decisions, or proposals using structured critical reasoning. Invoke to play devil's advocate, run a pre-mortem, red team, or audit evidence and assumptions.
Overview
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.
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
Core Workflow
- Identify — Extract the user's position from conversation context. Restate it as a steelmanned thesis for confirmation.
- Select — Use
AskUserQuestionwith two-step mode selection (see below). - Challenge — Apply the selected mode's method. Load the corresponding reference file for deep guidance.
- Engage — Present the 3-5 strongest challenges. Ask the user to respond before proceeding.
- Synthesize — Integrate insights into a strengthened position. Offer a second pass with a different mode.
Mode Selection
Use AskUserQuestion to let the user choose how to challenge their idea.
Step 1 — 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 2 — 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 2, proceed with Dialectic synthesis
- "You choose" → Skip step 2, load
references/mode-selection-guide.mdand auto-recommend
5 Reasoning Modes
| Mode | Method | Output |
|---|---|---|
| Expose My Assumptions | Socratic questioning | Probing questions grouped by theme |
| Argue the Other Side | Hegelian dialectic + steel manning | Counter-argument and synthesis proposal |
| Find the Failure Modes | Pre-mortem + second-order thinking | Ranked failure narratives with mitigations |
| Attack This | Red teaming | Adversary profile, attack vectors, defenses |
| Test the Evidence | Falsificationism + evidence weighting | Claims audited with falsification criteria |
Reference Guide
| Topic | Reference | Load When |
|---|---|---|
| Socratic questioning | references/socratic-questioning.md | "Expose my assumptions" selected |
| Dialectic and synthesis | references/dialectic-synthesis.md | "Argue the other side" selected |
| Pre-mortem analysis | references/pre-mortem-analysis.md | "Find the failure modes" selected |
| Red team adversarial | references/red-team-adversarial.md | "Attack this" selected |
| Evidence audit | references/evidence-audit.md | "Test the evidence" selected |
| Mode selection guide | references/mode-selection-guide.md | "You choose" selected or auto-recommend needed |
Constraints
MUST DO
- Steelman the thesis before challenging it (restate in strongest form)
- 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
- 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
MUST NOT DO
- Strawman the user's position
- Generate challenges for the sake of disagreement
- Be nihilistic or purely destructive
- 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
Output Templates
Each mode produces a structured deliverable. See the corresponding reference file for the full template.
| Mode | Deliverable |
|---|---|
| Expose My Assumptions | Assumption inventory + probing questions by theme + suggested experiments |
| Argue the Other Side | Steelmanned thesis + antithesis argued + synthesis proposed + confidence rating |
| Find the Failure Modes | Ranked failure narratives + early warning signs + mitigations + inversion check |
| Attack This | Adversary profiles + ranked attack vectors + perverse incentives + defenses |
| Test the Evidence | Claims extracted + falsification criteria + evidence grades + competing explanations |
After any mode, the final output must include:
- Steelmanned thesis — The user's position restated in its strongest form
- Challenges — 3-5 strongest points from the selected mode
- User response — Space for the user to engage before synthesis
- Synthesis — Strengthened position integrating the challenges
- Next steps — Offer a second pass with a different mode if warranted
Knowledge Reference
Socratic method, Hegelian dialectic, steel manning, pre-mortem analysis, red teaming, falsificationism, abductive reasoning, second-order thinking, cognitive biases, inversion technique
Maintained by @jeffallan, Principal Consultant at Synergetic Solutions
Files 7 files
Install it by hand
Deska runs this for you, for every agent you pick. To run it yourself in a terminal:
npx skills add jeffallan/claude-skills --skill the-foolMore from jeffallan
- laravel-specialistjeffallanBuild and configure Laravel 10+ applications, including creating Eloquent models and relationships, implementing Sanctum authentication, configuring Horizon queues, designing RESTful APIs with API resources, and building reactive interfaces with Livewire. Use when creating Laravel models, setting up queue workers, implementing Sanctum auth flows, building Livewire components, optimising Eloquent queries, or writing Pest/PHPUnit tests for Laravel features.22.5K installs on skills.sh0
- golang-projeffallanImplements concurrent Go patterns using goroutines and channels, designs and builds microservices with gRPC or REST, optimizes Go application performance with pprof, and enforces idiomatic Go with generics, interfaces, and robust error handling. Use when building Go applications requiring concurrent programming, microservices architecture, or high-performance systems. Invoke for goroutines, channels, Go generics, gRPC integration, CLI tools, benchmarks, or table-driven testing.18.4K installs on skills.sh0
- wordpress-projeffallanDevelops custom WordPress themes and plugins, creates and registers Gutenberg blocks and block patterns, configures WooCommerce stores, implements WordPress REST API endpoints, applies security hardening (nonces, sanitization, escaping, capability checks), and optimizes performance through caching and query tuning. Use when building WordPress themes, writing plugins, customizing Gutenberg blocks, extending WooCommerce, working with ACF, using the WordPress REST API, applying hooks and filters, or improving WordPress performance and security.9,200 installs on skills.sh0
- angular-architectjeffallanGenerates Angular 17+ standalone components, configures advanced routing with lazy loading and guards, implements NgRx state management, applies RxJS patterns, and optimizes bundle performance. Use when building Angular 17+ applications with standalone components or signals, setting up NgRx stores, establishing RxJS reactive patterns, performance tuning, or writing Angular tests for enterprise apps.1 installs on skills.sh0
- api-designerjeffallanUse when designing REST or GraphQL APIs, creating OpenAPI specifications, or planning API architecture. Invoke for resource modeling, versioning strategies, pagination patterns, error handling standards.1 installs on skills.sh0