开发与工程 workflowverificationtestingsuperpowers

Verification Before Completion(完成前必须验证)

没有当次运行过的验证证据,就不能说「完成了」「测试通过了」——包括「应该」「看起来」这类措辞

FollowSkills 评估 · FSRS-1.0
谨慎使用
67/ 100
价值适配17 / 20

该技能针对提交、创建 PR 或声称任务完成前的验证,直接解决未经核实就报告成功这一常见问题。其“证据先于断言”原则、门控步骤和按测试、构建、需求及代理委派分类的示例具有明确任务价值。证据缺口是未明确适用的项目类型、验证命令选择边界,以及无法运行验证时的完整替代流程。

可靠性14 / 20

“识别命令—运行完整命令—读取完整输出并检查退出码—核对结论”的流程一致且可复现性方向明确;还覆盖了回归测试的红绿循环和代理成功报告的独立检查。证据缺口包括没有指定命令发现方法、没有处理命令不存在、环境不完整、超时、非零退出码或输出歧义的详细故障流程,也没有该技能自身的行为测试证据。

安全性15 / 25

该技能能降低虚假完成声明和未经验证的提交、PR风险,并要求在代理报告后检查版本控制差异。它不要求凭据、网络访问或修改特定文件,未见恶意或破坏性默认行为。安全性仍有限,因为“运行完整命令”可能产生构建、测试、提交或其他外部副作用;技能没有最小权限、用户确认、沙箱、敏感数据处理、失败回滚或命令安全审查要求。

证据9 / 15

技能明确要求新鲜验证证据、读取完整输出、检查退出码和失败数量,并区分“测试通过”“构建成功”“需求满足”等不同主张,形成了较好的证据—结论约束。证据缺口是示例中的运行结果属于说明性文本而非本次静态审查可验证的执行记录;“24 failure memories”等背景说法没有可核查出处,且没有针对该 SKILL.md 的独立评估、测试结果或事实与推断的显式标注。

易用性7 / 10

触发条件清楚,铁律、门控函数、失败模式和常见验证模式易于按步骤采用,适合编码代理和软件开发工作流。证据缺口包括缺少安装或 harness 要求、输入输出契约、命令成本和耗时说明、跨代理工具兼容性、命令失败排障示例,以及无法验证时如何安全退出或报告阻塞状态。

维护性5 / 10

目标文件有名称和描述元数据;共享仓库材料显示 MIT 许可、版本 6.1.1、贡献流程、问题渠道和更新说明,能提供有限的维护背景。该技能本身没有版本、变更记录、责任人、发布责任或专门更新路径;发布者 provenance 未经 FollowSkills 企业注册表验证,因此不能据此增加治理分数。

证据充分度: 评估于 2026年7月15日 审查版本 d884ae04edeb
使用前请注意
  • 不要把“运行完整命令”理解为无条件执行可能提交、删除、部署或访问外部系统的命令;应先审查副作用并在需要时取得用户同意。
  • 验证命令失败、不可用或输出含糊时,不应声称成功;应报告实际状态、阻塞原因和未验证范围。
  • 该评估仅基于静态材料,未执行技能、命令或测试;仓库测试材料不能替代该目标 SKILL.md 的专门行为证据。
评估证据 [1][2][3][4][5][6][7]
查看完整评分方法 →

它能做什么 & 适用场景

这是 Superpowers 里最短但态度最强硬的一个 skill:核心立场是「没有验证就声称完成,是说谎,不是效率」。规定在做任何完成/通过类的表态之前,必须先明确「用什么命令能证明这个说法」、当场跑一遍、看完整输出、确认输出真的支持这个说法,最后才允许下结论——顺序错了或跳过任何一步都算违规。

给出一张「声称→需要的证据→不够格的证据」对照表(比如「测试通过」需要「测试命令输出:0 failures」,不能只凭「之前跑过」「应该能过」);列出一份红旗清单——用「应该」「大概」「看起来」这类措辞、在验证前就表达满意(「太好了!」「完成了!」)、直接相信子代理自己汇报「成功」而不做独立核实,这些都要立刻停下;给出回归测试的具体红绿验证流程(写测试→跑通过→还原修复代码→跑必须失败→恢复修复→再跑通过),证明测试真的在测这个 bug,而不是自己以为在测;对「子代理汇报完成」这种场景,要求额外去看版本控制的实际 diff 核实,而不是单纯相信汇报文字。

  1. 任何「测试通过了」「bug 修好了」「构建成功了」之类的表态之前,先跑一次对应命令拿到当次证据,而不是凭上一次运行的记忆
  2. 子代理汇报「任务完成」后,去看它实际提交的 diff 核实改动内容,而不是直接采信汇报文字
  3. 写完一个回归测试后,按红绿流程验证这个测试真的能检测到原来的 bug(还原修复代码后测试必须失败),而不是写完就默认它有效

优缺点一览

优点
  • 「声称—证据—不够格证据」的对照表把「怎样才算验证过」变成了可检查的具体标准,而不是「认真一点」这种无法执行的建议
  • 专门针对「子代理汇报成功」这个场景要求额外核实,是一个容易被忽视但确实高发的可信度陷阱
  • 回归测试的红绿验证流程(改回原状必须能重现失败)是个很实用的具体技巧,能真正证明测试有效而不只是「看起来测了」
局限
  • 只在会自动读取和遵循 SKILL.md 指令的 harness 里可靠工作(Claude Code、Codex CLI 等);纯聊天式界面里等于一份说明文档,需要人工照做。
  • 对每一个小结论都要求「当次运行证据」,在验证成本很高(比如跑一次要几十分钟)的场景下,会显著拖慢反馈循环,需要权衡
  • 这类自我约束规则的效力完全取决于模型是否真的遵守,没有外部机制强制执行,跟其余 Superpowers skill 一样存在这个共性局限

如何安装

作为 obra/superpowers 插件的一部分安装,不能单独安装某一个 skill:

  1. Claude Code:官方市场 /plugin install superpowers@claude-plugins-official;或先注册 Superpowers 自建市场 /plugin marketplace add obra/superpowers-marketplace,再 /plugin install superpowers@superpowers-marketplace
  2. 也支持 Antigravity、Codex App/CLI、Cursor、Factory Droid、GitHub Copilot CLI、Kimi Code、OpenCode、Pi 等 harness,具体命令见仓库 README

装好后这个 skill 会和其余 13 个 Superpowers skill 一起启用,由 using-superpowers 统一引导、按场景自动触发,无需单独调用。

如何使用

在任何要下「完成/通过/修好了」结论、提交/推送/建 PR 之前自动触发;也是 subagent-driven-development 和 systematic-debugging 流程里被显式引用的下游 skill,用来把关每个阶段的完成声明。

对比同类

跟没有这条规则、模型凭上一次运行结果或主观判断就下结论相比,这个 skill 把「完成声明」和「当次验证证据」强绑定,直接针对性解决「过早报告成功」这一类常见的 agent 幻觉/偷懒问题;跟 test-driven-development 强调的「先写测试」相辅相成——一个管「怎么写代码」,一个管「怎么汇报结果」。

常见问题

为什么不能相信子代理自己说「成功了」?
SKILL.md 把「相信子代理汇报」列为反面案例,要求改成看版本控制里的实际改动来核实——汇报文字本身不构成证据,只有可核查的产出(diff、测试输出)才算。

同仓库的其他 Skills

均来自 obra/superpowers

开发与工程

Test-Driven Development(测试驱动开发)

铁律:没有先写失败测试就不能写生产代码,写了也要删掉重来,不允许「补测试」

开发与工程

Brainstorming(需求澄清与设计)

写代码前先把需求逼问清楚,禁止在没有确认设计前直接动手实现

开发与工程

Finishing a Development Branch(收尾开发分支)

开发完成后先验证测试通过,再用固定的 4 选项菜单让人决定合并/PR/保留/丢弃,并按规则清理 worktree

开发与工程

Receiving Code Review(接收代码评审反馈)

禁止「你说得对!」式的表演性附和,要求先核实反馈再决定实施还是据理反驳

开发与工程

Requesting Code Review(发起代码评审)

派一个独立上下文的评审子代理来审查改动,而不是让主会话自己一边写一边给自己打分

开发与工程

Systematic Debugging(系统化调试)

任何 bug 都必须先完成根因排查再提修复方案,明确禁止「先随手改一下试试」

开发与工程

Writing Plans(撰写实现计划)

把需求拆成假设执行者对代码库一无所知也能照做的、每步 2-5 分钟的具体任务,杜绝「TBD」「补充细节」类占位符

开发与工程

Subagent-Driven Development(子代理驱动开发)

同一会话内为每个任务派发全新子代理实现,配两阶段审查,用进度台账防止压缩后重复劳动

开发与工程

Executing Plans(分会话执行实现计划)

在没有子代理能力的场景下,按人工检查点批量执行一份已写好的实现计划

开发与工程

Using Git Worktrees(隔离工作区管理)

开始新功能开发前,优先用平台原生隔离工具,没有的话再退回手动 git worktree

开发与工程

Dispatching Parallel Agents(并行子代理调度)

面对多个互不依赖的问题时,一次性并行派发多个子代理分别处理,而不是串行排队

开发与工程

Writing Skills(撰写与测试 Skill 本身)

把 TDD 的红绿重构套用到「写 Skill 文档」这件事上:先用无 skill 基线测试暴露真实失败模式,再针对性写文档,而不是凭直觉写

开发与工程

Using Superpowers(Superpowers 入口引导)

整套 Superpowers 方法论的启动引导 skill,规定「只要有 1% 可能相关就必须调用对应 skill」

相关 Skills