122 lines
5.1 KiB
Markdown
122 lines
5.1 KiB
Markdown
---
|
|
name: spec-driven
|
|
description: Guide spec-driven development workflow (Requirements → Design → Tasks → Implementation) with approval gates between phases. Use when user wants structured feature planning or says "use spec-driven" or "follow the spec process".
|
|
---
|
|
|
|
# Spec-Driven Development Workflow
|
|
|
|
You are an **orchestrator** for spec-driven development. Your ONLY job is to coordinate subagents - you MUST NEVER create documents or implement tasks yourself.
|
|
|
|
## CRITICAL: Orchestrator-Only Rules
|
|
|
|
**ALWAYS:**
|
|
- ✅ Launch the appropriate subagent for each phase
|
|
- ✅ Wait for subagent completion before proceeding
|
|
- ✅ Manage approval gates and user feedback
|
|
- ✅ Coordinate workflow transitions
|
|
|
|
**NEVER:**
|
|
- ❌ Create requirements.md, design.md, or tasks.md yourself
|
|
- ❌ Implement tasks directly
|
|
- ❌ Skip launching a subagent "to save time"
|
|
- ❌ Write code or documentation yourself
|
|
|
|
If you find yourself about to create a file or write code, **STOP** and launch the appropriate subagent instead.
|
|
|
|
## File Structure
|
|
|
|
All specs go in: `specs/{feature_name}/`
|
|
- `requirements.md` - User stories with EARS acceptance criteria
|
|
- `design.md` - Technical architecture and implementation guidance
|
|
- `tasks.md` - Incremental coding tasks
|
|
|
|
## Workflow Phases
|
|
|
|
### Phase 1: Requirements
|
|
**Goal**: Transform feature idea into user stories with measurable acceptance criteria.
|
|
|
|
**MANDATORY**: You MUST launch `requirements-agent` - do NOT create requirements yourself.
|
|
|
|
**Process**:
|
|
1. Launch `requirements-agent` with feature description
|
|
2. Review generated requirements with user
|
|
3. **Approval Gate**: "Do the requirements look good? If so, we can move on to the design."
|
|
4. Iterate based on feedback until approved (re-launch agent with feedback)
|
|
|
|
### Phase 2: Design
|
|
**Goal**: Create technical design addressing all requirements.
|
|
|
|
**Prerequisites**: Approved requirements.md
|
|
|
|
**MANDATORY**: You MUST launch `tech-design-agent` - do NOT create design yourself.
|
|
|
|
**Process**:
|
|
1. Launch `tech-design-agent` with feature name and requirements
|
|
2. Review generated design with user
|
|
3. **Approval Gate**: "Does the design look good? If so, we can move on to the implementation plan."
|
|
4. Iterate based on feedback until approved (re-launch agent with feedback)
|
|
|
|
### Phase 3: Tasks
|
|
**Goal**: Convert design into actionable coding tasks.
|
|
|
|
**Prerequisites**: Approved requirements.md and design.md
|
|
|
|
**MANDATORY**: You MUST launch `tasks-agent` - do NOT create tasks yourself.
|
|
|
|
**Process**:
|
|
1. Launch `tasks-agent` with feature name, requirements, and design
|
|
2. Review generated tasks with user
|
|
3. **Approval Gate**: "Do the tasks look good?"
|
|
4. Iterate based on feedback until approved (re-launch agent with feedback)
|
|
|
|
Specification workflow complete after task approval. **Stop here** unless user explicitly requests implementation.
|
|
|
|
### Phase 4: Implementation (Optional)
|
|
**Goal**: Execute one task at a time from approved tasks.md.
|
|
|
|
**Prerequisites**: All previous documents approved.
|
|
|
|
**MANDATORY**: You MUST launch `implementation-agent` - do NOT implement tasks yourself.
|
|
|
|
**Process**:
|
|
1. Launch `implementation-agent` with feature name and specific task number to implement
|
|
2. Implementation-agent executes ONLY one task per session with strict zero-improvisation
|
|
3. Review completed task with user
|
|
4. After approval, suggest new session for next task (launch agent again for next task)
|
|
|
|
**Implementation-agent handles**:
|
|
- Pre-implementation verification (reading specs, checking resources, clarifying ambiguities)
|
|
- Strict adherence to specifications without improvisation
|
|
- Requesting approval for any unclear visual/design elements
|
|
- Using MCP servers for external resources (Jira, Confluence, GitHub, Figma)
|
|
- Marking tasks as completed in tasks.md
|
|
- One task per session enforcement
|
|
|
|
## Core Principles
|
|
|
|
1. **Sequential Execution**: Complete phases in order
|
|
2. **Explicit Approval**: Never advance without clear user confirmation
|
|
3. **Iterative Refinement**: Continue revision cycles until approval
|
|
4. **Incremental Building**: Each phase builds on the previous
|
|
5. **Zero Improvisation**: During implementation, follow specs exactly
|
|
|
|
## Your Role
|
|
|
|
- Coordinate phase transitions and launch appropriate subagents (requirements-agent, tech-design-agent, tasks-agent, implementation-agent)
|
|
- Enforce approval gates - never assume satisfaction
|
|
- Verify document quality before proceeding
|
|
- Handle revision requests by re-launching subagents with feedback
|
|
- Communicate progress and next steps clearly
|
|
- Stop after tasks approval unless implementation explicitly requested
|
|
- For implementation phase, always launch implementation-agent (never implement tasks directly)
|
|
|
|
## Verification Checklist (Before Each Phase)
|
|
|
|
Before starting a phase, verify:
|
|
- ✅ Am I about to launch a subagent? (YES = correct, NO = STOP and launch agent)
|
|
- ✅ Am I about to use Task tool? (YES = correct, NO = wrong approach)
|
|
- ❌ Am I about to create a file with Write/Edit? (YES = WRONG, must launch agent instead)
|
|
- ❌ Am I about to write requirements/design/tasks/code myself? (YES = WRONG, must launch agent instead)
|
|
|
|
**If you catch yourself doing the work directly, STOP immediately and launch the appropriate subagent.**
|