前几天,我把自己的 Skill 库摊开来重新看了一遍。

有些名字很熟,真要说它什么时候该被调用,我却答不上来。有些是当时看到介绍觉得有用,顺手就装了;还有几项做着差不多的事,只是来自不同的仓库。它们平时安静地待在目录里,直到排进同一张表,重叠才露出来。

那张表没有什么复杂设计。我只记名称、来源、description,再补一句自己究竟拿它做什么。前面几项很好填,越往后空白越多。最费时间的地方也在这里。README 看一遍很快,要承认某个当初兴冲冲装上的东西没有独立用途,就没那么痛快了。

Skill 本身不难理解。它通常是一份写给 AI 的工作说明,里面可以带脚本、模板和参考资料。麻烦出在“该用哪一份”。看到一个新仓库,我们很容易先看 star、更新时间和 README,然后顺着安装命令一路走下去。这些只能说明项目本身怎么样,不能替自己的 Skill 库做决定。

我最后用一个问题问自己:把它去掉,哪项工作会缺一步?

能说出具体的一步,它就有留下的价值。要是想了半天,只能说“以后也许有用”,我就会先放着不装。不问“有没有用”是因为这太容易回答了。写邮件、查资料、做网页,总能想出一个将来也许会遇到的场景。“去掉后缺哪一步”会逼着我去翻现有库,看看那一步是不是早已有别的 Skill 在做。

为什么很多人会推荐这套 Skill

我在整理别人推荐的 Skill 时,反复看到 Matt Pocock 的名字。他长期做 TypeScript 教学,也是 Total TypeScript 的创建者。现在他把自己做软件工程时使用的一套 Agent Skill 放在了 mattpocock/skills 里,这个仓库在 GitHub 上也有很高的关注度。

这套 Skill 主要围绕软件开发展开。grill-me 会在动手前追问需求,把含糊的想法问清楚;to-specto-tickets 接着把讨论整理成规格与可执行任务;tdd 让 Agent 按红灯、绿灯、重构的节奏写测试和代码;code-review 在完成后检查实现有没有偏离规格。还有 handoff,负责把一段过长的会话压成文档,交给下一个会话继续。

单独看,每一项都挺实用,连起来也像一套完整的开发流程。问题是我自己的库并非空白。需求梳理、任务拆分、测试驱动、代码审查这些位置已经有其他 Skill,研究检索还有专门面向论文的工具。Matt 这套工程流程还会询问 issue tracker、标签和文档目录,而我的不少工作只是科研实验文件夹,连 Git 仓库都没有。

一项项对照下来,我没有整包装入,只挑了少数能补空缺的。这篇先说 writing-for-agents。我已有的 skill-creator 会帮我创建和修改 Skill,writing-for-agents 补的是另一个小缺口:一份写得很完整的 SKILL.md,为什么总不能在合适的时候被想起来。

拿不准时,先让它安静一阵

已经装好的 Skill,我也不会因为一时想不到用途就立刻删除。Claude Code 可以用 disable-model-invocation: true 把它改成仅手动调用,也可以通过 skillOverrides 调整可见性。这样完整文件还在,description 暂时退出自动选择。

我会让它这样待一阵,继续做平时的任务。如果某一步真的缺了,再手动找回来;一直没有想起它,也没有任何流程受影响,删除时就踏实多了。

这一圈折腾完,留下的 skill 就是真正有用又高效的了。下次再看到一个热闹的 Skill 仓库,我会先打开自己的那张表,再决定要不要复制安装命令。

相关阅读