Agent Skills 是一种轻量、开放的格式,用于通过专业知识与工作流扩展 AI Agent 的能力。Skills 本质上是一个沉淀了自然语言描述 SOP 的 markdown 文件,能够避免重复性劳动,统一能力标准,实现高效且可复用的经验传递。
skillsmp.com 的统计数据显示目前 Agent Skills 正在快速爆发式增长。

定义 Skill
Skill 的核心是一个包含 SKILL.md 文件的文件夹,包含元数据以及指导 Agent 执行特定任务的指令。同时也可以包含文档资料、脚本、模板等文件。
skill/
├── SKILL.md # 必需:指令 + 元数据
├── scripts/ # 可选:可执行代码
├── references/ # 可选:文档资料
└── assets/ # 可选:模板、资源文件
SKILL.md 的组成包括:
- 头部:我是什么,能做什么,使用 name 和 description 定义
- 正文:怎么做,使用 markdown 写步骤、规范和注意事项
---
name: Skill 名称
description: Skill 描述
---
# Skill 名称
## 何时使用此技能
......
## 如何 XXXX
......
## 如何 YYYY
......
头部可选字段包括:
- license:许可协议
- compatibility:环境依赖
- metadata:自定义键值对元数据
- allowed-tools:可调用工具列表
scripts/ 存放 Agent 可执行的代码脚本,要求自包含(或清晰声明依赖)、包含友好的错误提示、优雅处理边缘情况。
references/ 存放 Agent 按需读取的补充文档,建议使用 markdown 格式,并按用途拆分文件。
assets/ 存放静态资源,如文件模板、图片、数据文件等。
渐进式披露
Agent Skills 的核心设计理念是渐进式披露(Progressive Disclosure),既能让大模型能够调用工具和脚本,又避免了一次性塞入过多内容到上下文。
启动时仅加载 name 和 description,用于判断相关性。Skill 被激活时加载完整 SKILL.md 正文,仅在需要时加载 scripts/references/assets 中的文件。
加载过程分为三个层次:
- 元数据层(~100 tokens):启动加载 name 和 description
- 指令层(推荐 < 5000 tokens):激活加载完整 SKILL.md 正文
- 资源层:按需加载
Agent 集成 Skills
使用开源框架提供的能力即可,实现原理如下。
Agent 启动时扫描 Skills 目录,找到并解析 SKILL.md,把元数据(name和description)注入系统提示词告知大模型可用的 Skills。同时注入 read_skill 工具供大模型调用。
大模型匹配 Skill 后,生成 read_skill 工具调用。Agent 读入 SKILL.md 的正文,返回给大模型系统消息。
大模型执行 SKILL.md 正文指令,如需执行脚本再进行工具调用。
需要注意,执行高危操作需要征求用户同意(尤其是脚本)。
与 Function Calling 的区别
Function Calling 是大模型的底层能力,让大模型能够将自然语言转换为结构化的函数调用请求。是模型的原生能力,由大模型厂商提供(OpenAI、Anthropic、Google 等)。模型只输出"应该调用什么函数,参数是什么",并不执行函数。
| 维度 | Function Calling | Agent Skills |
|---|---|---|
| 层级 | 底层协议层 | 高层抽象层 |
| 解决什么问题 | 如何让模型输出结构化调用指令 | 如何规范复杂任务的执行流程 |
| 存储形式 | 模型内部的函数定义 | 本地文件(SKILL.md 等) |
| 扩展性 | 需修改模型配置,扩展性较差 | 文件化管理,扩展性强 |
| 业务逻辑 | 不包含,仅定义接口 | 完整封装,包含隐性知识 |
| 复用性 | 依赖具体模型 API | 可跨模型、跨平台复用 |
| 开发成本 | 低(简单工具调用) | 中(需要设计完整流程) |
| 适用场景 | 单次工具调用 | 多步骤复杂工作流 |
与 MCP 的区别
MCP 定义统一的通信规范,类似 HTTP 或 USB,解决"如何访问"外部资源的问题,一套协议可连接数据库、API、文件系统等任意服务。
| 维度 | MCP | Agent Skills |
|---|---|---|
| 层级定位 | 协议层(Protocol Layer) | 能力层(Capability Layer) |
| 核心问题 | "如何连接"外部资源 | "如何完成"特定任务 |
| 标准化对象 | 接口通信协议 | 任务执行逻辑 |
| 存储形式 | 服务器配置 + 协议规范 | 本地文件(SKILL.md 等) |
| 业务逻辑 | 不包含,纯技术协议 | 完整封装,含隐性知识 |
| 复用范围 | 跨模型、跨平台通用 | 可跨模型,但需适配业务 |
| 开发成本 | 中(需搭建 MCP 服务器) | 低(文件化,易编辑) |
| 版本管理 | 依赖服务器版本 | 可用 Git 直接管理 |
| Token 优化 | 无特殊优化 | 渐进式披露,节省 90% |