name: speckit-workflow description: GitHub Spec Kit 五阶段工作流程。使用时遵循宪法 → 规范 → 计划 → 任务 → 实现周期。提供阶段指导、文件模板和工作流程编排。 allowed-tools: Read, Glob, Grep, Write, Edit, Task
Spec Kit 工作流程
GitHub Spec Kit 五阶段规范驱动开发工作流程。
何时使用此技能
关键词: Spec Kit、五阶段工作流程、宪法、规范、计划、任务、实现、feature.md、design.md、tasks.md、规范工作流程、GitHub Spec Kit、constitution.md、阶段化开发
使用此技能当:
- 实施规范驱动开发工作流程
- 创建或更新项目宪法文件
- 从需求生成特征规范
- 从规范创建实施计划
- 将计划分解为任务列表
- 遵循完整的规范 → 计划 → 任务 → 实现周期
工作流程概述
阶段0: 宪法 (一次性设置)
↓
阶段1: 规范 (生成 feature.md)
↓
阶段2: 计划 (生成 design.md)
↓
阶段3: 任务 (生成 tasks.md)
↓
阶段4: 实现 (带指导的编码)
阶段0: 宪法
目的
建立项目范围内的原则、约束和非功能性需求,指导所有规范。
文件: .constitution.md
# 项目宪法
## 核心原则
- <原则1>
- <原则2>
## 技术约束
- <约束1>
- <约束2>
## 质量标准
- <标准1>
- <标准2>
## 非功能性需求
- 性能: <需求>
- 安全: <需求>
- 可访问性: <需求>
宪法检查清单
- [ ] 核心开发原则已定义
- [ ] 技术约束已记录
- [ ] 质量标准已指定
- [ ] 非功能性需求已列出
- [ ] 团队惯例已捕获
- [ ] 依赖和集成需求已注明
何时更新
更新宪法当:
- 出现新的非功能性需求
- 团队惯例变更
- 架构决策影响所有特征
- 添加项目范围内的约束
阶段1: 规范
目的
将特征请求或用户故事转化为结构化规范,包含EARS需求和验收标准。
输入
- 特征请求 (自然语言)
- 用户故事 (作为一个… 我想要… 以便…)
- 问题陈述
输出: feature.md
# 特征: <特征名称>
## 上下文
### 问题陈述
<解决什么问题?>
### 动机
<为什么重要?>
### 范围
<范围内/外?>
## 需求
### REQ-001: <需求标题>
**EARS模式:** <ubiquitous|state-driven|event-driven|unwanted|optional>
**优先级:** <must|should|could>
**文本:** <EARS格式需求>
#### 验收标准
- **AC-001:**
- 给定: <前置条件>
- 当: <动作>
- 那么: <结果>
### REQ-002: ...
## 依赖
- <依赖1>
- <依赖2>
## 风险
- <风险1>
- <风险2>
规范阶段检查清单
- [ ] 问题陈述清晰具体
- [ ] 所有需求使用EARS模式
- [ ] 每个需求有验收标准
- [ ] 需求已优先化 (MoSCoW)
- [ ] 依赖已识别
- [ ] 风险已记录
- [ ] 范围边界已定义
阶段2: 计划
目的
为指定特征设计技术实施方法。
输入
feature.md来自阶段1- 宪法约束
- 现有代码库上下文
输出: design.md
# 设计: <特征名称>
## 概述
<高层次方法>
## 架构
### 组件设计
- <组件1>: <目的>
- <组件2>: <目的>
### 数据模型
<实体、关系、模式变更>
### API设计
<端点、合约、接口>
## 技术方法
### 选择的方法
<选择的方法及理由>
### 考虑的替代方案
| 替代方案 | 优点 | 缺点 | 为何不选 |
| --- | --- | --- | --- |
| <替代1> | ... | ... | ... |
## 集成点
- <集成1>
- <集成2>
## 测试策略
- 单元测试: <方法>
- 集成测试: <方法>
- 端到端测试: <方法>
## 部署计划
<如何部署?>
计划阶段检查清单
- [ ] 架构符合宪法
- [ ] 所有需求可解决
- [ ] 考虑过替代方案
- [ ] 数据模型完整
- [ ] API合约已定义
- [ ] 测试策略覆盖验收标准
- [ ] 集成点已识别
- [ ] 部署计划存在
阶段3: 任务
目的
将设计分解为可实施的任务,有清晰的交付物。
输入
design.md来自阶段2feature.md需求用于可追溯性
输出: tasks.md
# 任务: <特征名称>
## 任务列表
### TSK-001: <任务标题>
**状态:** 待定
**需求:** REQ-001
**预计工作量:** <S|M|L|XL>
**描述:**
<需要做什么>
**交付物:**
- [ ] <交付物1>
- [ ] <交付物2>
**验收标准:**
- [ ] <标准1>
- [ ] <标准2>
### TSK-002: ...
## 依赖图
```text
TSK-001 → TSK-003
TSK-002 → TSK-003
TSK-003 → TSK-004
```
## 工作量总结
| 大小 | 数量 | 典型时长 |
| --- | --- | --- |
| S | <n> | < 2 小时 |
| M | <n> | 2-4 小时 |
| L | <n> | 4-8 小时 |
| XL | <n> | > 8 小时 |
任务阶段检查清单
- [ ] 每个需求至少有一个任务
- [ ] 任务可独立交付
- [ ] 依赖已映射
- [ ] 提供工作量估计
- [ ] 验收标准可测试
- [ ] 无任务大于XL
- [ ] 关键路径已识别
阶段4: 实现
目的
执行任务,持续验证规范。
输入
tasks.md来自阶段3design.md用于技术指导feature.md用于验收标准
工作流程
1. 选择下一个任务 (尊重依赖)
2. 审查任务交付物和验收标准
3. 实施任务
4. 验证验收标准
5. 标记任务完成
6. 重复直到所有任务完成
实施检查清单 (每任务)
- [ ] 任务依赖已完成
- [ ] 实施遵循设计
- [ ] 代码通过验收标准
- [ ] 测试已编写并通过
- [ ] 文档已更新
- [ ] 任务在tasks.md中标记完成
特征完成检查清单
- [ ] 所有任务标记完成
- [ ] 所有验收标准已验证
- [ ] 所有测试通过
- [ ] 文档完整
- [ ] 特征已审查原始请求
阶段过渡
阶段0 → 阶段1
关口: 宪法存在且当前
验证:
- [ ]
.constitution.md文件存在 - [ ] 宪法在过去季度内已审查
- [ ] 无需阻塞更新
阶段1 → 阶段2
关口: 规范完整且有效
验证:
- [ ] 所有需求使用EARS模式
- [ ] 所有需求有验收标准
- [ ] 优先级已分配
- [ ] 依赖已识别
- [ ] 利益相关者批准 (如果需要)
阶段2 → 阶段3
关口: 设计可实施
验证:
- [ ] 设计解决所有需求
- [ ] 架构符合宪法
- [ ] 技术方法已选
- [ ] 集成点已定义
- [ ] 测试策略已记录
阶段3 → 阶段4
关口: 任务准备实施
验证:
- [ ] 所有任务映射到需求
- [ ] 依赖已图表化
- [ ] 工作量已估计
- [ ] 无外部特征的阻塞依赖
- [ ] 开发环境就绪
提示参考
规范提示
位于: prompts/specify.prompt.md
关键部分:
- 从用户输入提取上下文
- EARS模式应用
- 验收标准生成
- 优先化指导
计划提示
位于: prompts/plan.prompt.md
关键部分:
- 架构设计
- 替代分析
- 测试策略
- 集成规划
任务提示
位于: prompts/tasks.prompt.md
关键部分:
- 任务分解
- 依赖映射
- 工作量估计
- 验收标准映射
文件组织
.specs/
├── <特征名称>/
│ ├── feature.md # 阶段1输出
│ ├── design.md # 阶段2输出
│ └── tasks.md # 阶段3输出
└── ...
.constitution.md # 阶段0 (项目根目录)
快速命令
| 阶段 | 命令 | 描述 |
|---|---|---|
| 0 | /spec:constitution |
创建/更新宪法 |
| 1 | /spec:specify |
生成规范 |
| 2 | /spec:plan |
生成设计 |
| 3 | /spec:tasks |
生成任务分解 |
| 4 | /spec:implement |
指导实现 |
| 所有 | /spec:speckit:run |
完整工作流程 |
与规范模型的集成
Spec Kit 输出映射到规范模型:
| Spec Kit | 规范字段 |
|---|---|
| feature.md 上下文 | context.problem, context.motivation |
| REQ-xxx | requirements[].id |
| EARS 文本 | requirements[].text |
| 优先级 | requirements[].priority |
| AC-xxx | requirements[].acceptance_criteria[] |
| design.md | implementation_notes |
参考文献
详细文档:
相关技能:
spec-management- 规范工作流程导航canonical-spec-format- 规范结构ears-authoring- EARS需求模式gherkin-authoring- 验收标准语法
最后更新: 2025-12-24
版本历史
- v1.0.0 (2025-12-26): 初始发布