← Back to browse
🏛️ thinking v1.0.0

Socratic Thinking

Plato's Socratic method for questioning assumptions, building arguments from first principles, and thinking with precision.

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

8 tests
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"