Agent 缺的从来不是聪明,而是领域操作规程与组织记忆。 Skill 就是把这两样东西,从你的脑子里搬到文件系统里的载体——可版本化、可移植、可执行、可进化。
What it is
它把「这类事该怎么做」固化成一份文件系统里的规程,让 Agent 在需要的时候自己去翻。
它是一堆真实的文件,可以被 ls、被 git 管理、被 diff、
被复制到另一台机器。这带来了提示词模板永远没有的三件事:可版本化、可移植、可组合。
平时只记住每个 Skill 的名字和一句话描述,命中了才读正文,正文里需要才翻附录。 这就是为什么你能装 100 个 Skill 而不撑爆上下文。
确定性高的活交给脚本,判断类的活留给模型。让 Agent 更笨但更稳—— 这比让它每次现写一遍代码可靠得多。
Progressive Disclosure
把一份说明书拆成三个粒度,按需逐级展开。这是 Skill 从「提示词技巧」升级为「可扩展架构」的分水岭。
name + description始终在上下文中,唯一的职责是路由——让模型判断当前请求跟哪个 Skill 有关。
SKILL.md命中触发后才读取,一次性成本。必须自足——读完就能启动任务,细节往后放。
scripts/ references/ assets/正文指名时才读,理论上无上限。挂 2MB 的 API 文档也不会拖慢任何东西, 只要不是每次都读。
| 方案 | 常驻成本 | 单次任务成本 | 100 个 Skill 时 |
|---|---|---|---|
| 全文塞进 system prompt | 160,000 token | 160,000 | ❌ 不可用 |
| 三层渐进式加载 | ~10,000 token | +2,000~6,000 | ✅ 可用 |
Writing
九篇文章,从心智模型一路写到自我进化闭环。可以按顺序读,也可以直接跳到你卡住的那一篇。
Gallery
六个来自真实工作环境的 Skill 案例,看它们的 description 是怎么写的、触发词怎么设计的。
Anatomy
四个目录,四类职责。判断一个 Skill 写得好不好,第一眼就看该在 references 里的东西有没有被塞进 SKILL.md。
--- name: my-skill description: 一句话说清做什么、什么时候用、 以及用户可能会怎么讲。这是路由的唯一依据。 agent_created: true --- # 任务名 ## 目标 一句话说清交付物是什么。 ## 流程 1. 第一步做什么 2. 第二步做什么 ## 边界与禁忌 - 不要做什么 ## 交付前自查 - [ ] 检查项一
Get started
Skill 的价值来自迭代,不来自首次完美。上线一个粗糙的 Skill, 好过在脑子里设计一个完美的。