什么是 Skill
一种简单且开放的标准,旨在赋予智能体新的能力和专业知识。
“Agent Skill”这一概念由 Anthropic 在 2025 年首次系统性提出,在其将 Skill 定义为“开放标准”后,多家厂商跟进, 其中包括 OpenAI、Google等行业巨头,业界对 Skill 的定义和理解逐渐趋于统一,各种工具链开始支持并迅速演化为 Agent 时代的事实标准。
Skill 的出现原因很简单,尽管大模型的能力越来越强,但真实世界的工作,需要依赖流程经验与组织语境, 而这些是大模型在训练阶段很难学到的。于是 Anthropic 设计出一种机制,动态地把具体工作的经验、流程、规则和上下文在任务执行过程中补给 Agent。

Skill 定义
根据官方定义:Agent Skill 是一种轻量级的开放格式,用于将专业知识、工作流程等信息注入到 Agent 的上下文中。
你也可以理解为:供 Agent使用,面向特定任务的、可复用的行动策略单元。
技能的核心是一个包含 SKILL.md 文件的文件夹。该文件包含元数据(至少包括名称和描述)以及指示 Agent 如何执行特定任务的指令。Skill 还可以包含脚本、模板和参考资料。
一份标准的 SKILL.md 长得像下面这样
---
name: gmail
description: "读取、发送和管理 Email、标签和草稿。当用户想要与 Gmail 交互时,可以使用此功能。"
---
# Gmail
使用身份验证访问 Gmail API。读取、发送和管理电子邮件、标签和草稿。
## 快速开始
```python
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://api.example.com/google/gmail/v1/users/me/messages?maxResults=10')
req.add_header('Authorization', f'Bearer {os.environ["API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
```
...
其中 name 和 description 是 Skill 的元数据,Agent 会根据它们来识别和选择技能;后面的内容则是操作手册,告诉 Agent 该怎么做。
SKILL.md 就是一份操作手册,告诉 Agent 该怎么做;scripts 是工具箱,提供了可以直接使用的工具;references 是资料库,提供了相关的背景知识和信息; assets 是资源库,提供了模板、图片等各种资源,比如生成报告的模板,或者设计风格参考图片。
与Prompt、Tool、 MCP 的关系
- Prompt: 提示词
- Tool: 工具
- MCP: 模型上下文协议(Model Context Protocol)
你可能经常听到这些概念,有时候不太能完全区分它们之间的差异。 这里我们做一个简单的对比,帮助你捋清它们之间的关系。
| 概念 | 比喻 | 核心特点 | 适用场景 |
|---|---|---|---|
| 可复用提示词 | 微波炉上的“指定按钮”(如:/解冻、/爆米花) | 由用户主动触发的、固定的、单一功能的指令 | 作为主动复用 prompt 的快捷方式 |
| MCP 或 Tool | 厨房里的“单一厨具”(如:一把刀、微波炉、燃气灶) | 为 AI 提供调用外部 API 或脚本的基础能力 | 需要使用外部工具获取信息或完成任务 |
| Skill | 一本完整的“菜谱”(包含食材、步骤和技巧) | 由模型根据任务自动匹配和驱动。它定义了制作这道菜(完成这个任务)需要用到哪些厨具(工具)、遵循哪些步骤,是流程化、场景化的。 | 由模型驱动意图理解,通过渐进式加载补充上下文,并根据指令完成任务 |
模型上下文协议(Model Context Protocol,MCP)是一套标准协议,定义了模型如何调用外部工具,主要解决的是工具调用的问题;而 Skill 则是一个更高层次的概念,解决的是能力构建和复用的问题。Skill 可以包含 MCP 定义的工具调用,但它还包括了更多内容,如操作手册、参考资料和资源等。
Skill 的特点
🧩 可组合(Composable)
多个 Skill 可以灵活叠加使用。Agent 会自动判断所需 Skill,并协调它们协同完成任务。
♻️ 可迁移(Portable):
Skill 采用统一格式,一次构建,可在不同的 Agent 中使用,比如 Claude、Claude Code、Codex、 Gemini Cli、 扣子、 WorkBuddy 等。
🚀 高效(Efficient):
启动时 Agent 只会加载每项可用技能的名称和描述,仅在需要时加载所需 Skill的 SKILL.md,避免不必要的开销。
💪 强大(Powerful):
Skill 可包含可执行代码,在一些传统编程更可靠的场景中,提供更稳定的执行能力。
示例
这里是几个 Skill 的示例, 你可以在 技能包 上找到更多的 Skill。