Agent Skills 从入门到精通 —— 从概念到实战,打造你的第一个 AI 技能包
Agent Skills(智能体技能)是 Anthropic 于 2025 年 10 月推出、同年 12 月作为开放标准发布在 agentskills.io 的一项技术。截至 2026 年,它已被 30+ 工具平台采用,社区注册表超过 70,000 个 Skills。本文将带你从零开始,一步步掌握 Skills 的核心概念与实战编写技巧。
一、什么是 Agent Skill?
用一个比喻来开场:
Agent Skill = AI 的”入职手册 + 工具箱”
假设你新招了一位非常聪明的实习生(AI Agent)。他很聪明,但对你公司的流程、规范、工具链一无所知。每次你都要口头交代一遍:”先这样,再那样,注意 XXX,别忘了 YYY”——这就是 Prompt。
MCP 相当于给这个实习生配了工卡和钥匙——让他能进数据库、调 API、读文件。但他依然不知道该怎么做。
Skill 是什么?是你给他写的一份入职手册。手册里说清楚了:
- 遇到什么场景该做什么(触发条件)
- 具体怎么做,分几步(工作流程)
- 有哪些注意事项(最佳实践)
- 工具箱里有什么脚本可以用(可执行资源)
更棒的是——这份手册写完一次,就能在任何支持 Skills 的 AI 工具中复用(Claude Code、Cursor、VS Code、GitHub Copilot 等 30+ 平台)。
核心设计:渐进式披露(Progressive Disclosure)
Skills 最精妙的设计在于分层加载,极致节省 AI 的上下文窗口(也就是你的 token 费用):
graph TB
subgraph "L1 发现层 - 启动时自动加载"
A["name + description<br/>~100 tokens/Skill"]
end
subgraph "L2 激活层 - 任务匹配时加载"
B["SKILL.md 正文<br/>建议 <5000 tokens"]
end
subgraph "L3 穿透层 - 执行时按需加载"
C["scripts/ + references/<br/>理论上无上限"]
end
A -->|"description 匹配用户意图"| B
B -->|"指令中引用时才读取"| C
style A fill:#e1f5fe,stroke:#0288d1
style B fill:#fff3e0,stroke:#f57c00
style C fill:#e8f5e9,stroke:#388e3c这意味着:即使你安装了 50 个 Skills,AI 启动时也只多花 ~5000 tokens(50 × 100),相当于一段简短对话的开销。
二、Skill vs Function Call vs MCP:三者的关系
这是一个经常被问到的问题。我们通过一个厨房做饭的比喻来理解:
| 概念 | 比喻 | 定位 | 一句话 |
|---|---|---|---|
| Function Call | 切菜、开火、倒油(单个动作) | 模型调用单个原子操作 | “执行这个函数” |
| MCP | 厨房(提供食材、锅具、炉灶) | AI 连接外部系统的协议 | “连上那个数据库” |
| Skill | 菜谱(教你一步步做出成品菜) | 可复用的任务流程 + 规范 | “教你按这个流程做” |
用一张表看清区别
| 维度 | Function Call | MCP | Agent Skill |
|---|---|---|---|
| 解决的问题 | 单次函数调用 | “能不能连上” | “怎么做” |
| 形态 | API 定义(JSON Schema) | 需运行 MCP Server | 静态文件夹(Markdown + 脚本) |
| 跨工具复用 | ❌ 厂商锁定 | ✅ 标准协议 | ✅ 开放标准 |
| Token 开销 | 每次调用都在上下文 | 启动时全量加载(可达 26K+ tokens) | 启动时 ~100 tokens,按需加载 |
| 包含工作流 | ❌ | ❌ | ✅ |
| 运维成本 | 低 | 高(需开发/部署 Server) | 极低(就是 Markdown 文件) |
三者如何协同工作?
最佳实践是三层协同:
graph LR
A["🎯 Skill<br/>(怎么做事——流程+规范)"] --> B["🔧 MCP Tools<br/>(原子操作——连外部系统)"]
B --> C["🖥 MCP Server<br/>(后端系统+安全管控)"]
style A fill:#ffccbc,stroke:#e64a19
style B fill:#b3e5fc,stroke:#01579b
style C fill:#c8e6c9,stroke:#2e7d32一个真实例子——“生成周报”任务:
- MCP:连接 Jira(拉取本周任务)、连接 Git(拉取提交记录)
- Skill:定义了周报模板格式、需要汇总的维度、发送时机、发送对象
- Function Call:底层调用
jira.search_issues()、git.log()等具体操作
简单来说:MCP 负责”连接数据”,Skill 负责”处理数据”,Function Call 负责”执行操作”。
三、深入理解:为什么 Skills 在 2025-2026 年爆发?
1. 解决真实痛点:告别”每次重写 Prompt”
在此之前,AI 协作最大的痛点是什么?每次开新对话,你都要把上下文重新说一遍。
有了 Skill,你的流程规范、代码风格偏好、最佳实践被固化为文件,AI 每次对话都能自动加载。
2. 极度省 Token(渐进式披露的威力)
对比一下:
- 一个 GitHub MCP Server 启动时占用 ~26,000 tokens
- 一个 Skill 启动时只占 ~100 tokens
- 50 个 Skills = 5,000 tokens ≈ 一个 MCP Server 的 1/5
3. 简单到离谱
Skill = 一个 SKILL.md 文件 + 可选的脚本和模板。不需要:
- ❌ 部署服务端
- ❌ 维护协议
- ❌ 写 JSON Schema
- ✅ 只需要写 Markdown 和一点点 YAML
4. 开放标准,一次构建多端复用
2025 年 12 月 18 日作为开放标准发布在 agentskills.io,目前已被 Claude Code、OpenAI Codex、Cursor、VS Code、Gemini CLI、GitHub Copilot、JetBrains 等 30+ 平台支持。
四、Skill 的文件结构与规范
最小有效 Skill
一个 Skill 最少只需要一个文件:
1 | my-skill/ |
完整结构
1 | skill-name/ |
SKILL.md 内部结构详解
1 |
|
关键字段约束
| 字段 | 必需 | 约束 |
|---|---|---|
name | ✅ | ≤64字符,小写字母+数字+连字符,不能首尾连字符 |
description | ✅ | ≤1024字符,必须包含触发条件 |
license | 否 | SPDX 标识符(如 Apache-2.0, MIT) |
compatibility | 否 | ≤500字符,如 "requires: git, python>=3.10" |
allowed-tools | 否 | 预批准的工具,如 "Bash(git:*) Read" |
description 怎么写?(最重要的技巧)
核心原则:description 要描述”什么时候触发”,而不是”做什么”。
1 | # ✅ 好的 description —— 聚焦触发条件 |
五、从入门到精通:手把手写三个 Skill
入门篇:一个”自动生成 Git 提交信息”的 Skill
这是我们写的第一个 Skill。场景:每次 git commit 前,让 AI 根据 diff 自动生成规范的提交信息。
文件结构:
1 | git-commit-helper/ |
SKILL.md 内容:
1 |
|
这个小 Skill 虽然简单,却解决了一个日常高频痛点——每次提交都要想怎么写 message。
进阶篇:一个带脚本的”API 文档生成器” Skill
这个 Skill 引入了 scripts/ 和 references/,展示渐进式披露的威力。
文件结构:
1 | api-doc-generator/ |
SKILL.md:
1 |
|
这个脚本会:
- 扫描所有
.py文件 - 提取
@app.get(),@app.post()等装饰器 - 提取函数签名和 docstring
- 输出 JSON 格式的路由列表
第三步:生成文档
根据 references/doc-template.md 中的模板,为每个端点生成:
- 请求方法 + 路径
- 请求参数表格
- 响应示例
- 错误码说明
注意事项
- 首次使用前确保 Python 环境有
ast模块(标准库自带) - 如果路由使用了装饰器工厂模式,可能需要手动补充
scripts/parse_routes.py(部分):
1 | #!/usr/bin/env python3 |
references/doc-template.md(按需加载):
1 | # API 文档模板 |
这个 Skill 的关键设计点:
scripts/parse_routes.py只在需要解析路由时才被调用(L3 穿透层)references/doc-template.md只在生成文档时才被读取- AI 启动时只知道这个 Skill 能做什么(L1),具体怎么做在触发后才加载(L2)
精通篇:一个完整的”代码审查” Skill
这个 Skill 引入更复杂的工作流、更多条件分支,并展示了如何与 MCP 协同工作。
1 | code-review-bot/ |
SKILL.md:
1 |
|
审查报告格式
读取 references/review-template.md,生成如下格式的报告:
1 | # Code Review Report |
references/security-checklist.md(按需加载,内容精简):
1 | # 安全检查清单 |
六、Skill 编写的黄金法则
经过上面三个示例,我们来总结编写高质量 Skill 的核心原则:
法则 1:description 决定一切
AI 靠 description 来判断是否激活你的 Skill。写 description 时问自己:
“当用户说什么话时,应该触发这个 Skill?”
把所有可能的触发词都列上去。
法则 2:L1 精简,L2 聚焦,L3 详尽
| 层级 | 写入内容 | 原则 |
|---|---|---|
| L1(YAML 元数据) | name + description | 能准确匹配即可,不要写流程 |
| L2(SKILL.md 正文) | 工作流程 + 核心指令 | 控制在 ~3000 tokens 内 |
| L3(scripts/references) | 脚本、模板、参考文档 | 放所有”看了才能执行”的细节 |
法则 3:脚本要”哑”但可靠
Skill 中的脚本不应该包含业务逻辑(那是 AI 的活),而应该提供 AI 无法直接完成的能力:
- 解析复杂文件格式(AST 解析、PDF 提取)
- 执行需要精确性的操作(数学计算、日期处理)
- 与系统交互(文件操作、进程管理)
法则 4:利用 allowed-tools 减少中断
在 YAML 中预声明 Skill 需要使用的工具,减少用户手动批准:
1 | allowed-tools: "Bash(git:*,python:*) Read Grep Glob" |
法则 5:测试后再发布
1 | # 验证工具 |
七、常见问题(FAQ)
Q1: Skills 和 MCP 是不是竞争关系?
不是,它们是互补的分层架构。
- MCP 解决”连接”问题(能不能访问数据库、API、文件系统)
- Skill 解决”流程”问题(怎么用这些数据完成任务)
一个类比:MCP 是高速公路(连接城市),Skill 是导航地图(告诉你走哪条路、在哪下高速、到目的地后怎么办)。
Q2: 一个 Skill 可以调用另一个 Skill 吗?
可以。Claude Code 支持 Skills 之间的协作。例如 code-review-bot 可以引用 git-commit-helper 的工作流。
Q3: 我应该把 Skill 放在哪里?
项目级(推荐):
1 | 项目根目录/.claude/skills/my-skill/SKILL.md |
全局级:
1 | ~/.claude/skills/my-skill/SKILL.md |
Q4: Skill 的安全性如何保障?
allowed-tools字段限制 Skill 可用的工具compatibility字段声明环境要求- 用户始终可以拒绝 Skill 发起的操作
- 2026 年社区已有
skills-validator等工具进行安全审计
Q5: 怎么写好一个”大众且通俗易懂”的 Skill?
- 面向场景,不面向功能:不是”这是一个 PDF 工具”,而是”当用户想把网页转成 PDF 时用这个”
- 含完整示例:在 Skill 正文中给出输入 → 输出示例
- 考虑错误路径:告诉 AI “如果遇到 X 情况,就做 Y”
- 用中文写提示词(如果你的用户是中文用户):AI 能理解多种语言
八、展望:Skills 生态的未来
2025-2026 年 Skills 的爆发不是偶然。这背后反映了一个趋势:
1 | Prompt 工程 → Skill 工程 → Agent 工程 |
未来,Skills 可能会:
- 出现技能市场(类似 VS Code 插件市场)
- 自动组合(AI 根据任务自动编排多个 Skills 协同工作)
- 动态优化(根据使用反馈自动调整 Skill 内容)
- 企业级治理(组织统一管理哪些 Skills 可用、需要什么权限)
九、总结
本文从概念到实战,完整覆盖了 Agent Skills 的方方面面:
- Skill 是什么:一个包含
SKILL.md的文件夹,是 AI 的”入职手册 + 工具箱” - 与其他概念的区别:MCP 负责连接,Skill 负责流程,Function Call 负责执行
- 核心设计:渐进式披露(三层加载),极致省 token
- 实战示例:从简单的 git-commit-helper 到复杂的 code-review-bot
- 编写法则:description 决定触发、L1-L3 各司其职、脚本提供 AI 无法直接完成的能力
现在,打开你的编辑器,创建一个 SKILL.md,把你最常重复交代给 AI 的那套流程写进去。这就是你的第一个 Skill。
参考资料
- Agent Skills 官方规范
- Anthropic 官方博客:Equipping agents for the real world with Agent Skills
- Claude Code Skills 文档
- 官方示例仓库
- Skills 验证工具
- Skills 与 Prompts、MCP、Subagents 的区别
- 阿里云开发者:Agent Skills 的一次工程实践