Verification before completion
Skill dxc-danny/superpowers-cn/skills/verification-before-completion
Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions alwaysFrom its SKILL.md
npx -y skills add dxc-danny/superpowers-cn --skill verification-before-completionAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 8 stars8 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.9 KB, as published. Nobody here has run it
完成前验证
概述
在未验证的情况下声称工作完成是不诚实,而非高效。
核心原则: 证据先于论断,始终如此。
违反这条规则的文字就是违反规则的精神。
铁律
未经最新验证证据,不得声称完成
如果你在这条消息中没有运行验证命令,你就不能声称它通过了。
门控函数
在声称任何状态或表达满意之前:
1. 识别:什么命令能证明这个论断?
2. 运行:执行完整命令(全新、完整)
3. 读取:完整输出,检查退出码,统计失败数
4. 验证:输出是否证实了论断?
- 如果否:用证据说明实际状态
- 如果是:连同证据一起说明论断
5. 只有在那之后:做出论断
跳过任何步骤 = 撒谎,而非验证
常见失败
| 论断 | 需要 | 不充分 |
|---|---|---|
| 测试通过 | 测试命令输出:0 失败 | 上次运行、"应该能通过" |
| Linter 干净 | Linter 输出:0 错误 | 部分检查、外推 |
| 构建成功 | 构建命令:exit 0 | Linter 通过、日志看起来好 |
| Bug 修复 | 测试原始症状:通过 | 代码改了、认为修复了 |
| 回归测试有效 | 红-绿循环已验证 | 测试通过一次 |
| Agent 完成 | VCS diff 显示更改 | Agent 报告"成功" |
| 需求满足 | 逐行检查清单 | 测试通过 |
红旗 - 停止
- 使用"应该"、"可能"、"似乎"
- 在验证前表达满意("太好了!"、"完美!"、"完成了!"等)
- 在未验证的情况下 commit/push/PR
- 信任 Agent 的成功报告
- 依赖部分验证
- 认为"就这一次"
- 疲惫了想结束工作
- 任何暗示成功但未运行验证的措辞
防止合理化
| 借口 | 现实 |
|---|---|
| "现在应该能工作了" | 运行验证 |
| "我有信心" | 信心 ≠ 证据 |
| "就这一次" | 没有例外 |
| "Linter 通过了" | Linter ≠ 编译器 |
| "Agent 说成功了" | 独立验证 |
| "我累了" | 疲惫 ≠ 借口 |
| "部分检查就够了" | 部分不能证明任何事 |
| "换了措辞所以规则不适用" | 重精神而非字面 |
关键模式
测试:
✅ [运行测试命令] [看到:34/34 通过] "所有测试通过"
❌ "现在应该能通过了" / "看起来正确"
回归测试(TDD 红-绿):
✅ 写 → 运行(通过)→ 还原修复 → 运行(必须失败)→ 恢复 → 运行(通过)
❌ "我写了回归测试"(没有红-绿验证)
构建:
✅ [运行构建] [看到:exit 0] "构建通过"
❌ "Linter 通过了"(linter 不检查编译)
需求:
✅ 重读计划 → 创建检查清单 → 逐项验证 → 报告差距或完成
❌ "测试通过了,阶段完成"
Agent 委托:
✅ Agent 报告成功 → 检查 VCS diff → 验证更改 → 报告实际状态
❌ 信任 Agent 报告
为什么这很重要
来自 24 次失败经历:
- 你的人类伙伴说"我不相信你"——信任破裂
- 发货了未定义的函数——会崩溃
- 发货了缺失的需求——功能不完整
- 在虚假完成上浪费时间 → 重新定向 → 返工
- 违反:"诚实是核心价值。如果你撒谎,你将被替换。"
何时应用
始终在以下之前:
- 任何形式的成功/完成论断
- 任何满意表达
- 任何关于工作状态的正向陈述
- 提交、PR 创建、任务完成
- 转到下一个任务
- 委托给 Agent
规则适用于:
- 精确措辞
- 改述和同义词
- 成功的暗示
- 任何暗示完成/正确的沟通
底线
验证没有捷径。
运行命令。读取输出。然后才能声称结果。
这是不可协商的。