Community研究与数据分析github.com

技能诊断工具

审计您的 Claude 技能库,检测描述冲突、触发短语碰撞和模糊描述等问题,并给出精确的修复建议。零依赖。

技能诊断工具 是什么?

技能诊断工具(Skill-Doctor)是一款用于审计和优化 AI 技能库的辅助工具,特别针对 Claude 平台上的技能管理问题。当用户安装了大量自定义技能,常常会遇到“触发错误技能”的困扰,或者技能描述之间相互竞争同一提示词。该工具通过分析技能库中的描述语义相似度(TF-IDF 余弦相似度)、触发短语集合的重叠程度(Jaccard 系数)以及领域关键字的冲突,自动计算碰撞分数,并据此推荐五种处理方式:合并(Merge)、吸收(Absorb)、消歧(Disambiguate)、修改(Edit)或不需处理(None)。它支持 Markdown 和 JSON 两种输出格式,可作为 CI 流程中的质量门禁。工具本身为只读设计,所有修改需经用户批准后由智能体执行。支持基于目录结构(`<root>/<name>/SKILL.md`)或 Claude Code 清单文件(manifest.json)两种输入方式。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add enmr10/skill-doctor

Installed? Explore more 研究与数据分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Skill-Doctor

诊断技能库。找出描述竞争相同提示的技能,然后修复路由问题。

何时运行

  • 你安装了很多技能,并且“总是触发错误的那个”
  • 在发布技能包之前(捕捉审核者会遇到的重叠问题)
  • 添加技能后(它是否与现有技能冲突?)
  • 对不断增长的库进行定期健康检查

输入

将引擎指向以下任一位置:

  • 技能目录(<root>/<name>/SKILL.md),或
  • Claude Code manifest.json(skills-plugin/.../manifest.json)

如何运行

引擎位于此文件旁边的 scripts/ 目录中。零依赖(Python 3.8+ 标准库)。

# 从包含此 SKILL.md 的目录运行:
python3 -m scripts <skills-or-manifest路径>            # Markdown 报告
python3 -m scripts <path> --format json --out report.json # 机器输出
python3 -m scripts <path> --fail-on critical               # CI 门控(退出码 1)

常用选项:

  • --merge-at 0.55 — 触发 MERGE 建议的重叠分数阈值
  • --disambig-at 0.30 — 触发 DISAMBIGUATE 建议的分数阈值
  • --vague-threshold 0.5 — 标记比此值更模糊的描述
  • --top 12 — 列出多少条最严重的重叠
  • --format md|json|both

检测内容(问题代码)

代码严重程度含义
DUPLICATE_TRIGGER🔴同一触发短语被 2 个以上技能声明(路由错误的首要原因)
DUPLICATE_NAME🔴两个技能同名
MISSING_DESCRIPTION🔴技能永远无法可靠触发
HIGH_OVERLAP🔴/🟠两个描述在语义上过于接近
VAGUE_DESCRIPTION🟠填充词过多,没有“何时使用”,没有触发词
NAME_DIR_MISMATCH🟠名称 ≠ 目录名(违反规范)
BAD_NAME_FORMAT🟠名称违反小写/连字符规则
DESC_TOO_SHORT / DESC_TOO_LONG🟠/🟡不在 40–1024 字符之间
NO_BOUNDARY🟡缺少“如需 X,请见 <其他>”的交叉引用
BODY_TOO_LONG🔵SKILL.md 正文超过 500 行

评分如何运作(一句话)

collision = 0.50·cosine(描述的TF-IDF)
          + 0.35·jaccard(触发短语)
          + 0.15·jaccard(领域关键词)

区间:<0.22 低 · 0.22 中 · 0.38 高 · 0.55 严重。 完整原理请参见 references/scoring.md。

代理工作流程

  1. 运行引擎对用户的技能路径 → 读取 Markdown 报告。
  2. 总结健康评分、最严重的集群和重复触发词。
  3. 针对每条重要建议,提出具体修改:
    • MERGE → 草拟一份合并后的描述,建议保留的名称。
    • ABSORB → 指出要删除的技能及其触发词转移到哪里。
    • DISAMBIGUATE → 写两条镜像分界线(“如需 X,请见 Y。”)。
  4. 提供应用描述重写(编辑每个 SKILL.md 的 frontmatter)。
  5. 重新运行以确认健康评分有所改善。

输出

  • Markdown 报告:健康评分、最严重重叠、易混淆集群、 重复触发词表格、建议、完整问题列表、ASCII 热力图。
  • 可选 JSON(--format json)用于 CI 门控或其他工具。

规则

  • 引擎只读——它从不编辑技能。重写由代理(你)仅在用户批准后应用。
  • 未经明确确认,不得删除任何技能。
  • 重写描述时,保留用户依赖的每个真实触发短语; 只能移动/消歧——不能丢弃它们。

算法请参见 references/methodology.md,每种问题类型的修复方法请参见 references/issue-catalog.md。

相关技能