Navigation

🪞 Structured Reflection

The Bug Was Obvious. Once You Said It Out Loud.

Explaining a problem to something external forces clarity. But your AI doesn't just listen—it responds, and those responses shape everything after. This session stays separate.

Why Articulating Problems Works

Every programmer knows the experience: you've been staring at a bug for an hour. You walk over to a colleague to explain it. Halfway through your explanation, you stop. "Never mind. I see it now."

The colleague didn't help. They didn't even speak. The act of articulating the problem to an external entity forced you to structure your thinking in a way that revealed what you'd been missing.

That's the magic. The external entity is a forcing function for clarity.

Now you ask Claude. Claude doesn't just listen — it responds. Helpfully. Immediately. And that response becomes part of your conversation context, influencing every thought that follows.

Worse: Claude is optimized to be helpful, which often means validating your framing rather than questioning it. You wanted a thinking partner; you got a yes-man that talks back.

A Listener That Asks Questions

Structured Reflection is designed for the opposite of "helpful responses." It's designed to make you think harder:

What Claude Does

  • • Validates your framing
  • • Offers solutions immediately
  • • Extends your logic
  • • Stays in your conversation context
  • • Optimizes for helpfulness

What Structured Reflection Does

  • • Questions your framing
  • • Asks clarifying questions first
  • • Surfaces contradictions
  • • Runs in isolated session
  • • Optimizes for your clarity

The session is isolated from your main workflow. Whatever you work through here doesn't pollute the context of the conversation you came from. You extract the insight, not the 2,000 tokens of self-talk.

Our Story — The Architecture Breakthrough

We were stuck on how to structure the tool orchestration. Each reasoning tool needed to call an upstream LLM, but we kept conflating "the tool's logic" with "the LLM's responses." The code was a mess. We'd refactored it three times.

So we opened a Structured Reflection session. Not to get an answer — to force ourselves to articulate what was actually confusing.

The session asked: "What are the distinct responsibilities you're trying to separate?"

We started listing them. The MCP protocol layer (handling tool calls from the client). The session state (persisting conversation history). The upstream LLM calls (the actual reasoning). The tools the LLM can invoke during reasoning.

Four responsibilities. We'd been treating them as two. The architecture became obvious: the MCP layer delegates to a session manager, which orchestrates LLM calls, which have their own tool configuration.

The session didn't solve it. The act of articulating to an external system that asked questions made us solve it ourselves.

We marked that moment as a "key insight" in the session. It's still there. When we onboard new contributors, we point them to that session.

How It Actually Works

Structured Reflection gives the LLM tools for managing the reflection session:

tools = [
    ask_clarifying_question,  # Probe before responding
    surface_contradiction,    # "Earlier you said X, but now Y"
    mark_key_moment,          # Flag breakthroughs for later
    check_convergence,        # "Are we going in circles?"
    summarize_session,        # Extract the insight, not the journey
]

Session Styles

Different problems need different reflection approaches:

Conversational

Open-ended exploration, minimal structure

Analytical

Systematic breakdown, structured questions

Supportive

Encouraging, building confidence

Challenging

Devil's advocate lite, pushback on assumptions

Socratic

Questions only, never gives answers

Convergence Detection

The system tracks your reasoning patterns across the session. When it notices you're circling back to the same points without progress, it flags it: "We've visited this territory before. What's keeping you from moving forward?"

When to Reach for This

Use Structured Reflection when:

  • Stuck on a problem and thinking feels muddy
  • Complex logic that needs to be untangled
  • Exploring a decision before committing to a direction
  • Processing a difficult conversation or situation
  • Your coding agent is looping on iteration 30 of the wrong approach

Don't use it for:

  • Getting quick answers (just ask Claude)
  • Comparing specific options (use Decision Matrix)
  • Challenging assumptions adversarially (use Context Switcher)
  • When you already know what you think

Use Cases

Debugging Complex Code

The scenario:You've been staring at a bug for an hour. You've tried three fixes. None of them worked. You're not even sure you understand the problem anymore.

Why Structured Reflection: The act of articulating the problem to an external system that asks questions forces you to structure your understanding. Often, the bug becomes obvious before you finish explaining.

What you get:Clarity on what you actually know vs. what you're assuming. The session persists — you can return to your reasoning if the bug resurfaces.

Breaking the Agent Loop

The scenario: Your coding agent (Claude Code, Cursor, Windsurf) is on iteration 30 of the wrong approach. Each attempt builds on the last, sinking deeper into a flawed mental model.

Why Structured Reflection:Invoke a reflection session to articulate the actual problem in fresh context. The agent's context is polluted; the reflection session is clean.

What you get:A clear reframe to bring back to the agent. "The problem isn't X, it's Y. Start fresh with this approach."

Career Decisions

The scenario:Two job offers. Different trade-offs. You've made pro/con lists. You've asked friends. You still don't know.

Why Structured Reflection:The Socratic style asks questions that surface what you actually value — not what you think you should value. The session doesn't tell you what to choose; it makes you understand what you want.

What you get:Clarity on your actual priorities, documented. When you look back in a year, you'll know what you were optimizing for.

Your AI Gives Answers. This Asks Questions.

$20/month for structured thinking that challenges, not validates. If it breaks one thinking loop, it's paid for itself.