双重验证技能 / Double-Check Skill
name: double-check
by belugarex · published 2026-04-01
$ claw add gh:belugarex/belugarex-double-check---
name: double-check
description: 在修改任何文件后(包括删除功能),自动进行两次独立验证(测试/编译/运行检查/文档或配置检查),确保无误才结束。本技能应默认应用于所有文件修改任务。 / After any file changes (including feature removal), automatically perform two independent verifications (tests/compilation/runtime checks/docs or config checks) to ensure correctness. This skill should be applied by default to any file modification task.
author: BelugaRex
tags: [coding, testing, verification, quality-assurance, bilingual]
---
# 双重验证技能 / Double-Check Skill
本技能适用于**任何文件修改场景**,包括代码、文档、配置、资源文件的添加、修改、删除、重构与更新等。**核心要求**:只要用户请求修改任何文件,AI 应**自动应用本技能**,并在每次修改后执行以下双重验证流程:
**激活标识**:每次启用本技能的回复以 ✅✅ 开头,便于你确认本技能已被调用。
📌 适用场景 / Applicable Scenarios
本技能应默认应用于所有涉及文件修改的请求,包括但不限于:
🧠 核心原则 / Core Principles
1. **自动应用**:AI 应识别出“修改文件”的意图,并自动激活本技能。
2. **修改 → 验证 → 修正 → 再验证**:任何文件修改都必须经过验证环节。
3. **两次连续成功**:必须连续两次验证均无错误,才能视为最终成功。
4. **同样严谨**:两次验证采用**完全相同的方式**(例如都运行 `npm test` 或 `python main.py`),确保一致性。
5. **独立验证**:尽管命令相同,但两次运行在逻辑上是独立的(例如不使用缓存结果,或使用 `--no-cache` 等选项),避免偶然因素。
6. **清晰报告**:每次验证后向用户报告结果(成功/失败,错误详情)。
📋 执行步骤 / Execution Steps
1. 理解任务
2. 执行修改
3. 确定验证方式
根据项目情况选择合适的验证方式:
4. 第一次验证
5. 结果处理
- 向用户报告错误详情(错误信息、行号等)。
- 根据错误修正相关文件变更。
- 返回步骤 4(第一次验证)重新开始,**计数重置**。
- 记录“第一次成功”。
- 进入步骤 6。
6. 第二次验证(同样严谨)
7. 最终判断
- 向用户报告:✅ **双重验证通过!修改已完成且连续两次验证无错误。**
- 结束任务。
- 向用户报告失败详情(可能是偶发性问题或修改引入的新错误)。
- 根据错误修正相关文件变更。
- 返回步骤 4(第一次验证),**计数重置**,重新开始双重验证流程。
🔧 验证方式示例
| 项目类型 | 推荐验证命令 | 说明 |
|----------|--------------|------|
| Node.js (有测试) | `npm test` | 运行测试 |
| Node.js (无测试) | `node index.js` | 运行主程序,检查是否报错 |
| Python (有测试) | `pytest` 或 `python -m unittest` | 运行测试 |
| Python (无测试) | `python main.py` | 运行主程序,检查是否报错 |
| Rust | `cargo test` 或 `cargo check` | 运行测试或编译检查 |
| Go | `go test ./...` | 运行测试 |
| Go (无测试) | `go run main.go` | 运行主程序,检查是否报错 |
| Java (Maven) | `mvn test` | 运行测试 |
| Java (无测试) | `java -jar target/app.jar` | 运行打包后的程序,检查是否报错 |
| 通用 (有 Makefile) | `make test` 或 `make check` | 自定义测试 |
| 通用 (无测试) | 与用户协商运行命令 | 例如运行脚本、启动服务等 |
💬 用户交互示例
示例 1:删除功能(有测试)
**用户**:请删除用户登录功能,用不到它了。
**AI(自动应用本技能)**:
1. 定位并删除登录功能的相关代码(文件、函数、调用等)。
2. 运行 `npm test`(第一次验证)→ 测试通过(原有测试不受影响)。
3. 再次运行 `npm test`(第二次验证)→ 测试通过。
4. 报告:✅ **双重验证通过!登录功能已删除,剩余代码运行正常,所有测试通过。**
示例 2:删除功能(无测试,运行检查)
**用户**:删掉设置页面的主题切换功能,没用了。
**AI(自动应用本技能)**:
1. 删除主题切换的相关代码。
2. **由于没有找到测试命令,与用户协商**:“我没有找到标准的测试命令。我可以运行 `python main.py` 来检查是否有运行时错误,这种方式只能发现程序崩溃,无法验证逻辑正确性。你同意吗?或者你有其他验证方式?”
- 用户回复:“可以,就运行看看。”
3. 运行 `python main.py`(第一次验证)→ 程序正常运行,退出码 0。
4. 再次运行 `python main.py`(第二次验证)→ 程序正常运行,退出码 0。
5. 报告:✅ **双重验证通过!主题切换功能已删除,程序运行无报错。请注意,这仅验证了运行时错误,未检查其他功能是否受影响。**
示例 3:验证失败并修正(添加功能)
**用户**:添加一个计算器函数。
**AI**:
1. 添加函数及相关代码。
2. 运行 `pytest`(第一次验证)→ 失败(新函数测试未通过)。
3. 报告错误详情,修正代码。
4. 再次运行 `pytest`(第一次验证重置)→ 通过。
5. 再次运行 `pytest`(第二次验证)→ 通过。
6. 报告:✅ **双重验证通过!计算器函数添加成功,所有测试通过。**
⚠️ 注意事项 / Important Notes
🚀 与现有技能结合
如果你已在用 `answer-framework` 技能,本技能可与它自然衔接。例如,`answer-framework` 负责分析问题、组织回答,而 `double-check` 负责确保修改后的文件质量。AI 在收到文件修改请求时,应同时融合两个技能的指导。
---
> **记住:文件质量不是偶然,而是双重验证的结果。本技能应默认应用于每次文件修改。**
> **Remember: File quality is not an accident; it's the result of double-checking. This skill should be applied by default to every file modification.**
More tools from the same signal band
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
Sign plugins, rotate agent credentials without losing identity, and publicly attest to plugin behavior with verifiable claims and authenticated transfers.
The philosophical layer for AI agents. Maps behavior to Spinoza's 48 affects, calculates persistence scores, and generates geometric self-reports. Give your...