最近在整理我的 AI 工作台,翻着翻着发现一个被忽略很久的问题。
同一个 Skill,在 Codex 和 WorkBuddy 里各装了一份。
名字一模一样,平时相安无事。但我心里开始犯嘀咕:
- 这两份还是同一个东西吗?
- 哪份是最新的?
- 它们俩是互相独立的,还是其中一个链接过去的?
- 删掉一个,会不会把另一个也搞坏?
更糟的是:我根本不知道还有没有别的 Skill 也这样。
手动翻~/.codex/skills/和~/.workbuddy/skills/逐个对比?十几二十个 Skill,纯体力活,还容易漏。
于是我用自己写的工具 skill-doctor 做了一次全量诊断。整个过程不超过 5 分钟,全程只读,不改任何文件。
下面是完整过程和真实结果,截图全是一手资料。
第一步:一条命令,把所有 Agent 的 Skill 入口扫一遍
npx @evilstar2025/skill-doctor ui 你的项目目录启动本地界面后,检查范围选“当前项目 + 全局配置”,分析模式选标准体检,然后点跨 Agent 总览。
为什么要选"跨 Agent 总览"?因为单看某一个 Agent 或某一个项目,你永远看不到跨工具之间的重复入口。问题恰恰藏在这些工具的"交界处"。
扫描完成,结果一目了然:11 项待处理问题。
顶部的工具栏把 Claude Code、GitHub Copilot、Codex、Windsurf、OpenCode、WorkBuddy 这些主流 Coding Agent 的 Skill 入口都汇总到了一个页面里,每家装了什么、装在哪,不用再挨个目录翻了。
第二步:先分类,再动手
11 项问题,先别急着处理。
点开问题列表,按类型拆开看:10 条"重复 · 高风险" + 1 条"上下文 · 中风险"。
"重复"和"上下文"是两类完全不同的问题。
- 重复是同一个 Skill 装了多份,可能造成版本漂移或加载顺序不明确;
- 上下文是指 某些固定内容(如skill的描述信息)太占 token 了
先分类,再动手。
第三步:两条路径
我在搜索框里输入data-migration-kit,定位到其中最典型的一组。
点开问题,右侧证据直接列出两条完整路径:
副本 A:~/.codex/skills/data-migration-kit/SKILL.md 副本 B:~/.workbuddy/skills/data-migration-kit/SKILL.md一份在 Codex 全局,一份在 WorkBuddy 全局。哪个平台、哪个安装来源,一目了然。不用再自己猜"这文件到底在哪"。
再点进单份副本的详情页,能看到更细的信息:激活方式、固定成本(即每轮固定消耗) 315 tokens、按需成本(使用时才消耗) 3253 tokens、物理路径、安装来源。
也就是说,这个同名 Skill 不只是"装了两份"这么简单——两份各自都占着一笔上下文成本,重复本身就在悄悄烧 token。
第四步:字节级核对
光看摘要一致还不够。摘要可以是工具生成时的快照,不代表文件本身没漂移。
我拿 SHA-256 对两份SKILL.md做了只读核对:
- 两份文件都是10847 字节,哈希一致——正文目前没有漂移
- 两边的文件来源完全不同,漂移只是时间问题
这一步是整个体检里最有价值的部分。想象一下:如果当时凭感觉直接删掉一份,很可能顺手就把指向共享仓库的那个入口干掉了。
工具只负责给出证据链,删不删、删哪份,决定权在自己手里。
第五步:确认没有触发词冲突
除了文件重复,还有一个隐蔽风险:两个同名 Skill 的触发词如果撞车,Agent 到底用谁的就不确定了。
筛一下"冲突"类型:示例中显示没有匹配的问题。这组的触发词目前是错开的,不会互相打架。
判断撞车的算法默认是基于token重叠计算的,会有有误差。
工具还支持自定义对接LLM,通过LLM语义分析冲突情况。配置了LLM那准确度就更有保障了,这一点我们下一回再说。
收尾:复扫一遍,留个基线
看完问题列表,心里有数了。最后做了一次复扫,和之前的扫描记录做基线对比:新增问题 0、资源变化 0、上下文变化 0——确认当前状态稳定,也留下了一份可追溯的基线,下次再扫就知道是变好还是变坏。
这次体检的收益
✅5 分钟摸清全机 Skill 家底:10 条重复、0 条触发冲突、1 条上下文预算问题,类型分得清清楚楚
✅删不删有依据:不是凭告警红字冲动清理,而是先看路径、看哈希、看链接目标、看维护来源
✅避免"清理式翻车":误删指向共享仓库的入口,才是最贵的 mistake
✅全程只读可复现:每次扫描留基线,处理前后对比有据可查
写在最后
如果你的 Agent 越装越多,同名 Skill 分散在好几个工具里,建议趁早做一次体检。多 Agent 协作用久了,Skill 漂移只是时间问题——现在哈希一致不代表下个月还一致。
skill-doctor 完全开源、本地运行、数据不出机:
👉 https://github.com/evilstar2016/skill-doctor
觉得有用的话,去仓库点个 Star 就是对它最好的支持。也欢迎大家多提宝贵意见。