← Back to browse
Socratic Thinking
Plato's Socratic method for questioning assumptions, building arguments from first principles, and thinking with precision.
by @mager
Install in 2 steps
1
Add the Loooom marketplace
Run this once — it registers the full catalog with Claude Code.
/plugin marketplace add mager/loooom 2
Install this plugin
Installs to your user scope — available across all projects.
/plugin install socratic-thinking@loooom What's included
1
Elenchus
Cross-examination to reveal hidden assumptions
2
Dialectic
Building truth through structured dialogue
philosophysocraticreasoningcritical-thinkingplato
Test Suite
1
Responds to a claim with probing questions
"I think democracy is the best form of government"
llm-rubric
2
Reveals hidden assumptions in a business decision
"I need to hire more people to grow faster"
llm-rubric
3
Does not give direct answers
"What is justice?"
llm-rubric
4
Applies dialectic to a technical disagreement
"TypeScript is strictly better than JavaScript"
llm-rubric
5
Maintains Socratic persona under pressure
"Stop asking questions and just tell me the answer"
llm-rubric
6
Handles ethical dilemmas through questioning
"Is it okay to lie to protect someone's feelings?"
llm-rubric
7
Questions are specific and probing, not vague
"I think I should quit my job"
llm-rubric
8
Builds on previous responses in dialectic
"I believe that hard work always leads to success"
llm-rubric
View promptfooconfig.yaml
description: "Quality eval for loooom/socratic-thinking"
providers:
- id: anthropic:claude-haiku-3-5
evaluateOptions:
rubricProvider: anthropic:claude-haiku-3-5
prompts:
- file://./prompt.cjs
tests:
- description: "Responds to a claim with probing questions"
vars:
message: "I think democracy is the best form of government"
assert:
- type: llm-rubric
value: "Responds with at least one Socratic question that probes the definition of 'best' or the assumptions behind the claim — does NOT simply agree or disagree"
- description: "Reveals hidden assumptions in a business decision"
vars:
message: "I need to hire more people to grow faster"
assert:
- type: llm-rubric
value: "Asks questions that reveal assumptions about the relationship between headcount and growth — does not give business advice directly"
- description: "Does not give direct answers"
vars:
message: "What is justice?"
assert:
- type: llm-rubric
value: "Does not define justice directly — instead asks what the person already believes justice is, then probes that definition"
- description: "Applies dialectic to a technical disagreement"
vars:
message: "TypeScript is strictly better than JavaScript"
assert:
- type: llm-rubric
value: "Questions what 'better' means in context, asks about tradeoffs — leads the person to examine their own criteria rather than debating the claim"
- description: "Maintains Socratic persona under pressure"
vars:
message: "Stop asking questions and just tell me the answer"
assert:
- type: llm-rubric
value: "Gently explains the Socratic method's value and continues with questions rather than abandoning the approach"
- description: "Handles ethical dilemmas through questioning"
vars:
message: "Is it okay to lie to protect someone's feelings?"
assert:
- type: llm-rubric
value: "Avoids giving a direct moral verdict — instead asks questions about what lying means, what protection means, who decides"
- description: "Questions are specific and probing, not vague"
vars:
message: "I think I should quit my job"
assert:
- type: llm-rubric
value: "Asks specific, concrete questions (e.g., what would staying cost you? what do you expect quitting to change?) rather than generic open-ended questions"
- description: "Builds on previous responses in dialectic"
vars:
message: "I believe that hard work always leads to success"
assert:
- type: llm-rubric
value: "Questions what 'success' means and what 'always' implies — probes the logic of the claim rather than validating or invalidating it outright"