本页目录8
- Agent Skills 是「指令+脚本+资源」组成的文件夹,代理可动态发现并加载,把通用 Claude 变成特定领域专家。
- 核心文件是 SKILL.md,须含 name/description 的 YAML frontmatter,可关联 reference.md、脚本等附加文件。
- 采用三层「渐进式披露」(progressive disclosure):元数据常驻系统提示、SKILL.md 按需加载、链接文件再按需读取,使可挂载的知识量近乎无限。
- Skill 中的代码可被 Claude 直接执行而非仅当文档读,兼顾效率与确定性可靠性,且执行时无需把脚本内容读入上下文。
- Skills 与 MCP 互补:MCP 负责连接外部工具/数据源,Skills 负责教会代理如何组织复杂工作流程。
- 目前已在 Claude.ai、Claude Code、Claude Agent SDK 和 Claude Developer Platform 上支持,官方建议仅从可信来源安装并审计代码依赖。
本文是对 Anthropic 官方文章《Equipping agents for the real world with Agent Skills》的中文要点摘要,完整内容以原文为准:https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills
是什么:Agent Skills
Claude 本身能力很强,但真实世界的工作往往需要特定的程序性知识和组织背景——比如某公司的报销流程、某项目的代码规范。Agent Skills 就是为解决这个问题设计的:它是一种「组织化的指令、脚本和资源文件夹」,代理可以在运行时动态发现并加载,从而在特定任务上表现更好。本质上,Skills 把人的专业知识打包成可复用、可组合的资源,让通用代理变成领域专家。
核心结构:SKILL.md
每个 Skill 的必需元素是一个 SKILL.md 文件,包含:
- YAML frontmatter:至少含
name和description两个字段,这两个字段会常驻系统提示,是 Claude 判断「是否要触发这个 Skill」的主要依据。 - 正文指令:具体的操作说明、上下文和注意事项。
一个 Skill 不止一个文件,官方以 PDF 处理 Skill 为例说明了典型组成(下方文件树为本站根据原文描述整理的示意):
pdf-skill/
├── SKILL.md # 主文件,含 frontmatter + 核心指令
├── reference.md # 详细参考资料,按需读取
├── forms.md # 表单相关的补充说明
└── (Python 脚本) # 预写好的可执行脚本,读取 PDF 并抽取全部表单字段
关键机制:渐进式披露(progressive disclosure)
这是 Agent Skills 设计的核心思路,分三层:
- 第一层:所有已安装 Skill 的
name/description元数据,预先加载进系统提示,始终可见但体积很小。 - 第二层:当 Claude 判断某个 Skill 与当前任务相关时,才通过工具(如 Bash)读取该 Skill 完整的
SKILL.md正文。 - 第三层及以上:
SKILL.md中链接到的其他文件(如reference.md、forms.md)按需被发现和读取,而不是一次性全部塞进上下文。
典型触发序列是:系统提示 + 全部 Skill 元数据 + 用户消息 → Claude 判断相关 Skill → 读取其 SKILL.md → 按需读取捆绑文件 → 执行任务。
这种分层意味着一个 Skill 能挂载的知识总量「实际上是无限的」——因为只有真正用到的部分才会占用上下文窗口。
Skills 里的可执行代码
Skill 目录里可以放 Claude 能自主选择执行的脚本(而非只是读一遍当文档)。这样做的好处:
- 效率:比如「排序」这类任务,让代码去做比让模型逐 token 生成结果更省资源。
- 确定性:某些场景需要代码级别的可靠性,模型输出无法保证。
- 上下文友好:执行脚本本身不需要把脚本内容读入上下文,进一步节省 token。
与 MCP、工具等机制的关系
文章将 Skills 定位为 Model Context Protocol(MCP)的补充,而非替代:MCP 负责让代理连接外部工具、数据源和软件;Skills 负责教代理「如何组织涉及这些外部工具的复杂工作流程」。二者可以配合使用。
创建与组织 Skills 的建议
官方给出四条实践建议:
- 从评估出发:先在有代表性的真实任务上跑代理,找出能力短板,再针对性地增量构建 Skill 去补齐。
- 为规模而设计结构:当
SKILL.md内容变得臃肿时,拆分成独立文件;把互斥的上下文分开存放以减少 token 占用;代码文件既可以是可执行工具,也可以是文档说明。 - 站在 Claude 的角度思考:观察 Claude 在真实场景里如何使用某个 Skill,留意「意外的执行路径」或对某些上下文的过度依赖;尤其要打磨好
name和description,因为这是 Claude 决定是否触发 Skill 的关键依据。 - 和 Claude 一起迭代:在处理任务过程中,可以直接要求 Claude 把「成功的方法」和「常见错误」总结进 Skill 的可复用上下文和代码里;出错时引导它做自我复盘并回写进 Skill。
安全提醒
Skills 通过指令和代码赋予 Claude 新能力,因此官方建议:
- 只从可信来源安装 Skill。
- 如果来源不太可信,使用前要「彻底审计」。
- 检查文件内容,理解其具体功能,尤其注意代码依赖和捆绑资源。
- 警惕那些指示 Claude 连接到潜在不可信外部网络源的指令或代码。
跨产品可移植性与未来方向
Agent Skills 目前已在 Claude.ai、Claude Code、Claude Agent SDK、Claude Developer Platform 上得到支持,同一套 Skill 文件夹可以跨这些产品复用。
官方表示未来会持续完善 Skill 的创建、编辑、发现、共享和使用的全生命周期能力,并继续强化与 MCP 服务器的互补关系;更长期的目标是让代理能够自己创建、编辑和评估 Skills,把自身在实践中总结出的行为模式沉淀为可复用的能力。