假设你装了 30 个 skill,每个都几百上千字。直觉会担心:这不把 AI 的脑子塞爆了吗?对话不会变慢吗?

答案是不会。原因藏在 skill 的加载方式里——而搞懂这套方式,你才能理解两件每个 vibe-coder 早晚会撞上的事:“为什么 AI 没用上我写的 skill”,以及”为什么改完 skill 要重启”。

先看全景。一个 skill 从”躺在硬盘上”到”真被用上”,走这几步:

步骤发生了什么
1. 启动Claude 只读每个 skill 的 name + description,正文一概不读
2. 你发请求比如”帮我审 PR”
3. 语义匹配拿你的话和所有 description 比”意思”,找匹配的
4. 确认给你一个提示,告诉你它要加载哪个 skill
5. 加载正文这时才把完整 SKILL.md 读进 context

下面逐步拆开。


启动只读”目录”,不读”正文”

有个特别贴切的比方:把所有 skill 想成一本厚厚的操作手册。

AI 启动时,它没有把整本手册背下来——它只翻了目录,以及每一节开头的那句摘要。这个”节标题 + 一句摘要”,对应的就是 skill frontmatter 里的 namedescription。正文(具体章节怎么操作)它完全没读

等你真提出一个请求、匹配上了某一节,AI 才翻到那一节、读它的正文——也就是把完整的 SKILL.md 加载进来。

为什么这么设计?省 context。你的 PR review 清单可能很长,但你 debug 的时候根本用不上它。如果开机就把每一节正文都背进 AI 的”工作记忆”,几十个 skill 就把空间占满了,正事没法干。

所以平时它们只以”目录里一行摘要”的形态待命,等真用上了才把整节读进来。这跟上一篇说的”按需加载”是同一件事,这里是它的实现细节。


匹配靠”语义”,不是搜关键词

AI 不是在你的话里搜关键词,而是理解你这句话的意思,去对每个 description 的意思。

所以你说”看看我这次改动有没有问题”,哪怕一个”PR""review”字都没出现,只要语义跟某个 skill 的 description 对得上,它照样被激活。

这也反过来印证了上一篇的重点:description 写得越准、越说清”什么时候该用我”,匹配越靠谱。


加载前,它会问你一声

匹配上之后,Claude 不会偷偷加载——它会先给你一个确认提示,告诉你”我准备用这个 skill 了”。你在终端里能亲眼看到它被加载。

意义在于:你始终知道 AI 此刻被哪套指令影响着。它不会在背后突然换了套行为,而你蒙在鼓里。


撞名了谁赢:四级优先级

如果两个 skill 重名了,按这个顺序决定谁生效,排在前面的赢:

Enterprise(企业,管理员下发,最高)→ Personal(个人,你的 home 目录)→ Project(项目仓库)→ Plugins(插件,最低)

举个具体例子:你公司的管理员下发了一个企业级 code-review skill,而你自己在 ~/.claude/skills 里也写了一个同名的 code-review。这时候企业版赢,你个人那个被压住。这正是企业能”强制统一规范”,同时又允许你自由定制其他 skill 的机制。

记忆方式:越”上面”、越集中管理的,优先级越高——企业统一规范 > 你的个人习惯 > 单个项目 > 第三方插件。

怎么避免撞名带来的意外? 别用 review 这种泛名字,改用描述性的:frontend-reviewbackend-review。名字一区分开,就没有谁压谁的问题——两个都能用上。


改一个、删一个 skill 怎么做

  • :直接编辑那个 skill 的 SKILL.md
  • :把整个 skill 文件夹删掉。
  • 关键:无论改还是删,都要重启 Claude 才生效

为什么必须重启?回到第一节——namedescription启动那一刻读进去的。你不重启,AI 手上还是旧的那份”门牌清单”,看不到你的改动。


给 vibe-coder 的话

理解这套机制,能直接帮你排掉两个最常见的困惑:

  1. “我明明写了 skill,AI 怎么没用?” —— 八成是 description 没说清”什么时候用我”,语义没匹配上。回去把触发条件写明白。
  2. “我改了 skill 怎么没变化?” —— 你没重启。改完必重启。

更深一层:skill 这套”平时只读描述、用时才加载、加载前告知你”的设计,是 AI 工具在透明省资源之间找的平衡。你不需要记住每个 skill 的全文,AI 也不需要;但你随时知道它在用什么。把这个心智装上,你用 Claude 会从”碰运气”变成”心里有数”。

下一篇讲让 skill 更强更省的进阶技巧:限制工具权限、拆多文件、用脚本,以及别自己手写——用 skill-creator 建