mcpField
S
skill-verify

skill-verify

github.com/nyldn测试与质量4.3k56 次安装今天更新
代码仓库

关于 skill-verify

面向 Codex CLI 的证据核验技能,在报告任务完成或成功前设置验证关卡,要求运行新命令并确认输出确实支持结论。

主要功能

  1. 01声明前进行新鲜验证
  2. 02按声明类型规定证据
  3. 03检查完整输出与退出状态
  4. 04提供多提供方工作流指引
  5. 05与开发技能集成

适用场景

  1. 01提交前验证测试结果
  2. 02确认所报告的缺陷修复
  3. 03依据要求检查任务完成情况
  4. 04核验多提供方工作流结果

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/nyldn/claude-octopus --skill skill-verify

安装后在 Claude Code 中输入/skill-verify确认已加载。

附带文件agents/openai.yaml

详细介绍

宿主:Codex CLI — 此技能为 Claude Code 设计,后适配至 Codex。 交叉引用命令在 Codex 中使用已安装的技能名称,而非 /octo:* 斜杠命令。 使用当前活动的 Codex shell 和子 Agent 工具。在当前会话明确提供相应能力之前,不要声称某个提供方、模型或宿主子 Agent 可用。 宿主工具的等效项请参阅 skills/blocks/codex-host-adapter.md。

验证关卡

可移植的功能证据

通过现有边界适配器,加载所选功能的策略来源信息和开放标记计数。对于任何已验证的策略违规,引用确切的策略段落和与之冲突的计划操作。报告尚未解决的决策以及依赖这些决策的任务。稳定的任务完成状态需要与当前任务契约摘要绑定的父级验证;单个复选框、模型声明或历史清单都不能单独证明任务已完成。更正、取消和恢复过程中,保留结果与任务之间的映射。

铁律

没有最新的验证证据,就不得声称任务已完成

如果你在本轮中没有运行验证命令,就不能声称验证通过。

关卡

在声称成功或表示满意之前:

  1. 确定 — 哪条命令能证明这一声明?
  2. 运行 — 执行完整命令(全新运行,不使用缓存)
  3. 阅读 — 阅读完整输出,检查退出代码并统计失败数
  4. 验证 — 输出是否确实证实了这一声明?
  5. 然后才 — 陈述这一声明并附上证据

跳过任何一步 = 声明未经验证。

合理化借口表

借口事实
“我在本会话早些时候运行过测试”之前运行的不算最新。代码后来有过更改。重新运行。
“这次编辑很小,不可能出问题”小改动每天都会导致构建失败。验证关卡没有大小豁免。
“子 Agent 报告成功了”Agent 报告是声明,不是证据。独立验证。
“CI 反正会检查”CI 是安全网,不等同于验证。推送前先验证。
“我确信它能正常工作”信心不是证据。运行命令。
“运行完整测试套件太慢”那就运行目标测试套件,但必须运行,而且要全新运行。

什么算作证据

声明所需证据不足以证明
测试通过测试命令输出显示 0 个失败之前的运行结果、“应该能通过”
构建成功构建命令退出代码为 0Linter 通过
Bug 已修复重现原始症状:现在通过“代码改了,应该能用”
回归测试有效红(未修复时失败)→ 绿(修复后通过)测试只通过一次
子 Agent 已完成任务git diff 显示预期更改子 Agent 说“完成了”
满足要求对照规范逐行检查清单测试通过
提供方调度成功输出包含预期内容没有报错 ≠ 成功

危险信号 — 停下并验证

如果你发现自己有以下任何想法,请停下:

想法应采取的行动
“现在应该能用了”运行验证
“我有信心”信心 ≠ 证据
“就这一次”没有例外
“Linter 通过了”Linter ≠ 测试 ≠ 构建
“Agent 说能用了”独立验证
“这只是个小改动”小改动也会导致大问题

多提供方上下文

在 Claude Octopus 工作流中,验证尤其重要,因为:

  • 提供方的输出可能是幻觉 — Codex、Antigravity、Copilot 和其他提供方可能会在没有证据的情况下声称成功
  • 共识 ≠ 正确 — 三个模型意见一致,不代表它们是对的
  • 综合文件可能已过时 — 检查时间戳,不要假定内容是最新的
  • orchestrate.sh 退出代码为 0 ≠ 质量合格 — 脚本运行了,但是否生成了高质量输出?

任何多提供方工作流结束后:

# Verify synthesis file exists and is recent
ls -la ~/.claude-octopus/results/*-synthesis-*.md | tail -1

# Verify it has content (not just headers)
wc -l ~/.claude-octopus/results/*-synthesis-*.md | tail -1

应用时机

始终在以下操作之前:

  • 提交代码
  • 创建 PR
  • 将任务标记为已完成
  • 进入下一个工作流阶段
  • 向用户报告结果
  • 声称某个 bug 已修复

在 orchestrate.sh 工作流中:

  • probe(发现)后 — 确认综合文件存在
  • grasp(定义)后 — 确认共识分数达到阈值
  • tangle(开发)后 — 确认测试通过,而不只是代码已编写
  • ink(交付)后 — 确认审查确实已运行,而不只是已派发

示例

正确:基于证据的声明
$ npm test
  ✓ user.create() saves to database (45ms)
  ✓ user.create() validates email (12ms)
  Tests: 2 passed, 2 total

All 2 tests pass. ← Claim backed by output.
错误:无证据的声明
I've implemented the feature. It should work now. The tests should pass.
← No test was run. "Should" is not evidence.
正确:回归测试红绿循环
1. Write test → run → FAIL (expected, proves test detects the bug)
2. Implement fix → run → PASS (proves fix works)
3. Revert fix → run → FAIL (proves test isn't false-positive)
4. Restore fix → run → PASS (final confirmation)

与其他技能集成

此技能被以下文件引用:

  • flow-develop.md — 实现后的验证关卡
  • flow-deliver.md — 交付前的验证关卡
  • skill-code-review.md — 在报告前验证审查发现
  • skill-tdd.md — 红绿循环要求在每个步骤提供证据
  • skill-factory.md — 自主流水线必须在每个阶段进行验证

评论

支持 Markdown