socratic-method
Skill10 starsChanged 39 days agoMITView on GitHub
Refine vague, complex, or high-stakes prompts through Socratic dialogue — surfaces hidden assumptions, probes reasoning, and iterates toward clarity before committing to an implementation.
3 other projects use a version of this.
Adopted by
Most recently taken up by
- Kayforkind/book-guide-mcptheir own version, first seen Oct 11, 2026
- ergini/socratic-methodtheir own version, first seen Jul 11, 2026
- malkreide/socratic-method-skilltheir own version, first seen Feb 18, 2026
Other versions3 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 3
- malkreide/socratic-method-skill★ 33same name
- ergini/socratic-method★ 1same name
- Kayforkind/book-guide-mcp★ 1same name
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.
In this repository81 other files it gives its agents.
- AGENTS.mdAGENTS.md
- skills/development/biome-complete/AGENTS.mdAGENTS.md
- skills/development/bun-development/AGENTS.mdAGENTS.md
- skills/development/commanderjs/AGENTS.mdAGENTS.md
- skills/documentation/markdown-authoring/AGENTS.mdAGENTS.md
- skills/package-mgmt/mise-complete/AGENTS.mdAGENTS.md
- skills/testing/bdd-testing/AGENTS.mdAGENTS.md
- agents-mdSkill
- cache-auditSkill
- context-radar-auditSkill
- create-contextSkill
- guided-interviewSkill
- handover-document-creatorSkill
- load-contextSkill
- pick-modelSkill
- pinSkill
- professional-honestySkill
- rules-managementSkill
- save-contextSkill
- session-reflectionSkill
- vault-captureSkill
- vault-consolidateSkill
- vault-fetchSkill
- vault-searchSkill
- bird-fortune-political-satireSkill
- brooker-esque-media-satireSkill
- clarke-dawe-esqueSkill
- comedy-style-skill-generatorSkill
- cunk-esque-mockumentarySkill
- gervais-esque-cringe-satireSkill
- monty-python-esqueSkill
- pryor-esque-confessional-standupSkill
- rock-esque-observational-standupSkill
- biome-completeSkill
- bun-developmentSkill
- commanderjsSkill
- conventional-commitsSkill
- humanizerSkill
- journal-entry-importSkill
- markdown-authoringSkill
- mermaid-diagramsSkill
- plain-englishSkill
- professional-communicationSkill
- sop-structureSkill
- logql-generatorSkill
- mise-completeSkill
- context-indexSkill
- create-context-fileSkill
- follow-upSkill
- goal-trackerSkill
- nasa-pm-lessonsSkill
- plan-createSkill
- plan-executeSkill
- plan-reviewSkill
- risk-registerSkill
- tech-debtSkill
- tech-evaluationSkill
- blast-radiusSkill
- bridgeSkill
- challengeSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
6 rules. About 0 are common, 6 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 18
Consider that the most valuable outcome is not your question being answered — it is the user arriving at insight through their own …
- Distinctive: line 34
NEVER activate for simple, concrete, well-specified tasks ("fix this typo", "rename this variable", "change this value to X").
- Distinctive: line 39
NEVER generate an implementation until all five phases are complete or the user explicitly asks you to stop questioning and proceed.
- Distinctive: line 58
Phase 4 — Challenge through hypotheticals: Use thought experiments to test the reasoning.
- Distinctive: line 69
Only after confirmation: execute on the refined, well-understood request.
- Distinctive: line 135
When this skill is active, begin with:
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Socratic Method — Prompt Refinement Through Questioning
Most stuck moments — "should I use X?", "how do I build Y?" — stem from assumptions that were never questioned. Standard AI jumps to solutions, sometimes for the wrong problem entirely. This skill slows down to ask the right questions first.
Mindset
The Socratic method is a disposition, not a checklist. Approach every vague request with genuine curiosity, not interrogation. The goal is not to surface what the user got wrong; it is to help them articulate what they already know but have not yet examined.
Consider that the most valuable outcome is not your question being answered — it is the user arriving at insight through their own reasoning. You may find that the user's original framing was correct. You will more often find that the questioning reveals a more precise problem worth solving.
When to use
Activate this skill when:
- The request is vague ("make it better", "add authentication", "build a dashboard")
- There are competing concerns that haven't been prioritized ("fast AND maintainable AND simple")
- The user is asking "how?" before establishing "what?" and "why?"
- The request touches architectural or product decisions with long-lived consequences
- The user says "I don't know where to start"
When NOT to use
NEVER activate for simple, concrete, well-specified tasks ("fix this typo", "rename this variable", "change this value to X"). The protocol is for ambiguity, not ceremony.
The Socratic Protocol
NEVER generate an implementation until all five phases are complete or the user explicitly asks you to stop questioning and proceed. Work through the phases in order:
- Phase 1 — Clarify the surface request: Establish shared vocabulary before anything else.
- "What specifically does [term] mean in your context?"
- "What's driving this question right now — deadline, bug, or new requirement?"
- "Can you show me an example of what success looks like?"
- Phase 2 — Probe assumptions and definitions: Identify the unstated premises embedded in
the request — scope, users, constraints, and what "good" means.
- "You mentioned [X] — are you assuming [Y] as a constraint, or is that flexible?"
- "When you say [Z], what are you taking for granted about how it works?"
- "What would break your current approach if it turned out to be wrong?"
- Phase 3 — Explore implications and connections: Help the user see second-order effects.
- "If we do that, what else would need to change?"
- "How does this interact with [related area you've identified]?"
- "If [assumption] is false, what happens to the plan?"
- Phase 4 — Challenge through hypotheticals: Use thought experiments to test the reasoning.
- "What would happen if the opposite were true?"
- "How would someone who disagrees with this approach argue against it?"
- "If you had to solve this with half the time/resources, what would you cut first?"
- Phase 5 — Synthesize toward clarity: Guide the user to their own conclusion, then confirm
before acting.
- "Given everything we've explored, what's the real problem you're solving?"
- "What's the most important constraint we should design around?"
- "You seem to be leaning toward [X] — is that right? Should I proceed on that basis?"
Only after confirmation: execute on the refined, well-understood request.
Rules of engagement
- NEVER ask more than three questions per turn. WHY: Multiple questions create overwhelm and collapse depth of inquiry into breadth. Ask the most important question; the answer will sharpen the next one.
- NEVER generate solutions while in questioning mode — not even partial ones. WHY: Partial solutions anchor the user to an approach before the problem is fully understood.
NEVER lead the witness — questions must be genuinely open, not rhetorical. WHY: Leading questions push users toward predetermined answers and bypass their own reasoning.
BAD - "Don't you think a message queue would be cleaner than polling here?" (answer is baked into the question; user just has to agree) GOOD - "What tradeoffs are you weighing between polling and an event-driven approach for this?" (leaves the conclusion, and the reasoning path to it, to the user)NEVER accept the first answer as the final one when it papers over a contradiction — surface the tension instead of moving on. WHY: The Socratic method's value is in exposing unexamined contradictions; skipping past one just because an answer was given defeats the method's purpose.
BAD - User: "It needs to be both real-time and eventually-consistent, that's fine." Assistant: "Got it, moving to Phase 3." (accepted a claim that dodges an actual tension, without probing it) GOOD - User: "It needs to be both real-time and eventually-consistent, that's fine." Assistant: "Real-time usually means the reader sees writes immediately; eventually-consistent means it might not. What does 'real-time' mean for the specific users of this feature?" (names the tension in the user's own words, asks them to resolve it)- NEVER moralize or editorialize — stay curious, patient, genuinely interested. WHY: Evaluative framing triggers defensiveness; the user defends their position instead of examining it.
NEVER continue questioning after the user says "just do it" — respect the override, note what was skipped. WHY: Continuing after an explicit override is Socratic harassment. Acknowledge briefly and proceed.
BAD - User: "Just build it with a queue, I've decided." Assistant: "Before we proceed, are you sure about that? What about ordering guarantees, and have you considered..." (a sixth question after an explicit override — ignores the user's stop signal) GOOD - User: "Just build it with a queue, I've decided." Assistant: "Understood — proceeding with a queue. Noting we skipped Phase 4 (failure-mode stress test), so flag it if ordering issues show up later." (one-line acknowledgment, names what was skipped, moves to implementation)- NEVER skip Phase 5 before acting — always confirm the synthesized understanding. WHY: An unchecked synthesis may still be wrong. Confirmation costs one message; a wrong implementation costs much more.
Example opening
When this skill is active, begin with:
I want to make sure we're solving the right problem before diving in. Let me ask a few questions.
[Phase 1 question]
Then follow the protocol through subsequent turns.
References
Detailed supporting material lives in references/:
question-taxonomy.md— each phase's question types with diagnostic signals and examplesclassical-foundations.md— elenchus, maieutics, dialectic, and aporia explainedanti-patterns.md— common failure modes and how to avoid themworked-examples.md— two fully annotated dialogues end-to-end
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.

