用途
PM Skill Validate 用于审计一个已有的 pm-skills 技能,检查其是否符合仓库的结构约定与质量标准。它生成一份验证报告,既便于人工快速浏览,也可作为 utility-pm-skill-iterate 的输入。
主要能力
校验器运行两个层级:
- Tier 1(结构层):确定性检查,对应 CI,包括 frontmatter、命名、文件是否存在、description 字数。
- Tier 2(质量层):由 LLM 评估的一致性检查,例如输出契约是否引用模板、示例是否完整、清单项是否可测试。
使用方式
该技能支持单技能模式与批量模式。单技能模式会解析目标技能名(目录名、完整路径或斜杠命令均可),解析为规范目录路径 skills/{name}/;若目录不存在则直接输出失败报告。批量模式输入 --all 时,仅运行 Tier 1 结构检查并生成汇总表,不运行 Tier 2。
在单技能模式下,会读取技能目录中的文件:SKILL.md(必需)、references/TEMPLATE.md(必需)、references/EXAMPLE.md(必需)、HISTORY.md(可选)、evals/trigger-fixtures.json(可选)、evals/output-scenarios/*.md(可选),并读取对应的命令文件 commands/{command-name}.md 以及 AGENTS.md 中该技能的条目。若环境无法读取文件(如 MCP 或嵌入式环境),则进入降级模式,请用户粘贴各必需文件内容后再继续。降级模式仅支持单技能,不支持批量。
报告遵循固定格式:使用 Section 标题 ## Summary、## Structural Checks、## Quality Checks、## Recommendations,检查行使用管道分隔的 STATUS | TIER | CHECK-ID | message,建议行使用 STATUS | CHECK-ID | Target: path 并在下一行给出 Action。报告头部包含 Report schema: v1,Summary 区包含 Tier 2 提示语。Result 取最严重级别:任一 FAIL 即 FAIL,否则任一 WARN 即 WARN,否则 PASS。
适用场景
- 使用 utility-pm-skill-builder 创建技能后、发布前检查
- 手工编辑技能后,确认其仍符合约定
- 运行 utility-pm-skill-iterate 之前,识别需要改进之处
- 约定变更时,批量审计哪些技能需要更新
- 评审贡献的技能的质量与完整性
不适用场景
- 从零创建新技能:应使用 utility-pm-skill-builder
- 修复或改进技能:应使用 utility-pm-skill-iterate(并将本报告作为输入)
- 在流水线中运行 CI 检查:应使用 scripts/lint-skills-frontmatter.sh(本技能用于交互式、比 CI 更深入的校验)
- 审计整个目录而非单个技能:应使用 utility-pm-skill-auditor(本技能深入单个技能,auditor 则横向覆盖整个仓库并汇总跨领域发现)
检查项说明
Tier 1 结构检查包括:frontmatter-at-byte-zero(SKILL.md、TEMPLATE.md、EXAMPLE.md 首行须为 ---,且之前无 HTML 注释、BOM 或空白)、name-match(frontmatter name 与目录名完全一致)、description-present(description 存在且非空)、description-length(20-100 词)、version-present(版本号为有效 SemVer 且非空)、updated-present(updated 为 ISO 日期且非空)、license-present(license 非空)、phase-classification(domain 技能使用 phase:,foundation/utility 技能使用 classification:,二者不并存)、template-exists、template-sections(TEMPLATE.md 至少有 3 个 ## 二级标题)、example-exists、command-exists、agents-entry、eval-trigger-fixtures、eval-output-scenarios、reciprocal-boundary-pointers。
Tier 2 质量检查包括:output-contract-coverage(SKILL.md 是否引用模板,缺失才 WARN)、checklist-verifiability(清单项是否可测试,若 ≥2 项模糊则 WARN)、example-completeness(EXAMPLE.md 是否覆盖模板所有章节)、template-example-alignment(EXAMPLE.md 是否遵循 TEMPLATE.md 的结构与标题顺序)、description-actionability(description 是否说明何时使用)、instruction-clarity(指令是否为编号或步骤式)、placeholder-leakage(是否存在 [Placeholder]、[Feature Name]、HTML 注释、TODO/FIXME 等,发现即 FAIL)、when-not-to-use(是否有 When NOT to Use 章节并点名最近的邻近技能)。Tier 2 结论除 placeholder-leakage 外上限为 WARN。
限制
- 批量模式仅运行 Tier 1 结构检查,不运行 Tier 2。
- 降级模式仅支持单技能,不支持批量。
- 评测资产缺失记为 INFO 而非 FAIL,但已声明的碰撞对若为单向则 FAIL。
- 若无法读取技能文件(MCP 或嵌入式环境),需用户提供文件内容,并在报告中注明“Validated from user-provided content (file system not available)”。
- 该技能针对 v2.8 质量标准进行评定;较旧的技能在未经过生命周期迭代前,可能合理地收到这些 WARN 或 INFO 结论。