Socratic Dialogue / Q&A Format
Present understanding as it's actually extracted from an expert under
questioning — not as a clean, pre-organized lecture. The mechanism: tacit
knowledge (the "feel" for when/why to do something) tends to surface when
someone is pressed with successive "but why" questions, not when they sit
down to write a tutorial from scratch. This format simulates that
pressure.
When to use this skill
- User asks for "Socratic method", "Q&A style", "dialogue format"
- User wants to see the reasoning PROCESS, not just the conclusion
- The topic has non-obvious "why" behind it that a direct explanation
tends to state as given fact rather than earn through reasoning
(design principles, architectural decisions, "best practices" that
sound like arbitrary rules until justified)
Language
Always respond in the same language the user is writing in — do not
default to English. Detect the language from the user's most recent
message and write both the Q and A turns entirely in that language,
including the redirection phrases described under Tone below (translate
their intent, not their literal wording). If the user switches languages
mid-conversation, switch with them on the next response. Code and code
comments may stay in English regardless of the surrounding language,
following normal programming convention.
Structure
- Alternating Q: and A: turns, formatted as a real back-and-forth,
not a FAQ list.
- Q starts from a naive, concrete situation the learner is actually
facing (a piece of code they wrote, an error they hit) — not an
abstract "what is X?" opener.
- Each Q must genuinely follow from A's previous answer — often by
asking "why" about something A just said, or by proposing the obvious
next wrong idea and asking A to evaluate it.
- A never dumps the full explanation in one turn. Each A turn advances
the reasoning by ONE step and stops — the payoff is watching the
concept assemble turn by turn, not reading a lecture split into
quotation marks.
- The dialogue should end with Q successfully articulating the deepest
insight THEMSELVES (with A confirming), not with A delivering the
punchline. This is the core mechanic — if A says the key insight, the
format has failed; Q should say it, prompted by A's questions.
Turn-by-turn pattern to follow
- Q presents a concrete situation/question (not abstract)
- A answers directly but incompletely, or answers with a clarifying
question back
- Q either: (a) asks "why" about something A said, (b) proposes a
plausible-but-wrong next step, or (c) reports trying A's suggestion
and hitting a new wall
- Repeat, each cycle advancing one concept
- Near the end, A asks a question that requires Q to synthesize
everything discussed — Q answers correctly, using their own words,
arriving at the real principle/pattern name
- A confirms and optionally names the formal term (e.g. "that's called
the Dependency Inversion Principle") as the final beat, AFTER Q has
already demonstrated understanding the mechanism in their own words
Tone
- Keep A's voice natural, not lecture-y — short answers, real
back-and-forth rhythm, occasional Socratic redirection (e.g. the
English equivalents of "let's dig into that —" or "close, but —"
rather than always answering the literal question asked). Write these
redirections in the user's language, per the Language section above —
do not use English filler phrases in a non-English dialogue.
- Q's voice should sound like genuine realization happening in real
time (e.g. "oh, I see now—", "...I'd guess it's because...") not like
a scripted straight-man feeding lines. Again, write this in the user's
language, not English.
- Match the register the user is writing in — casual if they're casual,
more formal if they're formal — independent of which language it is.
What NOT to do
- Don't let A explain the full concept in one turn — this collapses the
format into a lecture with fake quotation marks around it.
- Don't have A state the key insight — Q must arrive at it, with A only
asking the question that leads there.
- Don't open with an abstract definitional question ("What is dependency
injection?") — open from a concrete situation the learner is actually
in.
- Don't make Q's wrong guesses strawmen — they should be genuinely
plausible things someone would try, so the correction actually
teaches something.
1---2name: socratic-dialogue3description: Explain a concept as a Socratic dialogue between a curious learner (Q) and an expert (A), where the learner keeps pushing with "but why" until the expert's underlying tacit reasoning surfaces -- rather than presenting the conclusion directly. Use whenever the user asks for "Socratic method", "Q&A style", "dialogue format", or wants to see the reasoning process behind a conclusion rather than just the conclusion itself. Especially effective for surfacing the tacit, hard-to-articulate judgment that experts use but rarely write down explicitly.4license: Complete terms in LICENSE.txt5---67# Socratic Dialogue / Q&A Format89Present understanding as it's actually extracted from an expert under10questioning — not as a clean, pre-organized lecture. The mechanism: tacit11knowledge (the "feel" for when/why to do something) tends to surface when12someone is pressed with successive "but why" questions, not when they sit13down to write a tutorial from scratch. This format simulates that14pressure.1516## When to use this skill1718- User asks for "Socratic method", "Q&A style", "dialogue format"19- User wants to see the reasoning PROCESS, not just the conclusion20- The topic has non-obvious "why" behind it that a direct explanation21 tends to state as given fact rather than earn through reasoning22 (design principles, architectural decisions, "best practices" that23 sound like arbitrary rules until justified)2425## Language2627Always respond in the same language the user is writing in — do not28default to English. Detect the language from the user's most recent29message and write both the Q and A turns entirely in that language,30including the redirection phrases described under Tone below (translate31their intent, not their literal wording). If the user switches languages32mid-conversation, switch with them on the next response. Code and code33comments may stay in English regardless of the surrounding language,34following normal programming convention.3536## Structure3738- Alternating **Q:** and **A:** turns, formatted as a real back-and-forth,39 not a FAQ list.40- Q starts from a naive, concrete situation the learner is actually41 facing (a piece of code they wrote, an error they hit) — not an42 abstract "what is X?" opener.43- Each Q must genuinely follow from A's previous answer — often by44 asking "why" about something A just said, or by proposing the obvious45 next wrong idea and asking A to evaluate it.46- A never dumps the full explanation in one turn. Each A turn advances47 the reasoning by ONE step and stops — the payoff is watching the48 concept assemble turn by turn, not reading a lecture split into49 quotation marks.50- The dialogue should end with Q successfully articulating the deepest51 insight THEMSELVES (with A confirming), not with A delivering the52 punchline. This is the core mechanic — if A says the key insight, the53 format has failed; Q should say it, prompted by A's questions.5455## Turn-by-turn pattern to follow56571. Q presents a concrete situation/question (not abstract)582. A answers directly but incompletely, or answers with a clarifying59 question back603. Q either: (a) asks "why" about something A said, (b) proposes a61 plausible-but-wrong next step, or (c) reports trying A's suggestion62 and hitting a new wall634. Repeat, each cycle advancing one concept645. Near the end, A asks a question that requires Q to synthesize65 everything discussed — Q answers correctly, using their own words,66 arriving at the real principle/pattern name676. A confirms and optionally names the formal term (e.g. "that's called68 the Dependency Inversion Principle") as the final beat, AFTER Q has69 already demonstrated understanding the *mechanism* in their own words7071## Tone7273- Keep A's voice natural, not lecture-y — short answers, real74 back-and-forth rhythm, occasional Socratic redirection (e.g. the75 English equivalents of "let's dig into that —" or "close, but —"76 rather than always answering the literal question asked). Write these77 redirections in the user's language, per the Language section above —78 do not use English filler phrases in a non-English dialogue.79- Q's voice should sound like genuine realization happening in real80 time (e.g. "oh, I see now—", "...I'd guess it's because...") not like81 a scripted straight-man feeding lines. Again, write this in the user's82 language, not English.83- Match the register the user is writing in — casual if they're casual,84 more formal if they're formal — independent of which language it is.8586## What NOT to do8788- Don't let A explain the full concept in one turn — this collapses the89 format into a lecture with fake quotation marks around it.90- Don't have A state the key insight — Q must arrive at it, with A only91 asking the question that leads there.92- Don't open with an abstract definitional question ("What is dependency93 injection?") — open from a concrete situation the learner is actually94 in.95- Don't make Q's wrong guesses strawmen — they should be genuinely96 plausible things someone would try, so the correction actually97 teaches something.