重复Skill清理师(z-skill-dedup)
一句话
你装了一堆功能重复的 Skill?它帮你把它们「聚成一簇」,用客观评分卡比出谁更优更全面,然后问你留哪个、关哪个、删哪个。
触发词
- 「我的 skill 有很多重复的」「去重 skill」「清理同质化 skill」
- 「哪些 skill 功能重叠,留好的删差的」「skill 太多了筛一下优劣」
- 「帮我看看安装的 skill 有没有功能重复的」
核心能力
- 扫描建册:读出用户级(
~/.workbuddy/skills/,相对路径引用,不写死)与项目级(.workbuddy/skills/)全部 Skill 的name/slug/description/category/version/disable。 - 同质化聚类:
category相同 且 功能描述语义相似度 ≥ 阈值(默认 0.8,可调)即归为一簇。低于阈值视为差异化、不并簇。 - 客观评分卡:对每个 Skill 从 6 个客观维度打分(详见下方「评分卡」),不靠主观拍脑袋。
- 择优报告:每簇输出「建议留存(最优 1 个)+ 其余建议停用/删除」+ 理由,并明确标注「评估仅供参考,最终由你定」。
- 安全执行:征得你同意后停用(
disable:true)或删除(二次确认 + 先备份到backups/再移出)。
主流程
- 扫描:列出全部已装 Skill 及其关键字段。
- 聚类:按 category + 描述相似度归簇,生成「同质化簇清单」。
- 评分:对每个 Skill 跑客观评分卡,簇内排名。
- 出报告:每簇给「留谁 / 关谁 / 删谁」+ 维度对比表 + 理由,标注仅供参考。
- 征询:把报告发你,逐项等你确认;你不确认的动作一律不做。
- 执行(仅已确认项):停用改
disable:true;删除先备份再移出;改前均自动备份原文件。 - 复核:重扫真实
disable状态,校正记录漂移。
同质化判定标准
- 硬条件:
category字段相同(如都是「效率工具」「写作」)。 - 软条件:功能描述(description/summary)语义相似度 ≥ 0.8(默认阈值,可用
--threshold调)。 - 两者同时满足才算一簇;只满足其一视为差异化 Skill,不并入。
- 相似度用轻量文本比对(difflib SequenceMatcher / 关键词重叠)计算,不依赖外部 API。
优劣评分卡(客观维度,每项 0–5 分)
| 维度 | 判断依据 |
|---|---|
| 功能覆盖度 | description 中覆盖的能力点数量、是否含核心流程/边界 |
| 文档完整度 | 是否含 SKILL.md + USAGE.md + 必备字段(name/id/slug/summary/license 等) |
| 跨平台支持 | frontmatter platforms 数组长度(支持越多越高) |
| 版本新度 | version 数值 + 是否含更新日期 |
| 使用频率 | 本技能目录内 registry/dedup-report.json 或用户记忆中的使用记录 |
| 安全红线 | 是否声明安全红线/适用边界/跨平台降级(有则加分) |
总分高者优先留存;同分时保留「停用成本高/用户更常用」的一个。
红线(强制)
- 绝不自动执行:所有停用、删除动作必须逐次显式征得用户同意;未确认 = 不做。
- 删除最高危:删除 = 二次确认 + 先备份到
backups/再移出(走回收区,不用rm直删);默认只建议停用,不主动删。 - 关键白名单:
registry中critical_whitelist列出的 Skill(含本 Skill 自身z-skill-dedup)不参与「去次」,永不自动关/删。 - 自身锁常开:本 Skill 绝不对自己执行停用/删除(自锁)。
- 跨平台降级:
disable为 WorkBuddy 专属字段;Claude/Cursor 等不认时,本 Skill 仅输出建议清单、不改动任何文件。 - 不改业务逻辑:仅调整
disable字段或移出目录,绝不修改 Skill 内部功能代码/文档内容。
适用边界
- 仅对用户已安装的 Skill 生效;不访问 SkillHub 社区评分等无 API 的外部数据。
- 同质化判定基于本地可读字段,阈值可调;误判风险通过「报告仅供参考 + 用户最终拍板」兜底。
- 评估结论仅供参考,最终留存/停用/删除决定权永远在用户。
- 与「Skill管家(z-skill-concierge)」互补:管家管「常用/闲置启停」,本 Skill 管「同质化择优留存」,两者不冲突。
跨平台说明
- WorkBuddy:真正改写
disable字段启停;删除走备份回收。 - Claude / Cursor / Codex / Windsurf / Gemini / Copilot / OpenClaw:这些客户端不一定认
disable字段,本 Skill 降级为「输出重复清理建议清单」,由用户手动在对应客户端处理。 - 所有路径使用技能目录相对路径或标准安装位置,不写死个人/系统绝对路径。
安全审查
- P0:删除动作必须二次确认 + 先备份(防不可逆丢失);关键白名单永不误伤。
- P1:所有停用需用户逐项确认;跨平台降级不静默失败。
- P2:聚类阈值可调;评估结论标注仅供参考。