mcpField
V
verification-before-completion

verification-before-completion

github.com/cloudflare测试与质量9.1k81 次安装今天更新
代码仓库

关于 verification-before-completion

面向 Agent 的完成前核验规范,要求先运行适当命令并检查完整输出,再报告工作状态。它强调以新鲜证据验证测试、构建、修复和需求完成情况。

主要功能

  1. 01先验证再报告完成
  2. 02运行完整核验命令
  3. 03检查输出、退出码与失败数
  4. 04回归测试红绿验证
  5. 05逐项核对需求与变更

适用场景

  1. 01报告测试或构建结果前核验
  2. 02确认缺陷修复及回归测试
  3. 03提交代码或创建 PR 前检查
  4. 04复核 Agent 声称完成的工作

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/cloudflare/workerd --skill verification-before-completion

安装后在 Claude Code 中输入/verification-before-completion确认已加载。

详细介绍

完成前验证

概述

未经验证就声称工作已完成,不是效率,而是不诚实。

核心原则: 先有证据,再下结论,始终如此。

违背规则的字面要求,就是违背规则的精神。

铁律

NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE

如果你没有运行本消息中的验证命令,就不能声称验证通过。

把关函数

BEFORE claiming any status or expressing satisfaction:

1. IDENTIFY: What command proves this claim?
2. RUN: Execute the FULL command (fresh, complete)
3. READ: Full output, check exit code, count failures
4. VERIFY: Does output confirm the claim?
   - If NO: State actual status with evidence
   - If YES: State claim WITH evidence
5. ONLY THEN: Make the claim

Skip any step = lying, not verifying

常见失误

声称所需证据不足以证明
测试通过测试命令输出:0 个失败之前运行过、“应该能通过”
Linter 检查通过Linter 输出:0 个错误部分检查、推断
构建成功构建命令:退出码为 0Linter 通过、日志看起来不错
Bug 已修复测试原有问题:通过代码已更改、假定问题已修复
回归测试有效已验证 Red-Green 循环测试通过一次
Agent 已完成VCS diff 显示更改Agent 报告“成功”
满足要求逐行核对清单测试通过

危险信号——停止

  • 使用“应该”“大概”“似乎”等说法
  • 验证之前就表达满意(“太好了!”“完美!”“完成了!”等)
  • 准备提交/推送/创建 PR,却尚未验证
  • 轻信 Agent 的成功报告
  • 依赖部分验证
  • 心想“就这一次”
  • 感到疲惫,只想赶紧结束工作
  • 任何暗示成功、但尚未运行验证的措辞

防止自我开脱

借口事实
“现在应该能用了”运行验证
“我有信心”信心 ≠ 证据
“就这一次”没有例外
“Linter 通过了”Linter ≠ 编译器
“Agent 说成功了”独立验证
“我累了”疲惫 ≠ 借口
“部分检查就够了”部分检查无法证明任何事
“换了种说法,规则就不适用了”重精神,不拘字面

关键模式

测试:

✅ [Run test command] [See: 34/34 pass] "All tests pass"
❌ "Should pass now" / "Looks correct"

回归测试(TDD Red-Green):

✅ Write → Run (pass) → Revert fix → Run (MUST FAIL) → Restore → Run (pass)
❌ "I've written a regression test" (without red-green verification)

构建:

✅ [Run build] [See: exit 0] "Build passes"
❌ "Linter passed" (linter doesn't check compilation)

要求:

✅ Re-read plan → Create checklist → Verify each → Report gaps or completion
❌ "Tests pass, phase complete"

Agent 委派:

✅ Agent reports success → Check VCS diff → Verify changes → Report actual state
❌ Trust agent report

为什么这很重要

来自 24 条失败记录:

  • 你的人类搭档说“我不相信你”——信任已破裂
  • 未定义的函数被发布——可能导致崩溃
  • 遗漏的要求被发布——功能不完整
  • 因错误地宣称完成而浪费时间 → 转向其他任务 → 返工
  • 违背了:“诚实是核心价值观。如果你撒谎,就会被替换。”

何时适用

务必在以下情况之前:

  • 任何形式的成功/完成声明
  • 任何表达满意的言辞
  • 任何关于工作状态的正面陈述
  • 提交、创建 PR、完成任务
  • 转向下一项任务
  • 委派给 Agent

规则适用于:

  • 完全相同的措辞
  • 改述和同义表达
  • 暗示成功的说法
  • 任何暗示已完成/正确的沟通

最重要的一点

验证不走捷径。

运行命令。阅读输出。然后再说明结果。

这是不可妥协的。

评论

支持 Markdown