agentsclimarketplace

Verification before completion

Skill cjbpq/deep-reviewer-seek/skills/verification-before-completion

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

Install
npx -y skills add cjbpq/deep-reviewer-seek --skill verification-before-completion

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 3 stars3 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.5 KB, as published. Nobody here has run it

完成前的验证

概述

在没有验证的情况下声称工作完成是不诚实,不是效率。

核心原则: 永远是证据先于断言。

违反本条规则的字面意义就是违反其精神。

铁律

无新验证证据,不得做完成声明

如果你未在此次消息中运行验证命令,你不能声称它通过。

关口函数

在声称任何状态或表达满意之前:

1. 识别:什么命令能证明这个声明?
2. 运行:执行完整命令(新运行,不是旧结果)
3. 读取:完整输出,检查退出码,计数失败
4. 验证:输出是否确认声明?
   - 如果否:用证据陈述实际状态
   - 如果是:带证据陈述声明
5. 只有那时:做出声明

跳过任何步骤 = 撒谎,不是验证

常见失败

声明需要不够
测试通过测试命令输出:0失败上次运行,"应该通过"
Linter干净Linter输出:0错误部分检查,推断
构建成功构建命令:exit 0Linter通过,日志看起来好
Bug修复测试原始症状:通过代码改了,假设修复了
回归测试有效红绿循环验证过测试通过一次
Agent完成VCS diff显示变更Agent报告"成功"
需求满足逐行检查清单测试通过

红线 — 停止

  • 使用"应该"、"可能"、"似乎"
  • 在验证前表达满意("好!"、"完美!"、"完成!"等)
  • 即将提交/推送/PR但没有验证
  • 信任Agent的成功报告
  • 依赖部分验证
  • 想"就这一次"
  • 任何暗示成功但没有运行验证的措辞

合理化预防

当你有冲动跳过验证时,对照这个表:

借口现实
"现在应该工作了"运行验证
"我有信心"信心 ≠ 证据
"就这一次"无例外
"Linter通过了"Linter ≠ 编译器
"Agent说成功了"独立验证
"我累了"疲劳 ≠ 借口
"部分检查就够了"部分什么也证明不了
"换个说法规则就不适用"精神覆盖字面
"这个改动太小了"小改动也有大影响
"刚才跑过了"代码可能已经变了

关键模式

测试:

✅ [运行测试命令] [看到:34/34通过] "所有测试通过"
❌ "现在应该通过了" / "看起来正确"

回归测试(TDD红绿):

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

构建:

✅ [运行构建] [看到:exit 0] "构建通过"
❌ "Linter通过了"(Linter不检查编译)

需求:

✅ 重新阅读计划 → 创建检查清单 → 逐一验证 → 报告缺口或完成
❌ "测试通过,阶段完成"

Agent委托:

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

何时应用

始终在以下情况之前:

  • 任何形式的成功/完成声明
  • 任何形式的满意表达
  • 任何关于工作状态的正面陈述
  • 提交、PR创建、任务完成
  • 移动到下一任务
  • 委托给Agent

底线

验证没有捷径。

运行命令。读取输出。然后声明结果。

这不可协商。

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.