用途:在检查技能质量、提交前校验 frontmatter 或诊断校验器警告时使用。若用户意图不匹配,则路由至 /plugin-creator:plugin-lifecycle。
主要能力:核心是运行 uvx skilllint@latest check <path>,其中 <path> 使用 <provided_path/> 中给出的字面路径。校验结果直接来自命令输出,每条包含错误码、严重级别、适用字段或路径以及建议修复。可将这些结果报告给用户并据此处理,无需到别处查询错误码。使用 --fix 可重新运行以应用可自动修复的项。
安全用法注意:不要把 <provided_path/> 直接拼入 !... 注入行或任何由 shell 解释的字符串,因为它由调用方提供,可能含有 ;、`、$()、| 等会破坏 shell 解析的字符。
运行时逃逸检查:当 <provided_path/> 是插件目录时,另运行 uv run "${CLAUDE_PLUGIN_ROOT}/skills/lint/scripts/audit_runtime_escapes.py" --plugin-dir <path>。它会报告插件运行时文件中仅在作者仓库中可解析的所有路径、markdown 链接和跨插件引用,并给出 file:line。退出码 0 表示干净,1 表示有发现。传 --all 而非 --plugin-dir 可扫描全部插件并各得到一个计数。
判定标准:当文本指示运行时智能体去操作某项已安装消费者没有的东西时,该发现即为真实问题。围栏代码块豁免,因为围栏中展示的反模式是示例而非指令;尖括号占位符同理豁免。把示例中的真实路径移入围栏,并把通用路径写成 <plugin>/skills/<name>/SKILL.md。
每项发现背后的检验:路径、命令、事实或跨插件引用要么在所有环境中存在,要么通过插件内相对路径打包并被访问,要么已内联;否则就内联、打包、加保护或删除。宿主变量仅在该宿主会替换它时才计入。扫描器不会报告基于 ${CLAUDE_PLUGIN_ROOT} 或 ${CLAUDE_SKILL_DIR} 构建的路径,需手工按同一检验核对。