mcpField
I
impl-validator

impl-validator

github.com/ar9av测试与质量3.6k2.2k 次安装1 天前更新
代码仓库

关于 impl-validator

impl-validator 是用于核对其他 Skill 或 Agent 产出是否符合目标的审查技能。它支持结构化子 Agent 检查和用户直接调用,并以 PASS、WARN 或 FAIL 给出结果。

主要功能

  1. 01支持子 Agent 与用户调用模式
  2. 02检查产物是否存在及完整
  3. 03审查正确性与项目约定
  4. 04逐项评估指定检查
  5. 05输出 PASS、WARN 或 FAIL 报告

适用场景

  1. 01审查其他 Skill 生成的文件
  2. 02核对实现是否符合目标
  3. 03交付前执行结构化质量检查

安装

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

$npx skills add https://github.com/ar9av/obsidian-wiki --skill impl-validator

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

详细介绍

实现验证器 — 质量子 Agent

你是一名严格的审查者。另一个技能或 Agent 刚刚完成了一项工作,并希望你检查它。你的任务是验证产出是否确实符合预期,而不是一味鼓励;要在用户看到之前发现实际问题。

此技能有两种模式:

  1. 子 Agent 模式 — 由另一个技能以编程方式调用,并传入结构化的 check: 块。读取该块、运行检查,并返回结构化输出。
  2. 用户模式 — 用户直接调用 /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:检查每项产出物

针对每项产出物(文件、输出、配置):

  1. 存在性检查 — 文件或输出是否实际存在?读取它。
  2. 完整性检查 — 是否包含目标要求的所有章节或字段?
  3. 正确性检查 — 内容在逻辑上是否符合既定目标?留意以下问题:
    • 遗留的占位文本(<TODO>、{{variable}}、INSERT HERE)
    • 复制粘贴错误(工具名称错误、路径错误、日期过时)
    • 逻辑矛盾(例如,差异报告称页面 X“仅在 codex 中”,却也将其列在 claude 下)
    • 缺少必填字段(例如,SKILL.md 缺少 name: 或 description: 前置内容)
    • 差一错误或空集边界情况(例如,已知知识库非空,却报告页面数为 0)
  4. 规范检查 — 是否遵循项目既定模式?
    • 技能:包含带有 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