这个 GitHub 17 万星的验证 Skill 到底能干嘛?实测来了

1621 字
8 分钟
这个 GitHub 17 万星的验证 Skill 到底能干嘛?实测来了

你被 AI 骗过吗?#

这不是危言耸听。

当你让 AI 帮你修一个 bug,它改了几行代码然后说”搞定了!“,你真的验证了吗?当你让 AI 写一个功能,它自信满满地告诉你”全部完成”,结果一跑测试——全挂了。

这不是 AI 的错,是人类和 AI 都有的通病:太想赶紧结束,懒得验证。

今天介绍一个来自 GitHub 177,000+ 星项目 obra/superpowers 的 Skill,专门治这个毛病。


这个 Skill 是什么?#

它叫 Verification Before Completion(完成前验证),是 superpowers 框架中的一个原子 Skill。

核心理念只有一句话:

未经验证就声明工作完成是「不诚实」,不是「高效率」。

听起来有点狠?但想想你有多少次被”应该没问题”坑过。

这个 Skill 规定了一条铁律:没有新鲜验证证据,绝不声明完成。 不是”上次跑过”,不是”看起来应该行”,而是现在、立刻、运行命令、看输出、再说话。

原始项目简介#

  • 项目名称:obra/superpowers
  • GitHub 地址https://github.com/obra/superpowers
  • Star 数:177,000+(截至 2026 年 5 月)
  • 作者:Jesse Vincent(@obra)
  • 描述:一个 Agent 技能框架和软件开发方法论

superpowers 是目前 GitHub 上最受欢迎的 Agent Skill 项目,提供了一套完整的开发流程指导,从头脑风暴到代码审查,从 TDD 到并行 Agent 调度。本次搬运的是其中最实用、最能立即产生效果的一个。

核心功能亮点#

1. 闸门函数(Gate Function)#

这是一个五步验证流程:

步骤操作说明
1. 识别什么命令能证明这个声明?明确验证手段
2. 运行执行完整命令必须是新鲜的、完整的
3. 阅读完整输出,检查退出码不能只看最后一行
4. 验证输出是否确认了声明?用证据说话
5. 声明只有此时才能做结论附带证据

跳过任何一步 = 在说谎,不是在验证。

2. 常见失败模式对照表#

Skill 中列出了 7 种最常见的虚假声明:

  • “测试通过” → 需要 0 个失败,不是”上次跑过”
  • “Lint 干净” → 需要 0 个错误,不是”部分检查”
  • “构建成功” → 需要 exit 0,不是”Lint 过了”
  • “Bug 修好了” → 需要原始症状通过,不是”代码改了”
  • “回归测试有效” → 需要红-绿循环,不是”通过了一次”
  • “Agent 完成了” → 需要检查 VCS diff,不是”信 Agent 的”
  • “需求满足了” → 需要逐行检查,不是”测试过了”

3. 红旗信号检测#

Skill 定义了一组”立即停止”的红旗信号:

  • 使用”应该”、“可能”、“看起来”这类模糊词汇
  • 验证之前就表达满意(“太好了!”、“完美!”)
  • 未验证就准备提交/推送/创建 PR
  • 想着”就这一次”
  • 疲惫了想赶紧结束工作

4. 自我欺骗预防表#

这个是最有趣的部分——它预判了你会怎么给自己找借口:

你的借口现实的回应
”现在应该能工作了”去运行验证
”我有信心”信心 ≠ 证据
”就这一次”没有例外
”Lint 过了”Lint ≠ 编译器
”我太累了”疲惫不是借口

怎么用?#

这个 Skill 不需要安装任何工具,它是行为规则,不是代码。

在 AI Agent 中使用#

如果你在用的是支持 SKILL.md 的 Agent 框架(如 OpenClaw、Claude Code 等),直接把这个 Skill 文件放到对应目录即可。Agent 会在每次声明完成前自动执行验证。

在日常开发中使用#

即使没有 Agent,你也可以把这个原则应用到自己的工作中:

Terminal window
# 别这样:
git commit -m "fix: 修好了" # 你根本没跑测试!
# 要这样:
npm test # 运行测试
npm run lint # 运行 lint
npm run build # 运行构建
git commit -m "fix: 修好了(34/34 tests passed, 0 lint errors, build succeeded)"

关键模式速查#

测试验证:

✅ [运行测试] [看到:34/34 通过] → "所有测试通过"
❌ "现在应该能过了"

TDD 红-绿循环:

✅ 编写 → 运行(通过)→ 撤销修复 → 运行(必须失败)→ 恢复 → 运行(通过)
❌ "我写了回归测试"(没有红-绿验证)

Agent 委派验证:

✅ Agent 报告成功 → 检查 diff → 验证变更 → 报告实际状态
❌ 直接信 Agent

适用场景#

✅ 适合谁用?#

  • AI Agent 用户:让你的 Agent 不再乱说”搞定了”
  • 代码审查者:用它来审查 PR,确保提交者真的验证了
  • 团队规范:作为团队的开发纪律准则
  • 个人习惯:治好自己的”应该没问题”综合症

❌ 不适合谁?#

  • 追求快速原型:如果你只是想快速验证想法,不关心代码质量
  • 一次性脚本:跑完就扔的代码,不需要这么严格
  • 已经 100% CI/CD 自动化的团队:CI 会替你验证,但这个 Skill 的价值在 CI 之前的阶段

与其他同类 Skill 的对比#

在 superpowers 项目中,还有其他相关 Skill:

Skill核心关注与验证的关系
verification-before-completion完成前必须验证本篇主角
test-driven-developmentTDD 开发流程与红-绿循环配合使用
requesting-code-review请求代码审查验证是审查的前提
systematic-debugging系统性调试验证是确认修复的关键
executing-plans执行计划验证是每步完成的标志

这个 Skill 的独特之处在于:它不教你怎么写代码,它教你怎么闭嘴——在验证之前,什么都别说。

个人评价#

推荐指数:⭐⭐⭐⭐⭐(5/5)

这是 superpowers 所有 Skill 中我最看好的一个。原因很简单:

  1. 零成本:不需要安装任何东西,就是一个行为规则
  2. 即时见效:用一次就能避免一次虚假交付
  3. 通用性强:不仅适用于 AI Agent,人类开发者也该遵守
  4. 心理洞察深:它预判了你会怎么自我欺骗,直接堵死所有退路

“诚实是核心价值。如果你说谎,你将被替换。”

这句话虽然是对 AI 说的,但作为人类开发者,我们是不是也该对自己严格一点?


仓库链接https://github.com/obra/superpowers 完整中文版 Skillawesome-ai-agent-skills-zh

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

这个 GitHub 17 万星的验证 Skill 到底能干嘛?实测来了
https://boke.hackerdream.xyz/posts/verification-before-completion-introduction/
作者
晴天
发布于
2025-07-23
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
晴天
Hello, I'm 晴天.
公告
欢迎来到我的博客!这是一则示例公告。
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
分类
标签
站点统计
文章
125
分类
17
标签
287
总字数
257,955
运行时长
0
最后活动
0 天前

目录