2026 年 8 月,Anthropic 把内部沉淀的 Agent Skills 技能库以开放标准形式开源,官方仓库(anthropics/skills)上线一天即收获约 16.8 万颗星,成为今年 AI 基础设施仓库里增速最快的项目之一。它的核心思想只有一句话:一个技能 = 一个文件夹 + 一份 SKILL.md,写一次,就能在 Claude Code、Cursor、Codex、Gemini CLI、VS Code Copilot、OpenCode 等 40+ 客户端里复用。如果说 MCP 解决了「Agent 如何连工具」的问题,Agent Skills 解决的是「Agent 该怎么做这件事」的问题。本教程带你手写第一个符合开放标准的技能,并装进你的客户端。
先搞懂:Agent Skills 和 MCP、插件有什么区别?
很多人会把 Agent Skills 和 MCP 搞混,其实它们是互补的两层:
| 标准 | 回答的问题 | 典型形态 |
|---|---|---|
| MCP(模型上下文协议) | Agent 的手:连哪些工具、读哪些数据 | 服务器 + 工具定义 |
| Agent Skills(技能标准) | Agent 的脑内流程:该按什么步骤做事 | 文件夹 + SKILL.md 指令 |
| Agent Plugins(1.0.0) | 技能的打包分发:一份包多端运行 | 符合规范的插件包 |
传统做法里,团队的流程知识散落在三处:人的脑子里(每次重新口述)、越来越长的全局指令文件里(每轮请求全量加载)、各家工具各自的配置格式里(换工具就要重写)。Agent Skills 用「渐进式披露」一次解决:启动时只读技能的名称和描述(约 100 token),任务命中时才加载完整指令,执行中按需读参考文件——装 30 个技能,上下文只付其中 2 个的成本。
注意区分:本站《Agent Plugins 1.0.0》讲的是跨厂商的插件打包分发标准,与本文的 SKILL.md 技能格式是不同层面,可互为补充。
Step 1:认识 SKILL.md 的最小结构
一个技能是这样一个目录(只有 SKILL.md 是必需的):
release-checklist/ ← 技能名(小写字母/数字/连字符)
├── SKILL.md ← 必需:元数据 + 指令
├── scripts/ ← 可选:可执行代码(Python/Bash/JS)
├── references/ ← 可选:按需加载的参考文档
└── assets/ ← 可选:模板、图片、数据文件
Step 2:写 frontmatter——名称与描述
SKILL.md 顶部是 YAML frontmatter,用 --- 包裹。必填字段只有两个:
---
name: release-checklist
description: 执行发布前的验证清单。在打 release 标签或用户说要
发布上线时使用。需要 git 和 docker 环境。
---
规则要点:name 只能是小写字母、数字、连字符,最长 64 字符,且必须与文件夹名一致;description 最长 1024 字符,要同时说明「做什么」和「什么时候用」——因为它是 Agent 决定是否加载这个技能的唯一依据。另有四个可选字段:license、compatibility(环境要求)、metadata(自定义键值)、实验性的 allowed-tools(预授权工具)。
Step 3:写正文指令——告诉 Agent 怎么做
正文没有格式限制,官方推荐写成分步指令 + 输入输出示例 + 边界情况。以发布检查清单为例:
# 发布前检查
按以下顺序执行,任何一项失败就停止并报告:
1. 检查 git 工作区是否干净:git status
2. 运行完整测试:pytest(失败则修复后重跑)
3. 核对 CHANGELOG 是否包含本次变更
4. 检查 docker 镜像构建是否通过
5. 全部通过后,输出一行总结,并提示可以打 tag
## 边界情况
- 如果第 2 步有 flaky 测试,重跑一次确认
- 不要执行 git push,只负责检查
Step 4:装进你的客户端
Agent Skills 已被主流编码客户端广泛支持,装法大同小异:
1. 把技能文件夹放进客户端的技能目录:
- Claude Code:项目下 .claude/skills/ 或全局 ~/.claude/skills/
- Cursor:.cursor/skills/
- Codex CLI:~/.codex/skills/
- 其他客户端按各自文档放置
2. 重启或刷新客户端
3. 在对话里说「按发布检查清单走一遍」,
Agent 会命中 description 并加载完整指令执行
Step 5:团队共享——让同事用同一版本
技能本质就是 Markdown 文件夹,直接提交进代码仓库即可团队共享。想锁定版本,可用技能安装 CLI:
npx @skills-hub-ai/cli install release-checklist
# 会写入 .skills.json 锁文件,
# 保证团队所有成员的技能在同一版本
Step 6:进阶——渐进式披露与跨模型兼容
技能加载分三个阶段,这也是「装几十个技能不爆上下文」的秘诀:
| 阶段 | 发生时机 | 加载内容 |
|---|---|---|
| Discovery 发现 | 会话启动 | 所有技能的名称 + 描述(约 100 token/个) |
| Activation 激活 | 任务命中描述 | 完整 SKILL.md 正文进入上下文 |
| Execution 执行 | 运行过程中 | 按需读 references/、运行 scripts/ |
跨模型兼容方面,规范提供了校验层(skills-ref),确保技能在不同 Claude 模型乃至其他 LLM 后端上都能工作。实测数据显示:基于技能的多步工作流,任务完成率比「一坨大提示词」高 23%~47%。
常见问题速查
| 你遇到的问题 | 原因 & 解决 |
|---|---|
| Agent 从不加载我的技能 | description 没写清楚「什么时候用」,改为描述触发场景 |
| 技能名与文件夹不一致 | name 必须与文件夹名完全一致(含大小写与连字符) |
| 换客户端后技能失效 | 检查该客户端是否支持 Agent Skills,放入对应技能目录 |
| 技能太长导致上下文爆掉 | 正文精简到 500 行内,细节拆到 references/ 按需加载 |