📖 Skill 是什么:Agent 的「操作手册」
把指令、脚本、模板打包成可复用能力,Agent 能自动发现、按需加载、渐进式读取。
📚 本文目录
为什么需要 Skill?从「重复贴 prompt」说起
😩 痛点:每次重贴指令
每次让 AI 做代码审查,都要贴一大段指令——检查哪些问题、用什么格式、重点看安全。
第二次、第三次就开始烦,漏个细节输出就不稳定。
团队更糟:10 个人审查,每人贴的 prompt 都不一样,标准没法统一。
📦 Skill 的解法
把反复用的指令、流程、模板打包成标准化模块,Agent 自己知道什么时候该用、怎么用,不再靠你手动复制粘贴。
就像把「工作 SOP」固化下来,团队所有人用同一份。
Skill 的结构:一个文件夹
📁 核心 = SKILL.md
Skill 说白了是一个文件夹,最核心是一份 SKILL.md 指令文件,可选带辅助资源。
名字就是 Skill 的标识,比如 code-review/。
🧩 可选资源
• scripts/:可执行脚本
• references/:参考文档
• assets/:模板资源
想多丰富都行,按需放。
SKILL.md 分两部分:
顶部是 YAML frontmatter(元数据):声明 name 和一句话 description。
下面是 Markdown 正文:写具体的指令和步骤(分几步、每步查什么、用什么模板输出)。
和普通 prompt 的区别:普通 prompt 是一段文字、用完就没了;Skill 是完整文件夹,可维护、可版本管理,团队所有人用的是同一份。
渐进式加载:最聪明的设计
💰 为什么不能全量加载
假设 20 个 Skill、每个平均 2000 token,全加载就是 4 万 token。
常见上下文窗口 20 万,光 Skill 就吃掉 1/5,还得留给系统提示、对话历史、用户文件。
更糟的是大部分 Skill 这次任务根本用不上,白加载。
📊 context window 是命根子
渐进式加载的本质 = 让 Agent 只在需要的时候获取需要的知识。
避免有用信息被淹没,注意力被分散,输出质量下降。
和 Tool / Prompt / Slash Command 的区别
Tool / MCP
提供能力
查库/调API/读写文件
让 Agent「能动手」
Skill
提供知识+流程
按什么步骤/标准做
让 Agent「会动手」
| 概念 | 本质 | 区别 |
|---|---|---|
| Tool / MCP | 外部能力(查库/API/文件) | 提供「能做啥」 |
| Skill | 指令+脚本+模板模块 | 提供「按啥流程做」 |
| Prompt | 一次性的临时指令 | 用完就没了 |
| Slash Command | 保存的指令 | 必须手动触发 |
| Skill(自动发现) | 可复用能力包 | Agent 自动判断并加载 |
从 Anthropic 走向开放标准
🚀 2025-10 推出
Agent Skills 由 Anthropic 在 2025 年 10 月推出,覆盖 Claude Code、Claude API、claude.ai 三个入口。
🌐 2025-12 开放标准
两个月后把规范作为开放标准发布,任何 Agent 平台都能按格式实现。
因为设计够简单(文件夹+Markdown),不依赖特殊运行时,有希望成为跨平台通用约定。
你写一份 Skill,未来可在不同平台复用,像 USB 接口一样不被某家绑死。
Skill 是把指令、脚本、模板打包成可复用能力模块的机制(核心是 SKILL.md),靠渐进式加载只取所需、不浪费 context window。Tool/MCP 提供能力让 Agent 能动手,Skill 提供知识流程让 Agent 会动手;Prompt 是一次性的,Skill 是持久可复用的,Slash Command 要手动触发而 Skill 能自动发现。
Agent Skill 是把指令、脚本、模板一体化打包成可复用能力包的机制。核心是一个文件夹,里面有一份 SKILL.md 指令文件,可以带上脚本、模板、参考文档。关键在于三件事:Agent 能自动发现它、按需加载它、需要时调用里面的脚本和资源。它不是存 prompt,而是一份 Agent 能自己翻阅的操作手册加工具箱。
就是把所有 Skill 全量塞进上下文会吃掉宝贵的 context window,所以分三层:第一层启动时只加载每个 Skill 的 name 和 description,大概 30 到 50 token,像翻简历;第二层任务相关时才加载完整 SKILL.md 正文;第三层执行中用到脚本、模板时才去读。这就像入职手册,先扫目录,真报销时才翻开报销流程那章。
Tool 或者 MCP 提供的是外部能力,让 Agent 能动手——查库、调 API、读写文件;Skill 提供的是知识和流程,让 Agent 会动手——按什么步骤、什么标准、什么格式完成一个工作流,两者是互补的。Prompt 是一次性的临时指令,用完就没了;Skill 是持久化可复用的。Slash Command 也要手动触发,而 Skill 可以被 Agent 自动发现,看到任务自己判断该用哪个。