skill-doctor — skill 合集 lint 工具
发布一个 skill 前,用本工具确认它符合合集的目录约定(SKILL.md frontmatter、README 徽章、bin/tests 配对等)。
何时触发
用户说"检查 skill / lint skill / skill 规范校验 / 这个 skill 合规吗 / 发布前检查"。
用法
检查单个 skill
bash skill-doctor/bin/lint-skill.sh <skill目录路径>
示例(在合集根目录运行):
bash skill-doctor/bin/lint-skill.sh ./my-new-skill
遍历整个合集
for d in */; do
[ -f "$d/SKILL.md" ] || continue
bash skill-doctor/bin/lint-skill.sh "$d"
done
退出码说明
| 退出码 | 含义 |
|---|---|
0 |
全部通过(或只有 warning) |
2 |
存在 error 级问题,阻止发布 |
Error vs Warning
Error(exit 2,须修复才能发布):
- 缺少
SKILL.md SKILL.md没有 YAML frontmatter(缺---围栏),或 frontmatter 缺name:/description:- frontmatter 的
name:值与目录名不一致 - 缺少
README.md README.md未包含img.shields.io徽章- 存在
bin/目录且里面有.sh文件,却没有tests/run.sh
Warning(exit 0,建议改但不拦):
description为空或未含"触发"字样(建议 description 写明触发词)
边界
- 只检查目录结构与 frontmatter 格式,不校验 SKILL.md 内容质量。
- 不执行
tests/run.sh(只检查文件是否存在);要跑测试请单独执行。 - 纯 bash,零外部依赖。