name: verification-before-completion description: | 在声明成功或完成前强制进行验证。防止虚假的“它有效”声明。 当即将说“完成”、“搞定”、“有效”、“已修复”或“实现已就绪”时触发。 要求在声明成功前实际运行构建/测试并展示输出。
完成前验证
在声明成功或完成前强制进行验证。防止虚假的“它有效”声明。
目的
Claude 经常在没有实际验证的情况下就声称某事“有效”或“完成”。此技能确保在做出任何成功声明之前进行实际验证。
触发条件
当您即将说以下任何内容时,激活此技能:
- “完成”
- “搞定”
- “结束”
- “有效”
- “已修复”
- “实现已就绪”
- “这应该能行”
- “我已经实现了…”
切勿在未完成以下事项时声明成功
对于代码变更
- [ ]
dotnet build通过(无错误) - [ ]
dotnet test通过(或明确说明跳过的原因) - [ ] 未引入新的警告
- [ ] 实际运行了代码并展示了输出
对于事实性声明
- [ ] 对照 assertions.yaml 验证
- [ ] 如果声明涉及日期/版本/状态,则进行网络搜索
- [ ] 引用来源
对于“它有效”声明
- [ ] 实际执行了代码
- [ ] 向用户展示了输出
- [ ] 至少测试了一个边界情况
对于“Bug 已修复”声明
- [ ] 重现了原始 Bug
- [ ] 应用了修复
- [ ] 验证 Bug 不再出现
- [ ] 运行了回归测试
危险信号想法(拒绝这些)
| 如果您即将说… | 停下来并… |
|---|---|
| “这应该能行” | 实际测试它 |
| “修复已完成” | 运行构建 |
| “我已经实现了该功能” | 展示测试输出 |
| “Bug 已修复” | 重现 - 修复 - 验证 |
| “.NET 10 预览版支持…” | 网络搜索以验证版本 |
| “这是正确的方法” | 引用来源或运行测试 |
输出格式
在做出任何完成声明之前,展示:
## 验证清单
### 构建状态
- [ ] `dotnet build` - [通过/失败]
- [ ] `dotnet test` - [通过/失败/跳过:原因]
### 已执行的验证步骤
1. [您实际做了什么]
2. [您看到了什么输出]
3. [您测试了什么边界情况]
### 置信度
[高/中/低] - [原因]
### 准备好声明完成
[是/否] - [如果否,缺少什么]
反模式示例
错误:
“我已经修复了空引用错误。实现已完成。”
[未运行构建,未运行测试,未展示验证]
正确:
“让我验证修复...
$ dotnet build
构建成功。
$ dotnet test --filter "NullReferenceTests"
通过!3/3 测试通过。
验证完成。空引用错误已修复。”
错误:
“这个 React 组件现在应该能正确渲染了。”
正确:
“让我验证...
$ npm run dev
[展示浏览器截图或控制台输出]
组件渲染正确。测试了:
- 初始加载
- 空状态
- 错误状态
验证完成。”
集成
此技能是声明完成前的最终检查点:
[所有其他技能] - 分析完成
|
[实现] - 代码已编写
|
[verification-before-completion] - 此技能
|
+-- 运行构建
+-- 运行测试
+-- 展示输出
+-- 然后声明成功
|
[呈现给用户] - “准备好继续了吗?”
黄金法则
如果您没有运行它,您就不知道它是否有效。 如果您没有验证它,就不要声称它已完成。