ORANGE BOOK · AGENT SKILL

第三章 Skill 是怎么工作的(白话版)

你将学到

  • 用"图书馆"类比理解渐进式披露(progressive disclosure)。
  • 看清 Skill 的三层加载:metadata → instructions → resources。
  • 理解 description 字段为什么决定一切。
  • 知道为什么 Skill 永远不会"塞爆"AI 的脑子。
  • 了解 Skill 和"长 Prompt"在原理上的区别。

你需要准备

  • 一杯水。这一章是原理章,不需要打开电脑。
  • 5 分钟连贯的阅读时间。

一、先抛出一个困惑

第二章你跑了一个简单 Skill。但你脑子里大概有这些问题:

  1. 我开了 Skills 总开关后,xlsx、docx、pptx、pdf 4 个 Skill 都默认加载了。如果我装到 100 个 Skill,AI 不会直接被"撑爆"吗?
  2. 为什么我说"帮我处理这份 Excel"它就知道用 xlsx Skill,而不是 pptx Skill?它是怎么挑的?
  3. 为什么我那个 hello-skillbook Skill 我说"测试 skillbook"它能召唤;说"你好"它就不召唤?

这三个问题,是 Skill 的全部秘密。

我们一个一个回答。


二、用"图书馆"类比理解 Skill 的工作流

想象一座小镇图书馆。它的读者(你)走进去借书:

0. 进门

读者走到柜台说:"我想找一本书。"

馆员(Claude 大模型)问:"想找什么主题的?"

1. 看书目卡片(metadata)

馆员先去翻书目卡片柜。每本书在卡片上只有最基本信息:

  • 书名(name)
  • 一句话简介(description)

馆员根据卡片快速判断"这本书可能跟读者要的有关"。10 秒内扫过 100 张卡片不费力。

2. 把书取出来读目录和正文(instructions)

馆员锁定一本可能合适的书后,跑去书架取下来翻正文——这才是真的内容,几千字。

读完正文,他知道"这本书具体怎么用"。

3. 按需翻附录(resources)

如果这本书还有附带的"参考资料""图表集""音频材料",馆员只在用得到的时候才翻。比如读者问到"第 30 页那张图能不能帮我打印一份",他才去翻图集。


把这个图书馆翻译回 Skill 的世界:

图书馆 Skill
一本书 一个 Skill 文件夹
书目卡片 YAML frontmatter 里的 name + description
正文 SKILL.md 主体内容(Markdown 指令)
附录 / 图集 / 音频 scripts/templates/references/assets/ 目录
馆员 Claude 大模型
读者
进门时的对话 你给 Claude 的提示词

这套机制有个学名:Progressive Disclosure(渐进式披露)。

白话解释:渐进式披露 = "先看一眼,需要再细看,需要再翻配套资料"。


三、Skill 的三层加载(Three-Tier Loading)

按 Anthropic 官方文档:

Level 1: Metadata    (~100 tokens)         始终常驻
Level 2: Instructions (<5,000 tokens)      触发时才加载
Level 3: Resources   (无上限)               按需加载

每一层都对应文件里的一段:

Level 1 —— Metadata(约 100 token,始终常驻)

就是 SKILL.md 顶部的 YAML frontmatter,例如:

---
name: weekly-report
description: 帮用户按公司四段格式(完成/计划/风险/求助)写周报。当用户提到"周报""周一汇报""this week summary"时触发。
---

这两行就是"书目卡片"。Claude 在每次对话开始时把所有 Skill 的 metadata 都加载到内存里。

每个 Skill 大约只占 100 token——这是为什么你装 100 个 Skill 也不会"撑爆 AI 的脑子"。

白话解释:100 个 Skill × 100 token = 1 万 token。Claude 4.5 的上下文是 20 万 token,1 万只占 5%,完全无感。

Level 2 —— Instructions(小于 5000 token,触发时加载)

只有当 Claude 决定"我要用这个 Skill"时,它才会去读 SKILL.md 的主体内容——也就是 frontmatter 之后的所有 Markdown。

这部分通常是几千字的工作流说明:

# 周报生成器

## 第一步:收集数据
1. 从 Notion 拉…
2. 从 GitHub 拉…

## 第二步:写四段
- 本周完成…
- 下周计划…

## 第三步:风格
- 句句给数字…

这部分官方建议不超过 5000 token——大致 2500–3000 个汉字。超过这个长度,Skill 就开始变"重",会拖慢 Claude 的反应。

Level 3 —— Resources(无上限,按需加载)

如果 Skill 文件夹里还有别的文件——脚本、模板、参考文档、图片——它们只在需要时才被加载。

举个例子:

weekly-report/
├── SKILL.md
├── references/
│   ├── notion-fields.md   # 1 万字,介绍 Notion 字段
│   └── tone-guide.md      # 5000 字,公司语气规范
├── scripts/
│   └── fetch_notion.py    # Python 脚本
└── templates/
    └── weekly.docx        # 公司模板
  • 当 Claude 需要拉 Notion 数据时,会去打开 fetch_notion.py
  • 当 Claude 需要参考语气时,会去打开 tone-guide.md
  • 当 Claude 需要套模板时,会去打开 weekly.docx

平时这些文件就静静躺着,不占任何 token。

白话解释:Resources 就像图书馆里的"参考资料区"——读者不主动问到,馆员不会主动翻给你看。


四、为什么这套机制是"革命性"的

第一章我们对比过 Skill 和"长 Prompt"。这里更深入一点:

长 Prompt 的问题

你可能想过:"那我自己写一份超长的 system prompt,把所有任务说清楚不就行了?"

不行。原因有三个:

  1. token 消耗炸裂:你的 system prompt 在每次对话里都会被完整加载。如果你想覆盖 100 种工作场景,那就是 100 × 几千字 = 几十万 token——超出几乎所有模型的上下文。
  2. AI 注意力被稀释:研究表明,长 prompt 里 AI 容易"漏看"细节。你藏在第 8000 字处的"重要规则"它看不到。
  3. 维护噩梦:100 种场景写在一份文件里,你哪天想改"周报格式"得翻半天。

Skill 的解法

Skill 用渐进式披露把这三个问题全解决了:

  1. token 消耗可控:metadata 只占 100 token,instructions 按需加载。
  2. AI 注意力集中:当一个 Skill 被触发,Claude 只看那一份 5000 token 的指令——注意力 100% 在这个任务上。
  3. 维护清晰:100 个场景对应 100 个 Skill 文件夹,你想改哪个就开哪个。

这就是为什么 Anthropic 把 Skill 称作 "the future of AI applications"——它把过去靠"长 prompt + 反复试错"才能勉强解决的事,变成了一个工程问题


五、Skill 是"怎么被召唤"的——description 是灵魂

回到第二章那个问题:"Claude 是怎么挑出 xlsx Skill 的?"

答案就在每个 Skill 的 description 字段里。

我们看一下 xlsx Skill(Anthropic 官方版)的 description(简化版):

description: >
  Read, analyze, and modify Excel (.xlsx) files. Use this skill when the user
  asks about spreadsheets, Excel files, .xlsx files, data analysis on tabular
  data, calculating sums/averages/pivots, adding/removing rows or columns,
  formatting cells, or generating Excel reports.

注意这段描述:

  • 列出了所有触发关键词:spreadsheet、Excel、.xlsx、data analysis、tabular、pivot、rows、columns、cells、reports……
  • 列出了适用动作:read、analyze、modify、calculate、add、remove、format、generate……

当你说"帮我处理这份 Excel",Claude 在毫秒级匹配你说的话和所有 Skill 的 description——发现 "Excel" 这个词高度对应 xlsx Skill 的描述,于是召唤它。

如果你说"帮我画一张趋势图"——里面没有 "Excel",但有 "图",Claude 可能会判断"这跟图表生成有关",仍然有可能触发 xlsx(因为它里面也提到 charts)。

如果你说"你好"——所有 Skill 描述里都没这个词,Claude 一个都不召唤,按聊天模式走。

description 的 6 个金标准

写好 description 是 Skill 成功的 80%。Anthropic 官方推荐:

  1. 直接说"做什么":开头 1–2 句话讲清这个 Skill 解决什么问题。
  2. 列触发关键词:用户可能用的中英文词汇都要写进去。比如"周报""weekly report""周一汇报""week summary"。
  3. 覆盖典型场景:用户在什么场合会用到这个 Skill?写出来。
  4. 避免歧义:不要写"通用文档处理 Skill"——这种描述会跟所有 Skill 冲突,AI 不知道选哪个。
  5. 控制长度:≤ 1024 字符(约 350 中文)。太短不够触发,太长拖慢匹配。
  6. 避免过度承诺:不要写"能解决所有 PPT 问题"——AI 真的会按这个标准召唤它,结果做不到就翻车。

第八章我们会带你按这 6 条原则写出第一份合格的 description。


六、为什么有的 Skill"叫不来"

理解了上面机制,"我的 Skill 怎么没被触发"这个问题就有答案了:

原因 1:description 太笼统

❌ 反例:

description: A helpful skill.

这描述跟没写一样,Claude 没法判断什么时候该用。

✅ 正例:

description: Help users write weekly status reports in the company's four-section format (Done / Plan / Risks / Asks). Use when user mentions "周报", "weekly report", "周一汇报", "week summary", or asks for a status update.

原因 2:用户的提示词里没有任何触发关键词

如果你写的 Skill description 里只有"周报""weekly report"两个词,但你跟 Claude 说:"帮我汇总一下这周做了啥"——里面一个关键词都没命中,Skill 不会被召唤。

解决:要么把更多说法加到 description("汇总周工作""this week summary"),要么改你自己的口头禅(直接说"帮我写周报")。

原因 3:和别的 Skill 撞描述

如果你装了两个 Skill,描述长得很像:

  • Skill A: "Generate PowerPoint presentations from data."
  • Skill B: "Create slide decks based on tabular input."

两个都跟"PPT + 数据"有关,Claude 可能会"两个都想用又拿不定主意",最后表现奇怪。

解决:让两个 Skill 的描述明确各自专属场景。比如 A 加上"专注英文工作汇报",B 加上"专注中文销售提案"。

原因 4:Skill 文件夹位置不对

Claude 只会扫描特定目录:

  • Claude.ai 网页版:你在 Settings 里上传的 Skill。
  • Claude Desktop:上传后保存到云端。
  • Claude Code:~/.claude/skills/ 全局,或当前项目下的 .claude/skills/

放别的地方它根本看不到。

原因 5:YAML 写错了

YAML 对格式很严格。常见错误:

---
name:weekly-report      # ❌ 冒号后面没空格
description: 我的描述   # ✅ 这样是对的
---

或者:

---
name: weekly report     # ❌ name 不能有空格
---

name 必须是 kebab-case:小写字母 + 短横线,比如 weekly-reporthello-skillbookpdf-toc-builder


七、把 Skill 工作流画一张完整的图

你说一句话                  Claude 大模型                     执行结果
    │                            │                                ▲
    │  "帮我读这份 Excel"         │                                │
    ├───────────────────────────►│                                │
    │                            │                                │
    │                  ┌─────────▼─────────┐                      │
    │                  │ 1. 在 metadata 库  │                      │
    │                  │   匹配触发关键词    │                      │
    │                  │   命中: xlsx       │                      │
    │                  └─────────┬─────────┘                      │
    │                            │                                │
    │                  ┌─────────▼─────────┐                      │
    │                  │ 2. 加载 xlsx 的    │                      │
    │                  │   SKILL.md 主体    │                      │
    │                  │   (~3000 token)    │                      │
    │                  └─────────┬─────────┘                      │
    │                            │                                │
    │                  ┌─────────▼─────────┐                      │
    │                  │ 3. 按指令执行      │                      │
    │                  │  - 写 Python 代码 │                      │
    │                  │  - 在沙箱里跑     │                      │
    │                  │  - 必要时去翻      │                      │
    │                  │    references/    │                      │
    │                  │    或 templates/  │                      │
    │                  └─────────┬─────────┘                      │
    │                            │                                │
    │                            └────────────────────────────────┘
    │
    │  返回: 处理后的 .xlsx 文件 + 一段总结
    ◄────────────────────────────

八、Skill 的"沙箱"——脚本到底在哪跑

最后讲一件你需要知道的事:Skill 里那些 Python 脚本到底跑在哪?

简单说:

  • Claude.ai 网页版 / Desktop:跑在 Anthropic 的云端沙箱里(每个对话独立、隔离、用完销毁)。沙箱可以联网(受限)、可以读你上传的文件、可以输出新文件。
  • Claude Code:跑在你本地电脑上。这意味着 Skill 能力更强(能读你硬盘里的任何文件、能跑系统命令),但也更敏感(恶意 Skill 可能伤害你的系统)。

关键安全准则(第十章详讲):

  • 网页版 / Desktop 的 Skill 风险相对低——沙箱有边界。
  • Code 里运行的 Skill 必须只装来源可信的

九、本章一图回顾

+---------------------------------------------------------+
|              Agent Skill 三层架构                        |
+---------------------------------------------------------+
|                                                         |
| Level 1: Metadata     ~100 tokens, 始终常驻             |
|   ┌──────────────────────────────────┐                 |
|   │ name: weekly-report              │                 |
|   │ description: ...触发关键词...      │                 |
|   └──────────────────────────────────┘                 |
|                  ▲                                     |
|                  │ Claude 用它"匹配该不该召唤"          |
|                                                         |
| Level 2: Instructions <5000 tokens, 触发时加载           |
|   ┌──────────────────────────────────┐                 |
|   │ # 第一步:收集数据                │                 |
|   │ # 第二步:按四段写                │                 |
|   │ # 第三步:风格规范                │                 |
|   └──────────────────────────────────┘                 |
|                  ▲                                     |
|                  │ Claude 用它"知道怎么干"              |
|                                                         |
| Level 3: Resources    无上限, 按需加载                   |
|   ┌──────────────────────────────────┐                 |
|   │ scripts/   templates/             │                 |
|   │ references/   assets/             │                 |
|   └──────────────────────────────────┘                 |
|                  ▲                                     |
|                  │ Claude 用它"真正动手做事"            |
+---------------------------------------------------------+

灵魂: description
最容易踩坑: name 写法 / description 太笼统 / 触发词缺失

给你 3 句话提醒

  1. 学 Skill 的"原理"不是为了炫技,是为了让你写的每一个 Skill 都能被真正召唤。
  2. 一个被"叫不动"的 Skill = 一个不存在的 Skill。description 写法决定一切。
  3. 渐进式披露不是奇技淫巧,它是 AI 工程化的转折点。理解这件事,你就理解了"AI 不是聊天框,是一个能装 1000 件能力的容器"。

下一章预告

下一章 第四章 从官方 Skill 开始,我们要正式动手了。

我会带你完整跑通 Anthropic 官方 4 个最常用的 Skill:xlsx、docx、pptx、pdf——每一个都有 1 个完整实战。最后做一个综合实战:从一份 Excel 数据,一句话生成完整的 12 页 PPT。

做完那一章,你就掌握了"用 Skill 替代 80% 文档操作"的能力。

走,进第四章。