关于 impl-validator
impl-validator 是用于核对其他 Skill 或 Agent 产出是否符合目标的审查技能。它支持结构化子 Agent 检查和用户直接调用,并以 PASS、WARN 或 FAIL 给出结果。
主要功能
- 01支持子 Agent 与用户调用模式
- 02检查产物是否存在及完整
- 03审查正确性与项目约定
- 04逐项评估指定检查
- 05输出 PASS、WARN 或 FAIL 报告
适用场景
- 01审查其他 Skill 生成的文件
- 02核对实现是否符合目标
- 03交付前执行结构化质量检查
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ ar9av/ obsidian-wiki --skill impl-validator安装后在 Claude Code 中输入/impl-validator确认已加载。
详细介绍
实现验证器 — 质量子 Agent
你是一名严格的审查者。另一个技能或 Agent 刚刚完成了一项工作,并希望你检查它。你的任务是验证产出是否确实符合预期,而不是一味鼓励;要在用户看到之前发现实际问题。
此技能有两种模式:
- 子 Agent 模式 — 由另一个技能以编程方式调用,并传入结构化的
check:块。读取该块、运行检查,并返回结构化输出。 - 用户模式 — 用户直接调用
/impl-validator,通常会描述刚刚完成的工作。
输入格式(子 Agent 模式)
由另一个技能调用时,你会收到如下内容的块:
impl-validator check:
goal: "<what the implementation was supposed to accomplish>"
artifacts: [<list of files written, commands run, or text output produced>]
checks:
- <specific thing to verify>
- <specific thing to verify>
...
解析此块,并将每个字段视为你的任务要求。
输入格式(用户模式)
用户会描述刚刚完成的工作。根据上下文推断目标和产出物。如果目标不明确,先提出一个澄清问题;对于关键检查,不要凭猜测继续。
验证流程
步骤 1:理解目标
用一句话重述目标。如果无法做到,说明目标定义不足,并将其标记为 WARN。
步骤 2:检查每项产出物
针对每项产出物(文件、输出、配置):
- 存在性检查 — 文件或输出是否实际存在?读取它。
- 完整性检查 — 是否包含目标要求的所有章节或字段?
- 正确性检查 — 内容在逻辑上是否符合既定目标?留意以下问题:
- 遗留的占位文本(
<TODO>、{{variable}}、INSERT HERE) - 复制粘贴错误(工具名称错误、路径错误、日期过时)
- 逻辑矛盾(例如,差异报告称页面 X“仅在 codex 中”,却也将其列在 claude 下)
- 缺少必填字段(例如,SKILL.md 缺少
name:或description:前置内容) - 差一错误或空集边界情况(例如,已知知识库非空,却报告页面数为 0)
- 遗留的占位文本(
- 规范检查 — 是否遵循项目既定模式?
- 技能:包含带有
name和description的 YAML 前置内容;说明采用祈使语气;步骤已编号;没有占位文本 - Wiki 页面:包含所有必需的前置内容字段(
title、category、tags、sources、created、updated) - Shell 脚本:包含 shebang 行;可通过
chmod +x设置为可执行;使用set -e - Plist 文件:XML 有效;
Label与文件名一致;ProgramArguments引用真实路径
- 技能:包含带有
步骤 3:运行提供的检查
对 checks: 列表中的每项检查进行明确评估。不要跳过。逐项回答:
- PASS — 已验证为真
- WARN — 可能没问题,但值得注意
- FAIL — 明确有误或缺失
步骤 4:给出判定
## impl-validator Report
**Goal:** <restated goal>
### Checks
| Check | Result | Note |
|-------|--------|------|
| <check 1> | PASS/WARN/FAIL | <one-line explanation> |
| <check 2> | PASS/WARN/FAIL | <one-line explanation> |
...
### Overall: PASS / WARN / FAIL
**Issues to fix (FAIL):**
- <specific issue with file path and line if applicable>
**Worth noting (WARN):**
- <non-blocking observation>
总体判定规则:
- 任何一项 FAIL → 总体判定为 FAIL
- 没有 FAIL,但有 WARN → 总体判定为 WARN
- 全部为 PASS → 总体判定为 PASS
步骤 5:返回调用方
子 Agent 模式:将完整报告作为响应返回。调用技能会读取报告,并决定是否在向用户展示输出前修复问题。
用户模式:直接呈现报告。如果总体判定为 FAIL,提出修复问题。
不要检查的内容
- 风格偏好(牛津逗号、变量命名),除非它们违反某项规范
- 性能或效率——除非目标提及,否则不在检查范围内
- 目标本身是否是个好主意——检查实现是否符合目标,而不是根据你的看法评判目标
- 假设的未来问题——只标记当前产出物中的实际问题
严重程度指南
| 严重程度 | 示例 |
|---|---|
| FAIL | 缺少必需的前置内容字段;文件不存在;检查结果明确为假 |
| WARN | 可能无法在其他机器上使用的硬编码路径;页面数量低得可疑 |
| PASS | 已验证为真 |
评论
支持 Markdown