Collaborative design exploration — explore an idea and produce a spec draft
Explore an idea and produce a spec draft. Input: $ARGUMENTS (a problem statement, feature idea, or topic — can be vague).
This is a collaborative design session, not a spec factory. The goal is to cover enough ground through conversation and codebase research that by the end, a spec draft exists that's ready for /enrich-spec.
Start by asking questions — don't jump to solutions. Focus on:
Present what you find from the codebase alongside your questions. "I see that X currently works like Y — is the problem that Z?" is better than "what does X do?"
Ask 3-5 focused questions, not a laundry list. Wait for answers before moving on.
Based on the answers and codebase research, present 2-3 approaches. For each:
Reference existing patterns from kb/ if /explore has been run. If an approach aligns with or violates existing conventions in the codebase, say so.
Don't advocate for one approach. Present them neutrally and ask which direction resonates.
Once the user signals a direction, push on the edges:
Create the file at specs/<slug>.md (create the specs/ directory if needed) and write the draft:
# <Title>
**Date**: <today>
**Status**: Draft
## Problem
[From Phase 1 — the actual problem, grounded in what exists today]
## Goals
[Numbered list of what this achieves]
## Non-Goals
[Explicit scope boundaries from Phase 3]
## Data Model
[If this introduces or modifies data models, define them explicitly here. Field names, types, relationships, constraints, migration considerations. This is the most critical section — models are where AI agents make the worst decisions without human guidance.]
## Changes
[Concrete changes from the chosen approach in Phase 2. For each change: what it is, where it goes, what it affects. Reference specific files/modules from the codebase.]
## Sequencing
[How to ship this incrementally, from Phase 3]
## Open Questions
[Unresolved items from Phase 3 that /enrich-spec should investigate]
Tell the user the file path and suggest running /enrich-spec <path> as the next step.