Spec Structure
Every specification follows a hierarchical structure:Components
Technical Architecture
The top-level section defines the system design:- Tech stack — Languages, frameworks, databases, hosting
- System design — Component hierarchy, data flows, API contracts
- Database schema — Tables/collections, relationships, indexes
- Infrastructure — Deployment targets, CI/CD, environment config
Milestones
Milestones are phases of delivery. They’re sequenced so that foundational work comes first:- Each milestone has a complexity estimate
- Milestones are typically built in order (dependencies respected)
- Example: “Core Foundation” → “User Features” → “Admin & Analytics” → “Polish & Deploy”
User Stories
Each milestone contains user stories — feature-level requirements:- Written in standard format: “As a [user], I want [feature], so that [benefit]”
- Include acceptance criteria — specific conditions that must be true for the story to be complete
- Acceptance criteria become the verification checks during building
Subtasks (Deep Spec only)
Subtasks are the granular implementation steps within each story:- Specific enough for an agent to implement directly
- Include task-level complexity estimates
- Have their own status tracking
Task Status Tracking
Every subtask has a status indicator:Editing Specs
Specifications are living documents. Before or during building, you can:Add or remove stories
Add or remove stories
Add new features you want included, or remove features you’ve decided against. The spec updates immediately.
Modify acceptance criteria
Modify acceptance criteria
Change what “done” means for any story. Agents building that task will use the updated criteria.
Reorder milestones
Reorder milestones
Adjust delivery priority. Move critical features earlier or defer nice-to-haves.
Update the tech stack
Update the tech stack
Switch frameworks, databases, or tools. Subsequent tasks will use the new stack.
How Agents Use Specs
When a build agent picks up a task, it receives:- The full specification for architectural context
- The specific subtask it’s responsible for
- The acceptance criteria it must satisfy
- The current codebase state
- Any Knowledge Base entries (API keys, docs)

