V
verification-before-completion

verification-before-completion

obra
2026-04-06

在准备声称工作完成、已修复或通过时,在提交或创建 PR 之前使用——要求在做出任何成功声明之前运行验证命令并确认输出;证据永远先于断言。


简介

verification-before-completion 技能专门用于对抗 AI 代理(以及人类开发者)过早宣布胜利的倾向。它有效防止了代理仅凭代码修改就声称“错误已修复!”,而用户却发现应用程序甚至无法编译的尴尬局面。

核心理念

“证据永远先于声明”。通过强制设立一个严格的验证关卡,该技能确保在当前上下文中没有生成新鲜的经验证据(如测试输出或构建日志)之前,任何任务都不会被标记为完成。

安装与调用指南

https://github.com/obra/superpowers

工作流程解析 (SOP)

阅读原始 SKILL.md

  • 关卡功能 (The Gate Function):在表达满意或完成之前,AI 必须明确指出验证命令,全新执行它,读取完整的输出结果,然后才能做出声明。
  • 识别常见错误:该技能梳理了常见的逻辑谬误,例如:误以为 Linter 没报错就等于构建成功,或者认为视觉上修改了代码就意味着错误已修复,而未去测试原始的错误症状。
  • 危险信号 (Red Flags):指示 AI 如果发现自己正在使用“应该能工作”、“可能”等词汇,或在验证之前就表达满意(如“完成了!”),必须立即停止。
  • 防止自欺欺人:直接反驳“我很自信”之类的借口(“自信 ≠ 证据”),迫使 AI 将规则的实质精神置于懒惰的变通做法之上。

技能设计评价

  • 人类经验 SOP 化的亮点:建立了一个严苛的“关卡功能(Gate Function)”,要求在允许 AI 宣布成功之前,必须全新且独立地执行验证命令。梳理了常见的失败模式和明确的危险信号,以防止盲目自信。
  • 潜在的局限性:对于极其微小的变更,严格要求在确认完成前重新运行完整的测试套件或构建流程,可能会拖慢对话的节奏。
  • 优质技能的评判标准:通过要求提供经验证据(退出代码、精确日志)而不是依赖 AI 的内部假设或推断,它起到了防止 AI 幻觉和过早满足的严格把关作用。