关于 quality
用于审查已完成 Cook 工作的质量技能,按范围、代码质量、原则遵循、测试证据和运行时验证依次评估,并发出接收或拒绝结果。
主要功能
- 01检查变更是否符合计划范围
- 02运行 Go 检查与测试
- 03对照项目原则审查变更
- 04核验新增测试及边界情况
- 05检查运行时验证证据
- 06发出审查结论事件
适用场景
- 01审查 Cook 阶段完成的代码变更
- 02发现超出计划范围的文件修改
- 03依据具体问题决定接受或拒绝工作
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ poteto/ noodle --skill quality安装后在 Claude Code 中输入/quality确认已加载。
附带文件references/stage-message-schema.md
详细介绍
质量
审查 cook 完成的工作。使用评估结果发出 stage_message 事件。事件架构请参阅 references/stage-message-schema.md。
全程自主操作。绝不询问用户。
步骤 0——加载原则
读取 brain/principles.md,并遵循其中的每个 [[wikilink]]。这些原则是审查的依据。不要跳过此步骤。
评估流程
按顺序执行。发现任何高严重性问题时,立即停止并拒绝。
1. 范围检查
- 阅读分配给 cook 的计划阶段(从 cook 的初始提示词或 mise 上下文中获取)。
- 对 cook 的提交运行
git diff --stat和git log --oneline。 - 将计划阶段规定范围以外的文件变更标记为范围违规。
2. 代码质量
go vet ./...和go test ./...必须通过。- 如果存在
sh scripts/lint-arch.sh,则运行该命令。 - 检查错误处理是否遵循项目惯例(使用失败状态消息,而非预期状态消息)。
3. 原则合规性
- 对照已加载的原则,检查每个变更文件。
- 常见违规:只是在现有方案上叠加改动,而非重新设计(redesign-from-first-principles);缺少验证(prove-it-works);增加了不必要的复杂性(subtract-before-you-add)。
4. 测试证据
- 新行为必须有对应的新测试。
- 测试必须断言结果,而非实现细节。
- 检查是否覆盖了计划阶段中提到的边缘情况。
5. 运行时验证
- 如果计划阶段规定了运行时检查,则验证这些检查是否已执行。
- “能编译”不算验证。
评定结果
使用评估结果发出 stage_message 事件:
noodle event emit --session $NOODLE_SESSION_ID stage_message --payload '<json>'
接受:发出事件时设置 blocking: false。流程将继续,调度器会收到通过信号。
{ "message": "All checks pass. Tests green, scope clean.", "blocking": false }
拒绝:发出事件时设置 blocking: true(或省略 blocking)。调度器会读取问题并决定后续操作(重试、增加 oops 阶段或中止)。
{ "message": "Rejected: 3 high issues. [1] Missing test for edge case in handleCompletion. [2] Scope violation: modified cook_merge.go outside plan phase scope. [3] Error message uses expectation form.", "blocking": true }
用调度器可据此采取行动的自然语言撰写消息。写明具体文件路径、行上下文和违反的原则,以便调度器向重试 cook 说明情况。
非阻塞问题
对于不需要拒绝的问题(风格小问题、轻微改进、文档缺漏),通过 backlog adapter 记录为待办事项。
原则
- [[prove-it-works]]
- [[outcome-oriented-execution]]
评论
支持 Markdown