Skip to content
Productivity
Skill

/thinking-socratic

When a request is vague, assumption-laden, or "obvious," ask the few load-bearing questions that expose hidden requirements before building or committing.

From plugin
thinking-skills
1.7k28 skills

Claude Code

$ npx -y skills add tjboudreaux/cc-thinking-skills --skill thinking-socratic --agent claude-code

SKILL.md

thinking-socratic.SKILL.md
name: thinking-socratic
description: When a request is vague, assumption-laden, or "obvious," ask the few load-bearing questions that expose hidden requirements before building or committing.
disable-model-invocation: true

Socratic Questioning

**Core rule:** Surface the load-bearing assumption or undefined term before you build. Ask only what you cannot resolve yourself; stop when the next action is decision-ready.

When to Use

  • Request is underspecified ("make it fast", "add a dashboard", "fix the bug") and a guess would misbuild.
  • Claim rests on an unstated assumption that may be the real problem.
  • Someone treats a premise as "obvious" or jumps to a solution before the problem is defined.
  • Debugging a vague symptom that needs a checkable specific before investigation.

When NOT to Use

  • Spec is already clear and actionable — do the work; do not interrogate for theater.
  • Ambiguity is resolvable by reading code, running a command, or checking docs — resolve it yourself.
  • Mid-execution of an agreed plan — re-questioning every step is friction, not rigor.
  • Emergency where one load-bearing fact is enough to act — clarify that fact, then act (prefer ooda).
  • You need the strongest opposing case, not clarification — use steel-manning.
  • You need causal chain depth on a defined failure — use five-whys-plus or scientific-method.

Procedure

1. **Name the gap.** State what is undefined, assumed, or uncheckable. If you can fill it from tools/repo without the user, do that and stop. 2. **Ask the load-bearing question first.** Prefer one question whose answer most changes what you will build. Categories (use only what the gap needs):

  • Clarification — "What does X mean / for whom / success looks like?"
  • Assumption — "What must be true? What if it is false?"
  • Evidence — "What supports this? What would disprove it?"
  • Perspective — "Who is affected / who would disagree?"
  • Implication — "What follows if we do this?"
  • Meta — "Is this the right question?"

3. **Resolve or branch.** From the answer, either (a) write the clarified requirement/decision and proceed, or (b) ask at most one follow-up that still gates the work. Do not run all six categories by default. 4. **Make assumptions explicit.** Restate: "This assumes X; success means Y; out of scope is Z." Confirm only if still ambiguous after your restatement. 5. **Stop at decision-ready clarity.** When the next action no longer depends on a hidden premise, end questioning and act or hand off. Cap user-facing questions tightly; prefer batching the few that truly gate work.

Output

gap: <what was vague or assumed>
resolved_by: self | user | mixed
questions_asked:
  - <only questions actually needed>
assumptions_made_explicit:
  - <X must be true / success = Y>
clarified_requirement: <decision-ready statement>
next_action: <build | investigate | re-scope | stop>
stop_reason: clear_enough | self_resolved | blocked_on_<fact>

Verification

  • **Falsify / stop:** If answers do not change the plan, you asked non-load-bearing questions — stop interrogating. If the "clarification" is still a guess, do not build; name the remaining blocker.
  • **Over-application guard:** Do not Socratic-interview a well-specified task. Do not outsource facts you can read or measure. Do not turn every step of execution into a new question round.
Read more
@tjboudreaux
Ships withthinking-skills

28 portable Agent Skills for structured reasoning in Claude Code, GitHub Copilot, Codex, Cursor, and other compatible tools Claude Code Thinking Skills is a public catalog of Agent Skills.

Stars on GitHub

Momentum

stars in total
1.7k
Star history of tjboudreaux/cc-thinking-skills on GitHub, a chart by star-history.com

Other skills on thinking-skills.

More skills from other plugins.

i-have-adhd

i-have-adhd

Shape output for a reader with ADHD: lead with the next action, number multi-step work, restate state across turns, suppress…

@ayghri@ayghriInstall Skill
ab-test-analysis

ab-test-analysis

Analyze A/B test results with statistical significance, sample size validation, confidence intervals, and ship/extend/stop…

@phuryn@phurynInstall Skill
distilly

distilly

Set up the owner profile so a personal agent knows who it works for (first-run setup, \"get to know me\"), or distill colleague,…

Questions about thinking-socratic.

Which coding agents can use thinking-socratic?
thinking-socratic installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.