mcpField
V
verification-before-completion

verification-before-completion

github.com/makerjackie测试与质量140 次安装36 周前更新
代码仓库

关于 verification-before-completion

用于软件开发任务的验证技能,要求在报告状态或完成工作前,运行完整检查并读取输出与退出码。它将测试、构建、修复和需求核对等声明与相应证据对应起来。

主要功能

  1. 01完成声明前运行新鲜验证
  2. 02检查完整输出、退出码与失败数
  3. 03为测试、构建和修复设定证据要求
  4. 04逐项核对需求并报告缺口
  5. 05验证代理报告和版本控制差异

适用场景

  1. 01报告测试结果前运行测试命令
  2. 02提交代码前确认构建结果
  3. 03验证缺陷修复是否解决原问题
  4. 04检查代理变更和需求完成情况

安装

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

$npx skills add https://github.com/makerjackie/jackie-skills-starter --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 已修复测试原始症状:通过代码已更改、假定已修复
回归测试有效已验证红绿循环测试通过一次
Agent 已完成VCS 差异显示更改Agent 报告“成功”
满足要求逐行检查清单测试通过

危险信号 - 停止

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

防止自我合理化

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

关键模式

测试:

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

回归测试(TDD 红绿循环):

✅ 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