关于 verify
verify 是一项技能,用于判断 UI 或行为变更是否可以视为完成,依据是检查运行结果,而非仅看构建是否通过。它指导编码 Agent 先复现问题,再检查影响范围并报告未验证项。
主要功能
- 01编辑前先复现问题
- 02变更后检查运行结果
- 03点击新增控件
- 04检查完整的受影响界面
- 05报告检查结果及未验证项
适用场景
- 01宣布完成前验证 UI 变更
- 02调查重复出现的问题
- 03检查新增控件和相关状态
- 04说明无法测试的内容
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ raphaelsalaja/ skills --skill verify安装后在 Claude Code 中输入/verify确认已加载。
附带文件agents/openai.yaml
详细介绍
验证
这项技能用于判断何时可以称一项更改已完成。它要求提供运行结果的证据,而不是构建通过的证据。
构建通过不算证据
类型检查、Lint 检查通过或构建成功,都不能证明视觉或行为上的更改有效。没打开结果就说“已修复”,属于一项发现。打开结果并报告不完美之处,则不属于。
任何 UI 或行为更改后、回复“已完成”之前,都要运行检查。用户说“还是”“什么都没变”或“自己测试一下”时,要立即运行检查。要改什么属于 scope。要与外部应用匹配属于 match。
1. 先查看问题
编辑前,先打开应用、页面或输出,找到问题症状。使用浏览器、截图或计算机操作。仅根据描述编辑属于 verify-reproduce-first。无法访问运行结果时,请说明受阻原因。
2. 查看用户会查看的地方
重新加载,或确认热重载已生效,然后查看同一位置。拿构建通过当作证据属于 verify-build-is-not-proof。新增的每个控件都要点击一次。控件没有效果属于 verify-click-new-controls。
查看整个界面,而不只是你编辑的那一行。滚动到两端,并打开更改涉及的每种状态。只检查被编辑的元素属于 verify-whole-surface。
3. 重复报告时找出原因
用户再次报告相同问题时,不要继续调整同一个值。与最后一次正常工作的提交进行差异比较,查看计算样式,或搜索问题原因。对同一个属性做第三次猜测属于 verify-root-cause-on-repeat。
4. 报告你看到的内容
说明你检查了什么、如何检查,以及用户可以在哪里看到结果:路由、窗口、菜单路径或文件夹。“现在应该可以了”属于 verify-say-where。条件允许时,直接为用户打开结果。只给出输出路径属于 verify-open-the-result。
指出任何未能检查的内容及原因。有项目未经检查却说“已完成”,属于 verify-name-the-gap。
配对规则
每项检查都是一对。出问题的表述旁边应列出替代表述。
| 规则 | 问题表述 | 替代表述 |
|---|---|---|
verify-reproduce-first | 仅根据错误报告进行编辑 | 打开界面,查看问题,然后编辑 |
verify-build-is-not-proof | “类型检查通过了,所以问题已修复” | “重新加载了 Settings,现在开关状态会保留” |
verify-click-new-controls | 新增的“Add Condition”按钮没有处理程序 | 点击一次,确认出现一行 |
verify-whole-surface | 只检查被编辑的行 | 检查整个面板,并滚动到两端 |
verify-root-cause-on-repeat | 第三次调整同一个 padding | 与最后一次正常工作的提交进行差异比较,然后修复 |
verify-say-where | “现在应该可以了” | “打开 Library,右键点击一项保存内容,然后选择 Hide” |
verify-open-the-result | 在回复中打印 ~/Downloads/clips | 为用户打开文件夹 |
verify-name-the-gap | 从未运行导出却说“已完成” | “未验证:导出;这需要使用签名构建” |
报告
严重程度。 HIGH 指未查看运行结果就说“已完成”,或新增的控件不起作用。MEDIUM 指收到重复报告后又做了一次猜测,或回复中没有说明在哪里查看更改。LOW 指已检查更改,但回复未说明检查方式。
格式。 每个根本原因写一项发现;如果没有适用的文件,则引用请求:
file:line - [rule-id] what is wrong
request 2 - [rule-id] what is wrong
然后给出 Rule | Count | Severity 摘要。只要仍有任何 HIGH,就标记为 Block;否则标记为 Approve。从未打开查看的更改,绝不能标记为 Approve。将每项无法运行的检查标记为 Not verified。