/brainstorming
Socratic questioning before committing to a solution.
Structured questioning protocol to explore a problem space before writing code. Prevents over-engineering and premature commitment by forcing explicit decisions on scope, data models, and edge cases.
Category
Full-Lifecycle
Execution
Q&A protocol → decision brief
Goal
Explore the problem space through structured Socratic questioning before committing to any implementation approach.
Scope
Applies to
- +New features with unclear requirements
- +Architectural decisions
- +Any task where the scope is ambiguous
Does not cover
- −Well-defined tasks with clear specs
- −Bug fixes with known root cause
Triggers
"Brainstorm this feature""Explore options for""I need to think through"Phase 2 of radioactive
Inputs
- →Problem statement or feature description
- →Existing constraints (time, stack, team)
Invariants
- 01Must present questions and wait for response — no proceeding on assumptions
- 02Questions must be strategic (3-5), not exhaustive
- 03Output is a decision log, not a plan
Procedure
- Step 1Analyze the problem statement and existing context
- Step 2Formulate 3-5 strategic questions covering scope, data, security, integration, edge cases
- Step 3Present questions. Wait for explicit response.
- Step 4Synthesize responses into a decision log with rationale
Outputs
- ▸Decision log appended to conversation context
- ▸Clarified scope boundaries
- ▸List of edge cases to handle
Review Gate
- [ ]All questions answered or explicitly deferred
- [ ]Decision log captures rationale for each choice
- [ ]No ambiguity on scope boundaries