skill 系统
progressive disclosure 三层加载怎么省上下文,以及三种触发方式的选用
核心要点:
- skill 封装流程知识(SKILL.md + 支撑文件)
- progressive disclosure 分三层按需加载
- 装上百个 skill 基线仅约万 token 量级
- 三种触发:语义 / 手动 / 路径
- skill 存"怎么做",MCP 存"做什么"
本文讲 skill 扩展机制。hook 见 03-hook系统,工具/MCP 见 05-工具系统与 MCP。
skill 是什么,解决什么问题?
核心问题:已经有 CLAUDE.md 和 MCP 工具了,为什么还要 skill?
skill 是封装流程性知识的目录模块,补上"事实"和"工具"之间的"怎么做"[1]。它由一个 SKILL.md 加可选支撑文件组成,装的是过程而非事实或函数。
分工很清晰:CLAUDE.md 存事实(项目约定、偏好),MCP 工具暴露外部函数("做什么"),skill 存流程("怎么做"的 Markdown 指令)。skill 与 MCP 的核心区别在 05-工具系统与 MCP 的工具体系外——前者上下文成本低、语义触发,后者适合外部 API/数据库集成。Agent Skills 已于 2025 年由 Anthropic 开放为跨工具标准。
progressive disclosure 怎么省上下文?
核心问题:装了上百个 skill,会不会把上下文撑爆?
用渐进式披露分三层加载:默认只加载名字和描述,触发时才加载正文[1]。这让能力数量与上下文成本解耦。
三层结构:
- 第一层(元数据):name + description,约 100 token/skill,始终加载[1]。
- 第二层(正文):SKILL.md 内容,触发时才加载,建议 ≤50 行。
- 第三层(支撑文件):按需访问。
效果是:装 100 个 skill,基线上下文成本约万 token 量级,而非把全部正文常驻。这正是 02-上下文工程/02-核心原则 just-in-time 原则的落地——默认只放索引,需要时再拉正文。可借鉴的设计:任何"能力库"都该这样分层,而非把全部能力常驻上下文。
skill 怎么触发?
核心问题:agent 怎么知道什么时候该用哪个 skill?
三种触发:模型语义匹配描述、用户手动调用、路径限定[1]。三者覆盖自动与显式两类场景。
- 语义触发:模型读 skill 的 description,自动判断当前任务是否匹配。
- 手动触发:用户用
/skill-name显式调用。 - 路径触发:用
paths字段限定只在操作某类文件时激活。
语义触发是默认主力,所以 description 的质量直接决定 skill 会不会被用对——写得含糊就不会被触发,写得宽泛就会被误触发。可借鉴的判断:skill 的 description 要像工具描述一样精确(呼应 05-工具系统/02-工具设计原则)。
skill 和 MCP tool 怎么分工?
核心问题:一个新能力,该做成 skill 还是 MCP 工具?
封装流程用 skill,集成外部系统用 MCP 工具[2]。两者不是竞争,是互补。
| 维度 | skill | MCP tool |
|---|---|---|
| 装什么 | "怎么做"的 Markdown 指令 | "做什么"的外部函数接口 |
| 上下文成本 | 低(渐进披露) | 工具 schema 常驻 |
| 触发 | 语义/手动/路径 | 模型调用 |
| 适合 | 流程、约定、技巧 | 外部 API、数据库 |
@tbl-agent-eco-skill-vs-mcp skill 与 MCP 工具对比:装载内容、上下文成本、触发方式与适用场景四维度比较
可借鉴的判断:要教 agent 一套做事方法,写 skill;要让 agent 连一个外部系统,做 MCP 工具。一个 plugin 常把两者打包在一起(04-plugin与agent生态)。
Takeaway
| 知识点 | 核心结论 |
|---|---|
| skill 定位 | 封装流程("怎么做"),补 CLAUDE.md(事实)与 MCP(函数)之间 |
| progressive disclosure | 三层加载,百 skill 基线约万 token 量级 |
| just-in-time | 默认只放名字+描述,触发才拉正文 |
| 三种触发 | 语义(description 决定)/ 手动 / 路径 |
| skill vs MCP | 流程用 skill,外部集成用 MCP 工具 |
参考资料
- Anthropic. Extend Claude with skills / Agent Skills overview (Progressive Disclosure). Claude Code Docs, 2025. https://code.claude.com/docs/en/skills / https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview
- Anthropic. Equipping agents for the real world with Agent Skills. 2025. https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills
延伸阅读
- 03-hook系统 — 另一种扩展机制:生命周期拦截
- 02-上下文工程/02-核心原则 — progressive disclosure 背后的 just-in-time 原则