| name | specpilot-check |
| description | 当用户输入 /specpilot:check REQ-xxx,想复核 SpecPilot 需求、检查实现进度、验证测试情况,或查找当前项目中缺失的需求记录时使用。 |
SpecPilot: 检查需求
手动检查当前需求的最新进度,根据不同阶段进行针对性的深度复核。
参数
the user-provided arguments after the command text - 要检查的需求编号(如 REQ-001)
使用场景
- 中断后恢复工作,需要了解当前进度
- 对当前阶段的工作进行复核确认
- 主动触发代码审查
- 确认需求是否可以进入下一阶段
执行步骤
阶段一:读取需求状态
- 从
the user-provided arguments after the command text 解析需求编号
- 如果未提供编号,运行
ls docs/specpilot/requirements/ 并询问用户要检查哪个需求
- 读取
docs/specpilot/requirements/index.md 获取需求当前状态
- 读取草稿文件:
docs/specpilot/requirements/REQ-{编号}-draft.md
- 读取项目指南:
docs/specpilot/project-guide.md
阶段二:根据状态执行检查
如果状态是 📝 draft(草稿阶段)
检查内容:需求是否完整可确认
- 读取草稿中的【需求内容】
- 检查需求描述是否清晰完整
- 输出检查结果:
## 需求检查结果 - REQ-{编号}
**当前状态**:📝 草稿
### 需求完整性检查
- [ ] 需求描述是否清晰
- [ ] 是否有明确的业务目标
- [ ] 是否指定了代码位置(如有)
### 建议
- [下一步建议,如执行 /specpilot:confirm]
如果状态是 🔍 confirming(确认中)
检查内容:需求确认是否完整
- 读取【需求内容】和【需求确认】(如有)
- 重新进行完整数据链路分析:
- 数据从哪里来?经过哪些处理?最终到哪里?
- 涉及哪些方法/服务?调用顺序是什么?
- 是否有异步处理?时序是否正确?
- 检查是否还有未确认的问题
- 输出检查结果:
## 需求检查结果 - REQ-{编号}
**当前状态**:🔍 确认中
### 需求确认复核
#### 完整数据链路分析
[重新分析的数据流/调用链路]
#### 已确认项
- [x] [已确认的内容]
#### 待确认项
- [ ] [仍需确认的问题]
### 建议
- [是否可以完成确认,或需要补充什么]
如果状态是 ✅📋 confirmed(已确认)
检查内容:确认内容是否完整,是否可以开始执行
- 读取完整的【需求确认】部分
- 检查确认内容的完整性:
- 术语定义
- 数据模型设计
- 业务规则
- 数据流/调用链路
- 边界条件
- 涉及代码文件
- 读取相关代码文件,验证确认内容的准确性
- 输出检查结果:
## 需求检查结果 - REQ-{编号}
**当前状态**:✅📋 已确认
### 需求确认完整性检查
- [x] 术语定义:已定义
- [x] 数据模型设计:已设计
- [x] 业务规则:已明确
- [x] 数据流/调用链路:已分析
- [x] 边界条件:已覆盖
- [x] 涉及代码文件:已列出
### 代码位置验证
[验证确认中提到的代码文件和方法是否存在]
### 建议
- [是否可以执行 /specpilot:exec,或需要补充什么]
如果状态是 🚧 in_progress(进行中)
检查内容:开发进度和代码完整性(最重要的检查)
- 读取【需求确认】和【技术方案】(如有)
- 检查代码实现状态:
- 读取涉及的代码文件
- 对照需求确认,逐项检查是否已实现
- 执行完整数据链路代码审查:
- 追踪数据从输入到输出的完整路径
- 检查每个改动点是否正确
- 检查是否有遗漏的改动点
- 执行两轮代码自审(如果代码已完成):
- 输出检查结果:
## 需求检查结果 - REQ-{编号}
**当前状态**:🚧 进行中
### 开发进度检查
#### 需求覆盖情况
| 需求项 | 状态 | 说明 |
|--------|------|------|
| [需求1] | ✅/❌/🚧 | [实现情况] |
| [需求2] | ✅/❌/🚧 | [实现情况] |
#### 代码改动清单
| 文件 | 预期改动 | 实际状态 |
|------|----------|----------|
| xxx.go | xxx | ✅ 已完成 / ❌ 未实现 / 🚧 部分完成 |
### 完整数据链路代码审查
#### 数据流验证
[追踪数据流,验证每个环节]
#### 代码审查结果
**第一轮:完整性检查**
- [x] 需求覆盖:[结果]
- [x] 数据流:[结果]
- [x] 代码一致性:[结果]
**第二轮:质量检查**
- [x] 代码质量:[结果]
- [x] 错误处理:[结果]
- [x] 日志:[结果]
#### 发现的问题
1. [问题描述]:[建议修复方案]
### 建议
- [下一步操作:继续开发 / 修复问题 / 可以存档]
如果状态是 ✅ completed(已完成)
检查内容:存档完整性检查
- 检查存档文件是否存在
- 检查 draft 文件是否保留
- 检查 index.md 是否已更新
- 输出检查结果:
## 需求检查结果 - REQ-{编号}
**当前状态**:✅ 已完成
### 存档完整性检查
- [x] 存档文件:docs/specpilot/requirements/REQ-{编号}-{描述}.md
- [x] Draft 文件:已保留
- [x] 索引更新:已更新
### 文件清单
- 存档文件:[路径]
- Draft 文件:[路径]
- 其他文件:[如有]
阶段三:输出总结
无论什么状态,最后都输出:
---
## 检查总结
**需求**:REQ-{编号} - {描述}
**当前状态**:{状态}
**检查时间**:{当前时间}
### 检查结论
- [总体结论:正常 / 有问题需处理]
### 下一步操作
- [具体建议的下一步操作]
参考文档
- 完整规范见
docs/specpilot/README.md
- 现有能力规格见
docs/specpilot/specs/