目录
- 为什么在MCP后又提出了Skill
- [什么是 Agent Skills?](#什么是 Agent Skills?)
-
- 渐进式披露:破解上下文困境
-
- 第一层:元数据(Metadata)
- 第二层:技能主体(Instructions)
- [第三层:附加资源(Scripts & References)](#第三层:附加资源(Scripts & References))
- [Agent Skills vs MCP:本质区别与协作关系](#Agent Skills vs MCP:本质区别与协作关系)
-
- 从工程视角理解差异
- 上下文管理策略的本质差异
- [互补而非竞争:Skills + MCP 的混合架构](#互补而非竞争:Skills + MCP 的混合架构)
- [如何创建和使用 Skills](#如何创建和使用 Skills)
-
- [SKILL.md 规范详解](#SKILL.md 规范详解)
-
- Frontmatter(必需)
- [正文内容(Body content)](#正文内容(Body content))
- [渐进式披露(Progressive disclosure)](#渐进式披露(Progressive disclosure))
- [文件引用(File references)](#文件引用(File references))
- 校验(Validation)
- [编写高质量 Skills 的原则](#编写高质量 Skills 的原则)
- [零代码、自然语言,编写真·智能 Agent](#零代码、自然语言,编写真·智能 Agent)
- 行业动态与生态演进
- [怎么使用 Skills?](#怎么使用 Skills?)
-
- [如何制作并安装自己做好 skill ?](#如何制作并安装自己做好 skill ?)
- [什么时候应该用 Skills?](#什么时候应该用 Skills?)
-
- [1️⃣ 你发现自己在反复向 AI 解释同一件事](#1️⃣ 你发现自己在反复向 AI 解释同一件事)
- [2️⃣ 任务本身依赖「特定知识、模板或材料」](#2️⃣ 任务本身依赖「特定知识、模板或材料」)
- [3️⃣ 一个任务本身就需要多个流程协同完成](#3️⃣ 一个任务本身就需要多个流程协同完成)
- Skill商店
- 参考文档
为什么在MCP后又提出了Skill
MCP 解决了"如何连接工具",但没有解决"如何把事做好"。
MCP(Model Context Protocol)的核心价值在于标准化智能体与外部工具、资源之间的通信方式。通过统一协议,智能体可以以一致的方式访问数据库、文件系统、代码仓库或协作平台,避免为每个系统单独编写和维护适配器。这使得"工具可达性"问题得到了工程层面的解决。
但在实际使用中,当任务从一次性查询升级为复杂分析与多轮决策时,MCP 的局限开始显现。
一方面是上下文爆炸问题。为了支持灵活调用,MCP 服务器往往会暴露大量工具,其完整 Schema 在会话初期就被加载进模型上下文,占用大量 token。随着对话轮数增加,这种"工具即上下文"的模式会迅速推高成本,并对模型推理质量产生负面影响。
另一方面是更根本的能力鸿沟问题。MCP 让智能体"能够访问"数据库、文件系统或内部服务,但并不意味着它"知道如何使用"。是否理解业务指标的含义、如何拆解抽象问题、怎样组合多次查询形成结论,这些都属于领域知识和方法论,而不在 MCP 的职责范围内。它更像是为智能体打开了系统权限,却没有提供操作指南和最佳实践。
正是在这一背景下,Anthropic 在 MCP 之后提出了 Agent Skills 。Skill 的目标并不是再提供一种连接机制,而是补齐 MCP 缺失的那一层:把"如何做事"的经验、流程和领域认知显式化、结构化,并按需加载给模型。
可以说,MCP 解决的是 "工具能不能用" ,而 Agent Skills 关注的是 "工具该怎么用、什么时候用、用到什么程度"。两者并非竞争关系,而是分别位于智能体架构中的不同层级:一个负责能力接入,一个负责能力使用。
那么,Agent Skills 究竟是什么?它与 MCP 的边界如何划分?在实际工程中,两者应当如何协同?下面将展开讨论。

什么是 Agent Skills?
2025 年 10 月中旬,Anthropic 正式发布 Claude Skills。两个月后,Agent Skills 作为开放标准被进一步发布,意在引导一个新的 AI Agent 开发生态。
那么究竟什么是Skills呢?一个比较理性且直白定义是:
Agent Skills 是一个由 Anthropic 牵头维护的 开放标准,通过定义特定任务执行规范,能便捷地将个人经验转化为技能,快速构建轻量级的智能体。
该标准目前已得到 Anthropic/OpenAI/Google/Microsoft/Cursor 等多家行业领军公司的支持,迅速成为各大主流 AI 工具的标配。
根据标准定义,每个 Skill 都是一个规范化命名的文件夹,其中组合了 Markdown 文档、可执行脚本和其他类型素材文件。

为了更好的理解,你可以把 Skills 理解为"通用 Agent 的扩展包",Agent 可通过加载不同的 Skills 包,来具备不同的专业知识、工具使用能力,稳定完成特定任务。

如果说 MCP 为智能体提供了「手」来操作工具,那么 Skills 就提供了「操作手册」或「SOP(标准作业程序)」,教导智能体如何正确使用这些工具。
这种设计理念源于一个简单但深刻的洞察:连接性(Connectivity)与能力(Capability)应该分离。MCP 专注于前者,Skills 专注于后者。这种职责分离带来了清晰的架构优势:
MCP 的职责
提供标准化的访问接口,让智能体能够 "够得着" 外部世界的数据和工具
Skills 的职责
提供领域专业知识,告诉智能体在特定场景下 "如何组合使用这些工具"
用一个类比来理解:
MCP 像是 USB 接口或驱动程序 ,它定义了设备如何连接;
Skills 像是软件应用程序,它定义了如何使用这些连接的设备来完成具体任务。
你可以拥有一个功能完善的打印机驱动(MCP),但如果没有告诉你如何在 Word 里设置页边距和双面打印(Skill),你仍然无法高效地完成打印任务。
以 Anthropic 官方 Skills 为例:
包含 PDF 合并、拆分、文本提取等代码脚本,
教会 Agent 如何处理 PDF 文件------提取文本、创建新的 PDF、合并或拆分文档。
🎨 Brand-guidelines
包含品牌设计规范、Logo 资源等。
当 Agent 设计网站或海报时,可参考 Skill 内的设计资源,
自动遵循企业设计规范。
🧠 Skill-Creator
将 创建 Skill 的方法本身 打包成一个 元 Skill 。
该 Skill 可以让 AI 发起 Skill 创建流程,
引导用户创建符合需求的高水准 Skill。
渐进式披露:破解上下文困境
Agent Skills 最核心的创新是渐进式披露(Progressive Disclosure)机制。这种机制将技能信息分为三个层次,智能体按需逐步加载,既确保必要时不遗漏细节,又避免一次性将过多内容塞入上下文窗口。

拿Claude的skills举例,就是:
✓ Claude 最初只看到 Skill 的名称和描述
✓ 仅当与当前任务相关时,才会加载完整内容
✓ 未被使用的 Skills 不会消耗对话中的 token
因此,Skills 带来的是一种全新的 AI Agent 协作模式,过去,我们需要在每次对话中提供背景知识和操作指南,现在,借助 Skills,我们可以将这些知识封装起来,给到 AI 使用。
下面详细介绍,Agent Skills 渐进式披露三层架构。
第一层:元数据(Metadata)
在 Skills 的设计中,每个技能都存放在一个独立的文件夹中,核心是一个名为 SKILL.md 的 Markdown 文件。
这个文件必须以 YAML 格式的 Frontmatter 开头,定义技能的基本信息。
当智能体启动时,它会扫描所有已安装的技能文件夹,仅读取每个 SKILL.md 的 Frontmatter 部分,将这些元数据加载到系统提示词中。
根据实测数据,每个技能的元数据仅消耗约 100 个 token 。即使你安装了 50 个技能 ,初始的上下文消耗也只有约 5,000 个 token。
这与 MCP 的工作方式形成了鲜明对比。
在典型的 MCP 实现中,当客户端连接到一个服务器时,通常会通过 tools/list 请求获取所有可用工具的完整 JSON Schema ,可能立即消耗 数万个 token。
第二层:技能主体(Instructions)
当智能体通过分析用户请求,判断某个技能与当前任务高度相关时,它会进入第二层加载。
此时,智能体会读取该技能的 完整 SKILL.md 文件内容,将详细的指令、注意事项、示例等加载到上下文中。
此时,智能体获得了完成任务所需的全部上下文:数据库结构、查询模式、注意事项等。
这部分内容的 token 消耗取决于指令的复杂度,通常在 1,000 到 5,000 个 token 之间。
第三层:附加资源(Scripts & References)
对于更复杂的技能,SKILL.md 可以引用同一文件夹下的其他文件:
脚本、配置文件、参考文档等。
智能体仅在需要时才加载这些资源。
例如,一个 PDF 处理技能的文件结构可能是:
text
skills/pdf-processing/
├── SKILL.md # 主技能文件
├── parse_pdf.py # PDF 解析脚本
├── forms.md # 表单填写指南(仅在填表任务时加载)
└── templates/ # PDF 模板文件
├── invoice.pdf
└── report.pdf
在 SKILL.md 中,可以这样引用附加资源:
- 当需要执行 PDF 解析时,智能体会运行
parse_pdf.py脚本 - 当遇到表单填写任务时,才会加载
forms.md了解详细步骤 - 模板文件只在需要生成特定格式文档时访问
这种设计有两个关键优势:
无限的知识容量
通过脚本和外部文件,技能可以"携带"远超上下文限制的知识。
例如,一个数据分析技能可以附带一个 1GB 的数据文件 和一个查询脚本,
智能体通过执行脚本来访问数据,而无需将整个数据集加载到上下文中。
确定性执行
复杂的计算、数据转换、格式解析等任务交给代码执行,
避免了 LLM 生成过程中的不确定性和幻觉问题。
社区开发者分享的实践案例充分证明了渐进式披露的威力。在一个真实场景中:
-
传统 MCP 方式 :
直接连接一个包含大量工具定义的 MCP 服务器,
初始加载消耗 16,000 个 token
-
Skills 包装后 :
创建一个简单的 Skill 作为"网关",
仅在 Frontmatter 中描述功能,
初始消耗仅 500 个 token
当智能体确定需要使用该技能时,才会加载详细指令并按需调用底层的 MCP 工具。
这种架构不仅大幅降低了初始成本,还使得对话过程中的上下文管理更加精准和高效。
所以可以说:
Skills 本质上不是在减少能力,而是在延迟加载能力。
Agent Skills vs MCP:本质区别与协作关系
现在,我们可以系统地比较这两种技术的本质区别了。

从工程视角理解差异
假设你要构建一个智能体来帮助团队进行代码审查,
MCP 的职责:
python
# MCP 提供对 GitHub 的标准化访问
github_mcp = MCPTool(
server_command=["npx", "-y", "@modelcontextprotocol/server-github"]
)
# MCP 暴露的工具(简化示例):
# - list_pull_requests(repo, state)
# - get_pull_request_details(pr_number)
# - list_pr_comments(pr_number)
# - create_pr_comment(pr_number, body)
# - get_file_content(repo, path, ref)
# - list_pr_files(pr_number)
MCP 让智能体 "能够" 访问 GitHub,能够调用这些 API。但它不知道 "应该" 做什么。
Skills 的职责:
yaml
---
name: code-review-workflow
description: 执行标准的代码审查流程,包括检查代码风格、安全问题、测试覆盖率等
---
markdown
# 代码审查工作流
## 审查清单
当执行代码审查时,按以下步骤进行:
1. **获取 PR 信息**
- 调用 `get_pull_request_details` 了解变更背景
2. **分析变更文件**
- 调用 `list_pr_files` 获取文件列表
3. **逐文件审查**
- 对于 `.py` 文件:
- 检查是否符合 PEP 8
- 是否有明显的性能问题
- 对于 `.js/.ts` 文件:
- 检查是否有未处理的 Promise
- 是否使用了废弃的 API
- 对于测试文件:
- 验证是否覆盖了新增的代码路径
4. **安全检查**
- 是否硬编码了敏感信息(密钥、密码)
- 是否有 SQL 注入或 XSS 风险
5. **提供反馈**
- 严重问题:使用 `create_pr_comment` 直接评论
- 建议改进:在总结中提出
## 公司特定规范
- 所有数据库查询必须使用参数化查询
- API 端点必须有权限验证装饰器
- 新功能必须附带单元测试(覆盖率 > 80%)
## 示例评论模板
**严重问题**:
⚠️ 安全风险:第 45 行直接拼接 SQL 字符串,存在注入风险。
建议改用参数化查询:
`cursor.execute("SELECT * FROM users WHERE id = ?", (user_id,))`
Skills 告诉智能体 "应该" 做什么 、如何组织审查流程 、需要关注哪些公司特定的规范 。它是 领域知识和最佳实践的容器。
上下文管理策略的本质差异

互补而非竞争:Skills + MCP 的混合架构
理解了两者的差异后,我们会发现:Skills 和 MCP 不是竞争关系,而是互补关系。
最佳实践是将两者结合,形成分层架构:

一个典型的工作流,用户提问:
"分析公司内部谁的话语权最高"
执行流程:
-
Skills 层识别这是一个数据分析任务,加载
mysql-employees-analysis技能 -
Skills 层根据技能指令,将任务分解为子步骤:
- 查询管理关系
- 薪资对比
- 任职时长分析
-
MCP 层执行具体的 SQL 查询并返回结果
-
Skills 层基于技能中的领域知识解读数据并生成综合分析
-
返回结构化的答案给用户
这种架构的优势是:
-
关注点分离:MCP 专注于"能力",Skills 专注于"智慧"
-
成本优化:渐进式加载大幅降低 token 消耗
-
可维护性:业务逻辑(Skills)与基础设施(MCP)解耦
-
复用性:同一个 MCP 服务器可以被多个 Skills 使用
如何创建和使用 Skills
一个 Skill 本质上是一个目录,至少包含一个 SKILL.md 文件:
text
skill-name/
└── SKILL.md # 必需
该文件至少包含元数据(名称与描述)以及指导 Agent 如何完成某一特定任务的指令。
你也可以选择性地包含以下目录来支持你的 Skill:
scripts/references/assets/
Skill 还可以打包脚本、模板和参考资料。
text
my-skill/
├── SKILL.md # 必需:指令 + 元数据
├── scripts/ # 可选:可执行代码
├── references/ # 可选:文档资料
└── assets/ # 可选:模板、资源文件
举个例子,这是 PPTX Skill 的文件目录:

整个文件夹就是一个完整的能力包,用来支持 AI 创建、编辑和分析 PowerPoint 演示文稿。
核心文件是 SKILL.md,包含技能的元数据和任务指导,告诉 agent:
- 什么时候使用这个技能
- 如何按步骤处理任务
特别的,独立子技能往往会被拆为子文档 (如教 AI 把 html 导出为 pptx 流程的 html2pptx.md),以避免一次性加载过长的 skill 文档,节省上下文窗口。
Scripts/ 包含 Agent 可用的各类预先写好的程序脚本 ,比如 html 转 pptx 的一键程序脚本。
这样 Agent 在运行任务时:
- 无需临时开发工具
- 可以直接调用现成脚本
- 节省 tokens
- 避免出错
- 提升执行速度
也有一些参考文档 (此项目打包得不算规范,但根据 SKILL.md,Agent 也能理解哪些文档可以参考),
比如:
ooxml.md:对 OOXML 格式文件的解析指南
整个 Skill 以简明的形式,把以下内容组合在一起:
- 技能指引文档
- 代码脚本
- 参考文档
- 可用资源
从而定向扩展了 Agent 在 pptx 生成相关任务上的工作能力。
接下来让我们深入了解 SKILL.md 文件的标准结构。
SKILL.md 规范详解
SKILL.md 文件必须由两部分组成:
- YAML Frontmatter
- Markdown 正文内容
Frontmatter(必需)
yaml
---
name: skill-name
description: A description of what this skill does and when to use it.
---
含可选字段的示例:
yaml
---
name: pdf-processing
description: Extract text and tables from PDF files, fill forms, merge documents.
license: Apache-2.0
metadata:
author: example-org
version: "1.0"
---
Frontmatter 字段说明
| 字段 | 必需 | 约束 |
|---|---|---|
| name | 是 | 最多 64 个字符,仅允许小写字母、数字和连字符,不得以连字符开头或结尾 |
| description | 是 | 最多 1024 个字符,不能为空,描述技能做什么以及何时使用 |
| license | 否 | 许可证名称或指向随附的许可证文件 |
| compatibility | 否 | 最多 500 个字符,说明运行环境要求 |
| metadata | 否 | 任意键值对,用于扩展元数据 |
| allowed-tools | 否 | 允许使用的工具白名单(空格分隔,实验性) |
name 字段是必需的,需满足以下条件:
- 长度为 1--64 个字符
- 仅允许 小写字母、数字和连字符(a-z, 0-9, -)
- 不能 以
-开头或结尾 - 不能 包含连续连字符(
--) - 必须与父目录名称一致
合法示例:
yaml
name: pdf-processing
name: data-analysis
name: code-review
非法示例:
yaml
name: PDF-Processing # 不允许大写字母
name: -pdf # 不能以连字符开头
name: pdf--processing # 不允许连续连字符
description 字段是必需的:
-
长度为 1--1024 个字符
-
应同时说明:
- 这个 Skill 做什么
- 什么时候应该使用
-
应包含有助于 Agent 匹配任务的关键词
好的示例:
yaml
description: Extracts text and tables from PDF files, fills PDF forms, and merges multiple PDFs. Use when working with PDF documents or when the user mentions PDFs, forms, or document extraction.
不好的示例:
yaml
description: Helps with PDFs.
license 字段:可选字段,用于指定 Skill 的许可证:
- 推荐保持简洁
- 可以是许可证名称,或指向随 Skill 提供的许可证文件
示例:
yaml
license: Proprietary. LICENSE.txt has complete terms
compatibility 字段:可选字段,用于说明特定运行环境要求:
-
如果提供,长度必须为 1--500 个字符
-
仅当 Skill 对环境有特殊要求时才应使用
-
可说明:
- 适用的产品
- 所需系统包
- 是否需要网络访问等
示例:
yaml
compatibility: Designed for Claude Code (or similar products)
compatibility: Requires git, docker, jq, and access to the internet
大多数 Skills 不需要此字段。
metadata 字段,可选字段:
- 一个从字符串到字符串的键值映射
- 客户端可用于存储规范未定义的附加信息
- 建议使用足够独特的键名以避免冲突
示例:
yaml
metadata:
author: example-org
version: "1.0"
allowed-tools 字段,可选字段:
- 以空格分隔的工具白名单
- 用于指定 Skill 允许调用的工具
- 实验性功能,不同 Agent 实现的支持程度可能不同
示例:
yaml
allowed-tools: Bash(git:*) Bash(jq:*) Read
正文内容(Body content)
Frontmatter 之后的 Markdown 正文包含技能指令:
- 没有格式限制
- 只要能有效帮助 Agent 完成任务即可
推荐包含的内容:
- 分步骤操作说明
- 输入 / 输出示例
- 常见边界情况
⚠️ 注意:
一旦 Agent 决定激活某个 Skill,整个 SKILL.md 文件都会被加载进上下文。对于较长内容,建议拆分到引用文件中。
可选目录:
scripts/
包含 Agent 可执行的代码脚本。脚本应:
- 自包含,或清晰说明依赖
- 提供有帮助的错误信息
- 能优雅处理边界情况
支持的语言取决于 Agent 实现,常见包括:
- Python
- Bash
- JavaScript
references/
包含 Agent 可按需读取的附加文档,例如:
REFERENCE.md:详细技术参考FORMS.md:表单模板或结构化数据格式- 领域专用文档(如
finance.md、legal.md)
建议保持每个参考文件聚焦且简短,以减少上下文消耗。
assets/
包含静态资源,例如:
- 模板(文档模板、配置模板)
- 图片(图表、示例)
- 数据文件(查找表、Schema)
渐进式披露(Progressive disclosure)
Skill 应按以下层次结构设计,以高效使用上下文:
- 元数据(~100 tokens)
启动时加载所有 Skill 的name和description - 指令(建议 < 5000 tokens)
Skill 被激活时加载完整SKILL.md - 资源(按需)
仅在需要时加载scripts/、references/、assets/中的文件
建议将主 SKILL.md 控制在 500 行以内,将详细资料拆分到独立文件。

文件引用(File references)
在 Skill 内引用其他文件时,使用相对于 Skill 根目录的路径:
markdown
See [the reference guide](references/REFERENCE.md) for details.
运行脚本示例:
text
scripts/extract.py
建议仅保持一层引用深度,避免复杂的嵌套引用链。
校验(Validation)
可使用 skills-ref 参考库来校验 Skill,链接:https://github.com/agentskills/agentskills/tree/main/skills-ref
bash
skills-ref validate ./my-skill
该命令会检查:
SKILL.md的 Frontmatter 是否合法- 是否遵循所有命名和格式规范
编写高质量 Skills 的原则
根据 Anthropic 官方文档和社区最佳实践,编写有效的 Skills 需要遵循以下原则:
1️⃣ 精准的 Description
description 是智能体决策的关键。它应该:
- 精确定义适用范围:避免模糊的描述,如"帮助处理数据"
- 包含触发关键词:让智能体能够匹配用户意图
- 说明独特价值:与其他技能区分开来
❌ 不好的 description:
yaml
description: 处理数据库查询
✅ 好的 description:
yaml
description: >
将中文业务问题转换为 SQL 查询并分析 MySQL employees 示例数据库。
适用于员工信息查询、薪资统计、部门分析、职位变动历史等场景。
当用户询问关于员工、薪资、部门的数据时使用此技能。
2️⃣ 模块化与单一职责
一个 Skill 应该专注于一个明确的领域或任务类型。
如果一个 Skill 试图做太多事情,会导致:
- Description 过于宽泛,匹配精度下降
- 指令内容过长,浪费上下文
- 难以维护和更新
建议:
与其创建一个"通用数据分析"技能,不如创建多个专门的技能:
mysql-employees-analysis:专门分析 employees 数据库sales-data-analysis:专门分析销售数据user-behavior-analysis:专门分析用户行为数据
3️⃣ 确定性优先原则
对于复杂的、需要精确执行的任务,
优先使用脚本,而不是依赖 LLM 生成结果。
例如,在数据导出场景中:与其让 LLM 生成 Excel 二进制内容(容易出错),不如编写一个专门的脚本来处理该任务,
SKILL.md 中只需要指导智能体 何时调用这个脚本 即可。
4️⃣ 渐进式披露策略
合理利用三层结构,将信息按重要性和使用频率分层:
- SKILL.md 主体:放置核心工作流、常用模式
- 附加文档(如
advanced.md):放置高级用法、边缘情况 - 数据文件:放置大型参考数据,通过脚本按需查询
零代码、自然语言,编写真·智能 Agent
Skills 的入门门槛极低,智能上限极高,以 Anthropic 的 brand-guidelines skill 为例,仅有一个 SKILL.md,纯自然语言写成。

- 元信息:什么时候用这个 Skill
- 正文:品牌颜色、字体等文本描述信息
简单但足以引导 Agent 变成符合 Anthropic 品牌设计的垂直 Agent,可用于品牌官网、海报、PPT 设计。
当你要设计一个符合 Anthropic 公司设计规范的 AI 搜索网站,Agent 就会自动运行该 Skill。

Skill 有两种加载模式:显式 / 隐式。前者通过 user query 直接指定调用;后者根据任务与元信息描述的相关性,LLM
自动匹配。
这是该 skill agent 一次性开发的网站,调性接近 Claude 官网设计:


复杂的,以 AI-Partner Skill 为例,一个 Skill 就是一个复杂 Agent,包含 SKILL 文档、向量数据库构建指南、向量数据库使用脚本、AI 伴侣与用户的 Persona 模板资源:

SKILL.md 本体依然由自然语言写成:

借此,Agent 就能理解 AI-Partner 的初始化与对话方法,引导用户上传包含个人记忆的文档预料,在用户端智能切分笔记片段,构建向量数据:

解析用户记忆文档,提炼个性化的 AI 伴侣与用户画像设定:

最终智能检索用户记忆,提供懂用户的 AI Partner 对话体验:

这能基本验证:单靠 Skill + Agent 所构造的垂直 Agent,所实现的智能效果,无异甚至可超过同类 AI 产品。
而做这些垂直 Agent,都不用编写程序代码。
非技术出身的领域专家,离自己做专业 Agent 只剩隔着一层窗户纸------把你的专业经验和工作流程,用文档形式写清楚,Agent 就能照着执行。
行业动态与生态演进
虽然 Agent Skills 最初由 Anthropic 提出,但其背后的设计理念正在逐步影响整个智能体生态,而不再局限于单一厂商。
在 Anthropic 体系中,Skills 已经成为一等公民:
- Claude Desktop / Claude Code 原生支持 Skills
- 提供官方 SDK 与开发工具
- 维护官方 Skills 仓库,形成可复用的能力集合
在 Claude 的设计中,Skills 被明确定位为「Agent 的知识与工作流层」,而不是简单的 prompt 模板。
尽管 OpenAI 尚未正式采用 "Skills" 这一术语,但在 2025 年 3 月 的一系列更新中,ChatGPT 实际上引入了多项高度相似的机制:
- 增强版 Custom Instructions:支持更复杂的多步骤指令
- Memory 与 Context Profiles:允许保存和复用特定领域的长期知识
- GPTs 的"知识库"能力:可以附加文档、脚本,并在需要时加载
从架构角度看,这些功能本质上都是对 Skills 理念的不同实现形式:即,将"领域知识 + 工作流程"从模型本体中剥离,变成可组合、可复用的能力单元。
在 Google 的 Gemini / Vertex AI 体系中,也出现了高度相似的设计思路。
Google 引入了 "Grounding with Functions" ,允许开发者定义所谓的 Function Packages,每个包通常包含:
- 函数定义(类似 MCP 中的 tools)
- 使用指南(类似 Skills 的 instructions)
- 示例(examples)
这种设计在本质上,与 Skills + MCP 的混合架构 高度一致:能力接口 + 使用语义 + 示例知识 被打包为一个整体能力单元。
综合不同厂商的实现路径可以发现 Skills 与 MCP 并不是偶然出现的概念,而是智能体系统复杂化后的必然分层结果。
随着 Agent 能力不断增强,以下三层正在自然分离:
应用层(Application Layer)
↓
Agent Skills
↓
领域知识、工作流、最佳实践
传输层(Transport Layer)
↓
MCP
↓
标准化接口、工具调用、资源访问
基础设施层(Infrastructure Layer)
↓
数据库 / API / 文件系统 / 外部服务
这一演进路径,与传统软件架构的发展几乎完全一致:
从单体 → 分层 → 服务化
只是这一次,在 AI Agent 领域重新上演了一遍
随着智能体技术逐渐走向工程化和规模化,以下趋势正在显现。
未来很可能出现一种 统一的智能体能力描述协议,融合 MCP 的连接能力与 Skills 的知识表达能力。
一个假想的统一协议示例如下:
yaml
apiVersion: agent.io/v1
kind: Capability
metadata:
name: enterprise-data-analysis
spec:
transport:
protocol: mcp
server: database-mcp-server
tools: [query, schema]
knowledge:
type: skill
workflow: data-analysis-workflow.md
examples: examples/
这种协议不再区分"工具"和"技能",而是把它们视为同一能力的不同维度。
类似于 NPM、PyPI,未来极有可能出现 Agent 能力的包管理系统:
bash
agent-cli install @anthropic/frontend-design-skill
agent-cli install @google/data-analysis-suite
agent-cli install @openai/code-review-assistant
开发者可以:
- 发布 Skills
- 共享 MCP Server
- 甚至售卖高质量的领域能力包
从而形成真正的 Agent 能力生态系统。
更进一步,智能体本身可能演化出 自动发现与学习新能力的机制:
python
agent = SelfEvolvingAgent()
# 智能体在执行任务时发现能力缺口
response = agent.run("生成 3D 建模文件")
# [内部日志]
# 检测到未知任务类型:3D 建模
# 搜索技能库...发现 "blender-3d-modeling" skill
# 请求用户授权安装...已授权
# 技能安装完成,重新执行任务
此时,Skill 不再只是"人写给 Agent 的说明书",而成为 Agent 自我进化的能力模块。
当然,任何能力扩展体系都会伴随新的风险,我们同样需要保持警惕。
- 安全性挑战
- Skills 可能包含可执行脚本,存在代码注入风险
- MCP Server 可能暴露敏感数据接口
- 第三方 Skills 的可信度难以验证
- 上下文污染
- 随着 Skills 数量增加,即使只加载元数据,也可能占用大量上下文
- 需要更智能的技能索引、筛选和检索机制
- 碎片化风险
- MCP 正在推进标准化
- Skills 的格式和规范尚未统一
- 不同厂商可能推出 不兼容的 Skills 体系

怎么使用 Skills?
那具体怎么使用 Skills 呢?其实在很多 AI IDE 中都可以使用了,比如 Claude Code、OpenCode。
引用一泽大佬的一段话:
Claude Code 是 Anthropic 推出的 coding 工具 ❌
Claude Code 是 Anthropic 自己都没想到的通用 Agent 框架 ✅
CC 能做的事情远不止 AI Coding:
它能代替我们操作电脑,包括搜索网页、操作浏览器、访问文件,以及使用电脑底层命令、运行 python 脚本等行为。
这里以 Claude Code 为例,使用只需要以下几步:
如果你从未安装过 Claude Code ,请先打开你系统自带的 终端 / 命令行工具:
- macOS:终端(Terminal)
- Windows:命令提示符(CMD)或 PowerShell
- Linux:Terminal
遵循 Claude Code 官方安装指引(推荐原生安装方式):
👉 https://code.claude.com/docs/en/quickstart#native-install-recommended
如果你对命令行不熟悉,最简单、最不容易踩坑的方式 是:把官方安装指引 原文 交给任意一个 AI(例如 ChatGPT、Kimi),让它一步步带你操作。
你可以直接复制下面这段 Prompt 发给 AI 👇
Prompt 示例:
我是电脑小白,请参考以下官方安装说明,一步一步指导我在【Mac / Windows / Linux】终端中安装 Claude Code:
【此处粘贴 Claude Code 官方安装指引全文】
当我遇到不理解的地方或报错时,我会把终端日志发给你,请帮我分析并告诉我下一步怎么做。
AI 通常会像这样教你👇

安装完成后,在终端中输入:
bash
claude --version
如果能看到 版本号输出,说明 Claude Code 已成功安装 🎉
如果在安装时显示不受支持的国家,那么你可能需要一点儿魔法来帮助:
python
curl -fsSL -x http://127.0.0.1:7890 https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
或
curl -fsSL -x socks5h://127.0.0.1:1080 https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
如果你不想每次都写 -x:
python
CMD(当前窗口生效)
set HTTP_PROXY=http://127.0.0.1:7890
set HTTPS_PROXY=http://127.0.0.1:7890
正式使用 Claude Code 之前,建议在任意目录下创建一个空文件夹,比如叫 test,再在终端内切换到对应文件目录,然后在终端输入claude,就可以启动 CC 了,看到下图就是启动成功了:

在安装 Skill 之前,你需要先获取需要的 Skill 文件包,比如官方 Skills 仓库:https://github.com/anthropics/skills/tree/main,里面就有很多已经做好的 Skills。
你可以让 CC 替你自动安装 Skill,比如在 CC 中发送 安装 skill,skill 项目地址为:<skill 项目地址>

也可以手动下载 Skill,把文件包解压后,放在 skills 安装目录下,可以在当前项目文件夹的/.claude/skills/目录下,放入要安装的 skill 文件包:(如图为正确的项目 skills 路径配置)

也可以选择全局目录~/.claude/skills/(所有项目都能共享放在全局目录的 Skill):

完成安装后,记得重启 CC 👉 退出终端再打开就行,或者双击 ctrl+c 终止 CC 进程)
要使用 Skill 时,只要在装好后的 CC 中,发送开始使用<skill 名称>,

或者用户消息与 skill 元数据的描述匹配,

就能自动调用 Skills,执行任务。
如何制作并安装自己做好 skill ?
我们需要用到 Anthropic 官方的一个 skill:skill-creator
顾名思义,用来帮你自动开发 Skill 的 Skill,安装完成后,即可调用 skill-creator 自动创建需要的 skill。

CC 自动调用 skill-creator,编写 SKILL.md 与 pdf2word 脚本:

这种方式做出来的 skill,会默认是xx.skill格式,会与 zip 或文件夹格式略有区别。是 skill-creator 创建的 skill 压缩格式。
告诉 CC 指定 .skill 的文件地址,要求 cc 直接安装 skill 即可:

如果是文件夹或者 zip,那就按上文的介绍,手动解压放到对应 skills 目录即可。如果你需要精调 skill,或者想完全手写一个 skill?
更细节的 Skill 规格设计说明,请参考:https://agentskills.io/specification#skill-md-format
什么时候应该用 Skills?
很多人用 AI 的方式,其实还停留在「一次性对话」。
但一旦出现下面这些信号,就说明:这个任务,已经不该再靠重复解释来完成了。
1️⃣ 你发现自己在反复向 AI 解释同一件事
这是最典型、也最容易被忽略的信号。
为了完成一个任务,你在多轮对话中不断纠正、补充、重复说明规则,比如:
技术文档场景:
- "帮我写一份技术文档"
- "不对,我们公司的技术文档格式是这样的......"
- "还有,代码示例要按这个模板来......"
- "上次不是说了吗,章节标题要用三级标题......"
数据分析场景:
- "帮我分析这个数据"
- "先把 > XX 的异常值筛掉"
- "不对,应该用中位数,不是平均值"
- "图表要按我们公司文档的配色方案......"
如果你经常有这种体验,那么问题不在于 AI「不聪明」,而在于:
你在用对话,重复传递一套稳定规则。
这时候就应该意识到:
与其每次都解释一遍,不如把这些规则打包成一个 Skill,一次创建,长期复用。
2️⃣ 任务本身依赖「特定知识、模板或材料」
有些任务,AI 的通用能力其实已经够了,但效果始终不稳定,原因通常只有一个:
缺少场景专属的 Context。
典型场景包括:
- 技术文档写作
需要代码规范、术语表、固定文档模板 - 品牌 / 设计相关工作
需要品牌手册、配色规范、Logo 与视觉资产 - 数据分析 / 报表生成
需要指标定义、计算公式、历史报表模板
这些都是非常典型的模式:
通用 Agent + 垂直知识材料 = 可控、高质量输出
在 Skill 中,你可以把这些内容系统性地放进去,例如:
- 模板、规范、示例文档 →
assets/、reference/目录 - 关键规则、写作约定、分析口径 → 写入
SKILL.md
这样一来,Agent 每次执行任务时,都自带完整 Context,就不需要你在对话里零散补充。
3️⃣ 一个任务本身就需要多个流程协同完成
还有一类任务,本质上就不是「一步提示」能解决的。
例如:
- 竞品分析报告
数据检索 → 数据清洗 → 分析 → 生成 PPT - 内容生产任务
收集参考资料 → 学习风格 → 生成大纲 → 正文写作
在真实工作环境中,这类任务非常常见。
对于这种情况,更合理的做法是:
- 把每个环节的 指令文档、可执行脚本、参考材料、可用资源
- 组织成 一个或多个 Skill 模块
再让 Agent 根据任务目标进行:
规划(Plan) → 执行(Act) → 观察(Observe) → 调整(Iterate)
通过多 Skill 的组合调用,一次性完成原本需要多个流程、多人协作的复杂任务。
Skill商店
推荐使用 Vercel 出品的 skills.sh 排行榜,可以直观查看当前最受欢迎的 Skills 仓库和单个 Skill 的使用情况。

还可以辅助使用 skillsmp 商店,该商店中自动抓取了 Github 上的所有的 Skills 项目,并按照分类、更新时间、Star 数量等标签进行了整理。

其他特色 Agent Skills 商店还有:
- context7:基于 Context7 的 Skill 商店
- skillstore.io:对 Skill 进行了安全审计的中文商店
- agentskills.me:提供了云端 Skill 运行环境的商店
- skills.rest:提供 Skill 分析和安全审查的商店
Agent Skills 作为一套基于文件系统的跨平台标准,可以灵活地被嵌入到各种产品中使用。
目前越来越多的编程工具和对话工具已经开始支持 Agent Skills 标准,相信后续还会有更多形式的使用方式出现。
要在编程工具中安装 Agent Skills,只需要将 Skill 文件夹放入对应的路径即可。
建议使用 Vercel 官方出品的 npx skills add <owner/repo> 命令行工具快速发现和添加 skill,具体参数详见 npmjs/skills。
| 工具 | 项目路径 | 全局路径 | 官方文档 |
|---|---|---|---|
| Amp | .agents/skills/ |
~/.config/agents/skills/ |
Amp Skills |
| Antigravity | .agent/skills/ |
~/.gemini/antigravity/skills/ |
Antigravity Skills |
| Claude Code | .claude/skills/ |
~/.claude/skills/ |
Claude Code Skills |
| Codex | .codex/skills/ |
~/.codex/skills/ |
Codex Skills |
| Cursor | .cursor/skills/ |
~/.cursor/skills/ |
Cursor Skills |
| CodeBuddy | .codebuddy/skills/ |
~/.codebuddy/skills/ |
Codebuddy Skills |
| Droid/Factory | .factory/skills/ |
~/.factory/skills/ |
Factory Droid Skills |
| Gemini CLI | .gemini/skills/ |
~/.gemini/skills/ |
Gemini CLI Skills |
| Goose | .goose/skills/ |
~/.config/goose/skills/ |
Goose Skills |
| Kilo Code | .kilocode/skills/ |
~/.kilocode/skills/ |
Kilo Skills |
| Kimi CLI | .kimi/skills/ |
~/.kimi/skills |
Kimi CLI Skills |
| OpenCode | .opencode/skills/ |
~/.config/opencode/skills/ |
OpenCode Skills |
| Qwen Code | .qwen/skills/ |
~/.qwen/skills/ |
Qwen Code Skills |
| Roo Code | .roo/skills/ |
~/.roo/skills/ |
Roo Code Skills |
| Trae | .trae/skills/ |
--- | Trae Skills |
| VS Code | .github/skills/ |
~/.copilot/skills/ |
VS Code Skills |
| Windsurf | .windsurf/skills/ |
~/.codeium/windsurf/skills/ |
Windsurf Skills |
随着 Agent Skills 标准的普及,越来越多的对话式 AI 工具也开始支持 Skill 的安装和使用。
用户可以通过添加 Skill 来扩展助手/智能体的能力,实现更复杂的任务处理流程。
- Coze/扣子: Coze 2.0 新增技能功能使用说明
- Cherry Studio:在 Cherry Studio 中通过 Agent 使用 Skill 最佳实践
官方项目
- anthropics/skills:Anthropic 出品的 Skills 集合
- better-auth/skills:Better Auth 出品的认证工具 Skills 集合
- black-forest-labs/skills:Black Forest Labs 出品的操控 FLUX 模型的 Skills 集合
- expo/skills:Expo 出品的 React Native Skills 集合
- huggingface/skills:HuggingFace 出品使用 Skill 训练大模型
- kepano/obsidian-skills:Obsidian CEO 出品增强 Obsidian 功能的 Skills 集合
- langgenius/dify:Dify 出品的多功能 Skills 集合
- microsoft/agent-skills:Microsoft 出品用于 Azure 服务的 Agent Skills 集合
- remotion-dev/skills:Remotion 出品的使用 Remotion 创建视频内容
- google-labs-code/stitch-skills:Google Labs 出品的 Stitch Skills 集合
- stripe/ai: Stripe 出品的金融支付相关 Skills 集合
- sanity-io/agent-toolkit:Sanity 出品的内容管理平台 Skills 集合
- supabase/agent-skills:Supabase 出品的 PostgreSQL 最佳实践
- vercel-labs/agent-skills:Vercel 出品的 React/Next Skills 集合