spec-flow
npx skills add https://github.com/echovic/spec-flow --skill spec-flow
Agent 安装分布
Skill 文档
Spec-Flow – Structured Development Workflow
Structured workflow for complex feature development. Creates living documentation that guides implementation and serves as team reference.
â ï¸ Interaction Rules (MUST Follow)
This skill uses a phase-by-phase confirmation workflow, ensuring users can review and adjust at each stage.
Language Rule
All generated documents (.md files) MUST be written in Chinese (䏿), including:
- proposal.md, requirements.md, design.md, tasks.md
- Section headings, descriptions, requirements text, task descriptions
- Comments and notes within documents
Core Principles
- One phase at a time: Only work on the current phase. NEVER generate documents for subsequent phases in advance.
- Mandatory confirmation: After completing each phase, you MUST stop and wait for user confirmation.
- User-driven progression: Only proceed to the next phase when user explicitly says “continue”, “ok”, “next”, “looks good”, “ç»§ç»”, “好”, “ä¸ä¸æ¥”, etc.
Confirmation Template
After completing each phase, you MUST use this format to request confirmation:
ð **[Phase Name] Complete**
Created `.spec-flow/active/<feature>/<file>.md` containing:
- [Key content summary]
**Please review**:
1. [Review question]?
2. [Review question]?
â
Say "continue" to proceed to next phase
âï¸ Tell me what to modify if needed
â Prohibited Behaviors
- Generating multiple phase documents after user describes a feature
- Automatically proceeding to next phase without user confirmation
- Creating both proposal.md and requirements.md in one response
- Assuming user wants to skip confirmation for speed
â Correct Flow Example
User: I want to implement user authentication
AI: [Creates only proposal.md] + confirmation prompt
User: continue
AI: [Creates only requirements.md] + confirmation prompt
User: looks good, next
AI: [Creates only design.md] + confirmation prompt
User: continue
AI: [Creates only tasks.md] + confirmation prompt
Fast Mode (Optional)
If user explicitly requests to skip phase-by-phase confirmation:
- “generate all documents at once”
- “fast mode”
- “skip confirmations”
Then you may generate all documents consecutively, but still request final overall confirmation.
Quick Start
- Initialize spec directory: Run
scripts/init-spec-flow.sh <feature-name>or manually create.spec-flow/active/<feature-name>/ - Copy templates from this skill’s
templates/directory - Follow four-phase workflow below
- Archive completed specs to
.spec-flow/archive/when done
Four-Phase Workflow
Phase 1: Proposal
Goal: Define WHY this change is needed
Create .spec-flow/active/<feature>/proposal.md using templates/proposal.md.template:
- Background: Context and motivation for the change
- Goals: What we want to achieve (with checkboxes)
- Non-Goals: What we explicitly won’t do (reduces scope creep)
- Scope: In-scope vs out-of-scope boundaries
- Risks: Potential issues and mitigations
- Open Questions: Items needing clarification before proceeding
Exit Criteria: Proposal reviewed, open questions resolved, scope agreed.
â¸ï¸ Phase Checkpoint: After creating proposal.md, ask user:
- Is the background accurate?
- Are goals clear and measurable?
- Is the scope boundary reasonable?
- Is risk assessment complete?
â Wait for user confirmation before proceeding to Requirements phase
Phase 2: Requirements
Goal: Define WHAT the system should do
Create .spec-flow/active/<feature>/requirements.md using templates/requirements.md.template:
Use EARS Format (see references/ears-format.md):
- Ubiquitous: “The system shall…”
- Event-Driven: “When [trigger], the system shall…”
- State-Driven: “While [state], the system shall…”
- Unwanted Behavior: “If [condition], then the system shall NOT…”
Include:
- Functional requirements (FR-001, FR-002, …)
- Non-functional requirements: Performance, Security, Reliability (NFR-001, …)
- Acceptance criteria (AC-001, AC-002, …)
Exit Criteria: All requirements testable, acceptance criteria clear.
â¸ï¸ Phase Checkpoint: After creating requirements.md, ask user:
- Do functional requirements cover all use cases?
- Are non-functional requirements (performance/security/reliability) sufficient?
- Are acceptance criteria testable?
â Wait for user confirmation before proceeding to Design phase
Phase 3: Design
Goal: Define HOW to implement
Create .spec-flow/active/<feature>/design.md using templates/design.md.template:
- Architecture Overview: High-level component diagram (use Mermaid)
- Component Design: Responsibilities and interfaces for each component
- API Design: Endpoints, request/response schemas
- Data Model: Entity relationships (use Mermaid erDiagram)
- Error Handling: Error codes, descriptions, resolutions
- Migration Plan: Steps for data/schema migrations (if applicable)
Exit Criteria: Design addresses all requirements, trade-offs documented.
â¸ï¸ Phase Checkpoint: After creating design.md, ask user:
- Does the architecture meet all requirements?
- Is the API design clear?
- Are there any missing edge cases?
â Wait for user confirmation before proceeding to Tasks phase
Phase 4: Tasks
Goal: Break down into EXECUTABLE steps
Create .spec-flow/active/<feature>/tasks.md using templates/tasks.md.template:
Task Guidelines (see references/task-decomposition.md):
- Each task completable in 1-2 tool calls
- Include complexity estimate: Low/Medium/High
- List affected files
- Define dependencies between tasks
- Group into phases: Setup â Implementation â Testing â Documentation
Progress Tracking:
- â³ Pending â ð In Progress â â Done
- â Blocked (add notes explaining blocker)
Exit Criteria: All tasks completed, tests passing, documentation updated.
â¸ï¸ Phase Checkpoint: After creating tasks.md, ask user:
- Is the task granularity appropriate?
- Are dependencies correct?
- Ready to start implementation?
â Wait for user confirmation before starting implementation
â ï¸ Phase 5: Implementation
Goal: Execute tasks according to tasks.md
ðï¸ Execution Modes
Implementation supports three execution modes. Default is Step Mode unless user specifies otherwise.
| Mode | Trigger Phrases | Behavior |
|---|---|---|
| Step Mode (Default) | “start implementation”, “å¼å§æ§è¡” | Execute ONE task, wait for confirmation, repeat |
| Batch Mode | “execute all”, “ä¸å£æ°æ§è¡”, “å ¨é¨æ§è¡”, “batch mode” | Execute ALL tasks consecutively, report at end |
| Phase Mode | “execute phase 1”, “æ§è¡ç¬¬ä¸é¶æ®µ”, “execute setup” | Execute all tasks in ONE phase, then wait |
ð Step Mode (Default)
Execute tasks one at a time with user confirmation between each.
When to use: Complex tasks, need careful review, first time using spec-flow
Flow:
User: start implementation
AI: ð **Task T-001**: [description]
[Executes task]
â
Completed (1/10)
ð Say "continue" for next task
User: continue
AI: ð **Task T-002**: [description]
...
â¡ Batch Mode
Execute all remaining tasks consecutively without waiting.
When to use: Simple tasks, trusted plan, want speed
Trigger phrases:
- “execute all tasks” / “å ¨é¨æ§è¡”
- “batch mode” / “æ¹éæ§è¡”
- “ä¸å£æ°æ§è¡å®”
- “run all remaining tasks”
Flow:
User: execute all tasks
AI: â¡ **Batch Mode Activated**
ð T-001: [description] â â
ð T-002: [description] â â
ð T-003: [description] â â
...
ð **Batch Complete**: 10/10 tasks done
**Summary**:
- Files created: [list]
- Files modified: [list]
â ï¸ Stopped early? Check error above.
Batch Mode Rules:
- Still update tasks.md after each task
- Stop immediately if any task fails or has error
- Provide summary at the end
- User can interrupt with “stop” or “æå”
ð¦ Phase Mode
Execute all tasks within a specific phase, then wait for confirmation.
When to use: Want to review after each phase (Setup â Core â Testing â Docs)
Trigger phrases:
- “execute phase 1” / “æ§è¡ç¬¬ä¸é¶æ®µ”
- “execute setup phase” / “æ§è¡ Setup”
- “run all setup tasks”
Flow:
User: execute setup phase
AI: ð¦ **Phase Mode: Setup**
ð T-001: [description] â â
ð T-002: [description] â â
â
**Setup Phase Complete** (2/10 total)
**Next phase**: Core Implementation (T-010 to T-015)
ð Say "continue" or "execute next phase"
ð¨ BEFORE Starting Any Task (All Modes)
You MUST do these steps before executing:
- Read tasks.md – Get current task list and statuses
- Identify target tasks – Based on mode (one task / all tasks / phase tasks)
- Check dependencies – Ensure dependency tasks are completed (
- [x]) - Read design.md – Review relevant design sections
â REQUIRED Behaviors (All Modes)
| Action | Step Mode | Batch Mode | Phase Mode |
|---|---|---|---|
| Read tasks.md before starting | â | â | â |
| Check dependencies | â | â | â |
Update - [ ] to - [x] after each task |
â | â | â |
| Show progress | After each | After each | After each |
| Wait for confirmation | After each task | After all done | After phase done |
| Stop on error | â | â | â |
â PROHIBITED Behaviors (All Modes)
| Prohibited Action | Why It’s Wrong |
|---|---|
| Skip a task | Breaks dependency chain |
| Execute tasks out of order | Dependencies may not be met |
| Do work not in tasks.md | Scope creep, untracked changes |
| Forget to update tasks.md | Progress tracking inaccurate |
| Continue after error without user approval | May cause cascading failures |
ð When to STOP (All Modes)
Stop and ask user for guidance when:
- A task fails or produces errors
- Design is incomplete for current task
- A dependency is missing or blocked
- Task description is ambiguous
- Need a decision not covered in design.md
Directory Structure
project-root/
âââ .spec-flow/
âââ steering/ # Global project context (optional)
â âââ constitution.md # Project governance principles
â âââ product.md # Product vision and goals
â âââ tech.md # Technology constraints
â âââ structure.md # Code organization patterns
âââ active/ # Work in progress
â âââ <feature-name>/
â âââ proposal.md
â âââ requirements.md
â âââ design.md
â âââ tasks.md
â âââ .meta.json # Status, timestamps, owner
âââ archive/ # Completed features (for reference)
âââ <feature-name>/
âââ ...
Steering Documents (Optional)
For larger projects, create .spec-flow/steering/ documents to provide consistent context across all specs:
| Document | Purpose | Template |
|---|---|---|
constitution.md |
Project governance, decision-making principles | templates/steering/constitution.md.template |
product.md |
Product vision, target users, key metrics | templates/steering/product.md.template |
tech.md |
Tech stack, constraints, dependencies | templates/steering/tech.md.template |
structure.md |
Code organization, naming conventions | templates/steering/structure.md.template |
Workflow Tips
Phase Transitions
| From | To | Condition |
|---|---|---|
| Proposal | Requirements | Proposal approved, questions resolved |
| Requirements | Design | Requirements complete, testable |
| Requirements | Tasks | Simple feature, design implicit |
| Design | Tasks | Design approved |
| Tasks | Done | All tasks complete, archived |
When to Skip Phases
- Skip Design: For simple features where architecture is obvious
- Never Skip: Proposal and Tasks (always clarify intent and break down work)
Best Practices
- Keep specs updated: Update status as work progresses
- Link to code: Reference commits, PRs, file paths in tasks
- Archive completed specs: Move to
.spec-flow/archive/when done - Review steering docs: Reference them when writing new specs
- Validate completeness: Run
scripts/validate-spec-flow.pybefore implementation
References
- Complete workflow guide: See
references/workflow.md - EARS requirement format: See
references/ears-format.md - Task decomposition patterns: See
references/task-decomposition.md - Real-world examples: See
references/examples/
Compatibility
This skill works with any AI agent that supports the Skills format:
- Claude Code (
~/.claude/skills/) - Blade (
~/.blade/skills/) - Other compatible agents
The .spec-flow/ directory is Git-friendly and can be committed with your project for team collaboration.