Skip to content
maenifold
GitHub

Socratic Dialogue

9 steps

Expose broken assumptions and flawed reasoning by running a real dialogue with a skeptical partner agent

Triggers

debug reasoningchallenge assumptionsstuck on problemsolution feels hackyconfident but wrongexpose assumptionsquestion logicfind the flawreasoning errorbad thinking

Steps

  1. 1.

    What problem are you actually trying to solve?

    State the specific problem you're stuck on. Not what you think the solution should be - what's the actual problem?

    Example: 'My tests are flaky' not 'I need to add delays to my tests'

  2. 2.

    What's your current approach and why?

    Describe what you're doing now and your reasoning. This is where we'll find the broken assumptions.

    Be honest about shortcuts, hacks, or 'temporary' solutions you're using.

  3. 3.

    Spawn a Gray Skeptic Partner

    🧠 ENHANCED THINKING REQUIRED

    Create a REAL dialogue partner (a subagent), and keep it alive across steps.

    1. Adopt the skepticism posture:
    • Use the role/color system: Adopt(type="color", identifier="gray")
    1. Spawn the partner using the Task tool (do NOT pick a specific agent type in this workflow). In the Task prompt tell the partner:
    • Adopt color=gray (skeptical inquiry)
    • Your job is to challenge my claims, demand evidence, and independently verify when possible (using tools)
    • Maintain a running ledger: Verified facts / Unverified assumptions / Open questions
    • Always end your reply with ONE next question
    1. CRITICAL: Save the returned task_id as your handle (e.g., socraticPartnerTaskId). You will reuse it to continue the same partner conversation.
    Enhanced Thinking
  4. 4.

    Run the Dialogue (Resume via task_id)

    🧠 ENHANCED THINKING REQUIRED

    Have a real back-and-forth. Do NOT restart the partner; resume it.

    Loop for 3-10 rounds:

    1. Answer the partner's question plainly.
    2. Provide evidence (or explicitly admit you don't have it).
    3. Resume the same partner using: Task(task_id=socraticPartnerTaskId, prompt=...)

    Partner requirements each round:

    • If you make a claim: either verify it independently, or say exactly what would verify it
    • Update the ledger (Verified / Unverified / Open)
    • Ask the next single question

    You are NOT trying to win. You are trying to locate the broken assumption.

    Enhanced Thinking
  5. 5.

    Find the Contradiction

    🧠 ENHANCED THINKING REQUIRED

    Resume the partner and ask it to do ONE job: identify where your story breaks.

    Prompt the partner (via Task(task_id=...)) to:

    • Point to the specific assumption that, if false, collapses your approach
    • Show the contradiction or missing link
    • State the smallest test/experiment/check that would discriminate between two competing explanations

    Then do that check (or explicitly decide why you can't) and report the result back to the partner.

    Enhanced Thinking
  6. 6.

    Reframe the Real Problem

    Based on what the dialogue exposed, rewrite the problem statement as a falsifiable claim.

    Format:

    • Original problem:
    • Broken assumption:
    • New problem statement (falsifiable):
    • What would make this statement false?
  7. 7.

    Attack the Reframe (Partner Verification)

    🧠 ENHANCED THINKING REQUIRED

    Resume the same partner (Task(task_id=socraticPartnerTaskId, ...)) and present your reframed problem statement.

    Partner must:

    • Try to falsify it
    • Identify any remaining assumptions
    • Independently verify at least one key claim (or explain why verification is blocked)

    Iterate until the partner agrees the reframe is coherent OR you identify the remaining uncertainty explicitly.

    Enhanced Thinking
  8. 8.

    What does this suggest for solutions?

    With the real problem identified and your assumptions corrected, what approaches make sense now?

    Don't implement yet - just identify directions that address the actual problem.

  9. 9.

    Final Reality Check

    🧠 ENHANCED THINKING REQUIRED

    Resume the partner one last time and ask for a final audit.

    Partner output MUST include:

    • Verified facts (with how verified)
    • Unverified assumptions (and how to verify)
    • Remaining open questions
    • Biggest remaining risk in your proposed solution directions

    Then you record your key insights: what assumption was wrong, what the real problem is, and what checks you'll run earlier next time.

    Finally, you may end the partner conversation.

    Enhanced Thinking