1
0
Files
nex/docs/prompts/prompt-apply-review.md

72 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
审查 openspec apply 完成后的实现是否与变更文档一致,按以下流程执行。
## 约束
- 仅审查代码和文档,不修改源码
- 每批修改建议执行前用提问工具获得用户确认
- 涉及删除/重写操作前必须备份原文件
## 1. 收集
并行读取:
- 本次变更涉及的所有文档proposal.md、design.md、tasks.md、specs/*.md
- 实际变更的源码文件
- 测试文件和测试结果
- openspec/config.yaml
## 2. 分析
根据上下文判断 apply 后是否有手动改动,将实现与文档双向对照:
| 维度 | 检查点 |
| ---- | ------ |
| 目标覆盖 | 代码实现是否覆盖 proposal 中的所有目标;是否有遗漏的功能点 |
| 方案一致性 | 实现是否与 design 中的技术方案一致;是否有偏离设计的地方 |
| 规范遵循 | 代码是否遵循 specs 中的规范要求;是否有违反 SHALL 约束的地方 |
| 任务完成度 | tasks 中每项任务是否真正完成;是否有未完成但标记完成的任务 |
| 测试完整性 | 测试是否覆盖所有场景;是否有跳过、取消、降低难度的测试;测试是否真正验证了功能 |
| 代码质量 | 是否有明显的代码问题(重复、复杂度过高、命名不清等);是否有可优化的地方 |
重点识别:
- 文档要求但未实现的功能 → 需补充代码
- 实现与文档描述不一致的地方 → 根据上下文判断apply 后手动改动则更新文档,否则确认修正方向
- 实现了但文档未提及的功能 → 根据上下文判断apply 后手动改动则补充文档,否则标记为未讨论的新增
- 标记完成但实际未完成的任务
- 掩盖错误的测试skip、only、降低断言强度等
输出审查结果:
1. **问题总览表**:问题类型 × 涉及文件数
2. **逐项分析**:每个问题文件,说明问题、影响和建议
3. **未覆盖清单**:哪些文档要求未在代码中实现(需补充代码)
4. **不一致清单**:哪些实现与文档描述不一致(需确认修正方向)
5. **需补充文档清单**:哪些代码改动未在文档中体现(需补充文档)
6. **任务问题清单**:哪些任务未真正完成或标记错误
7. **测试问题清单**:哪些测试存在问题或掩盖了错误
8. **优化建议清单**:哪些代码可以优化
若所有清单均为空,输出"审查通过,未发现问题",跳至步骤 5。
## 3. 计划(用户确认)
针对发现的问题,分类提出修复方案:
**需补充代码**:文档要求但未实现的功能,建议补充实现。
**需补充文档**:代码已实现但文档未记录,且上下文确认为 apply 后手动改动,建议更新 proposal/design/tasks/specs。
**需确认修正方向**:实现与文档不一致,且上下文无法判断:
- 若为 apply 后手动改动 → 更新文档
- 否则用提问工具确认以文档还是代码为准
**任务和测试问题**:逐项说明未完成原因、测试掩盖错误的风险,提出修复方案。
用提问工具展示完整修复方案,获得用户确认后执行。
## 4. 执行
逐项执行修复方案。
## 5. 收尾
列出所有修改的文件和变更摘要。