Skills 应该是近期 AI 圈最热的概念之一。从视频动画 Skills、浏览器自动化 Skills、AI 协作 Skills,到 n8n Skills、Obsidian Skills,俨然有种"万物皆可 Skills"的态势。
本文将从 Agent Skills 概念拆解、支持 Skills 的工具、Skills 的安装和使用、实用 Skills 和资源库、Skills 的制作与最佳实践、Skills 对比 Workflow/MCP/SubAgent、Skills 的局限与应对、Skills 的优质博客这八个部分,用大白话讲清楚 Skills 到底是什么、怎么用,以及目前大家对 Skills 的一些误解。
一、Agent Skills 概念拆解
Skills 爆火后被误解最多的观点:Skills 不就是 Prompt 吗?
实际并非如此。要弄清楚 Skills 和 Prompt 的区别,就需要从两者的概念和机制出发。
Prompt 大家应该都比较熟悉了,就是提示词。不论系统提示词还是用户提示词,它们通常都是静态的文本,会一次性加载到上下文。
Skills 全称是 Agent Skills,以文件夹形式组织而成,包括一个 skill.md 文件和可选资源(如脚本或模板)。Agent 可以动态发现,然后按区分阶段加载这些文件内容到上下文。
核心区别:
- Prompt 是静态的文本,而 Skills 是包含 Prompt 在内的文件夹
- Prompt 是一次性加载到上下文的,而 Skills 是动态按需分阶段加载到上下文的
Skills 的结构:三层架构
Skills 的设计架构决定了它是如何动态按需加载到上下文的。每个 Skill 包括:
1. 元数据层(Front Matter Metadata)
这是 Skill 能被 Agent 发现的关键,通常包含 name 和 description 两个字段:
- Name:Skill 的名称,只能使用小写字母、数字和连字符,和文件夹名称匹配
- Description:描述这个 Skill 的功能以及触发时机,比如"在处理 PDF 文件或用户提及 PDF 时使用"
Agent 在启动时会先加载 Skills 的元数据层。比如你安装了十个 Skills,Agent 在启动时就会加载十个 Skills 对应的元数据层。由于每个 Skill 的元数据层很简短(50-100 tokens),所以占用的上下文空间很小,这是 Skills 对比 MCP 更省 token 的重要原因之一。
2. 指令层(Markdown Instructions)
指令层主要包含具体的执行逻辑,这部分内容只有在 Skill 被激活后才会被加载到上下文。指令层的内容一般包括三个部分:
- 触发条件确认:再次明确 Skill 的适用边界
- 确定性的操作步骤:例如"第一步读取 URL,第二步翻译内容"
- 示例:向模型展示预期的行为模式,这是提高 Skill 执行可靠性的关键手段
对比元数据层,指令层包含的上下文会更长,一般在 5000 tokens 以内,具体视任务指令长度而定。
3. 资源层(可选)
最简单的 Skill 就是只包括 skill.md 文件的。比如 "front-end-design" Skill 就是这种单文件 Skill,在形态上很像 Prompt,也是大家误解的最主要原因。
实际上,更复杂的 Skill 目录是包括脚本、模板等资源文件的。比如 "ui-ux-pro-max" Skill,它在定位能力上都和 "front-end-design" 非常相似,但它在 skill.md 文件外,还包括爬虫搜索脚本和 CSV 设计库。
当 Agent 读取到 skill.md 的指令层引用了这些文件时,就会通过 bash 读取文件。但不同的是:
- bash 读取 CSV 文件时,CSV 的完整内容会加载到上下文窗口
- 运行 Python 脚本时,bash 只是运行脚本并接收输出,脚本代码本身不会进入上下文
这也是 Skills 省 token 的另一个重要原因。
分层加载原理:像读书一样阅读 Skills
Skills 的加载机制特别像我们平时看一本书:
- 先看目录 → 对应元数据层
- 根据目录翻到对应的章节 → 对应指令层
- 如果这个章节有引用,根据引用跳转其他书籍或资料 → 对应资源层
具体流程:
- Agent 启动时,所有 Skills 的名称与描述(元数据层)都会加载进上下文
- 用户输入指令,Agent 判断用户意图与哪个 Skills 的元数据层更匹配
- 匹配成功就会加载对应的完整
skill.md文档(指令层) - 如果指令层中包含脚本和参考文档等资源,Agent 会根据任务需要选择加载这些文件(资源层)
历史背景:Skills 是由 Anthropic 在 2025 年 10 月提出,两个月后 Anthropic 就正式宣布将它发布为开放标准。如今,越来越多工具包括 Cursor、Codex、Antigravity 等都加入了对 Skills 的支持行列。
二、支持 Skills 的工具
目前原生支持 Skills 的工具大致可以分为三类:
第一类:主流 IDE 和 CLI 工具
以 Cursor、Claude Code 为代表,这也是目前最多的一类。这类工具在 Skills 的安装和使用流程上大差不差,区别主要在于 Skills 的安装路径。
第二类:云端运行 Skills 的 Agent 工具
以 Claude 网页版和 Coze(扣子)为代表。
第三类:通过开源项目支持
如果你平时常用的工具暂时不支持 Skills,可以借助 Open Skills 这个开源项目来使用。
三、Skills 的安装和使用
安装 Skills 的五种常见方法
方法一:通过插件市场安装
适合 Claude Code 和 Coze。以 Claude Code 为例:
- 添加官方 Plugin Marketplace:在 Claude Code 输入
/,选择 marketplace → add marketplace - 输入
anthropics/claude-plugin-official - 在 marketplace 中选择想要的 Skill 安装
安装范围有三种:
- 用户范围:对全部项目生效
- 项目范围:仅对当前项目生效
- 本地范围:较少使用
方法二:手动安装
适合各种 IDE 和 CLI。以 Cursor 为例:
- 项目范围安装:在项目根目录新建
.claude文件夹,再创建skills文件夹 - 将 Skill 文件夹复制到该目录下
下载小技巧:如果只想下载某个 Skill 文件夹而非整个项目,可以借助 DownGit 工具,输入文件夹链接即可获取 zip 压缩包。
方法三:通过第三方工具安装
使用 Vercel 官方出品的 add-skill 项目,支持:
- 指定 Skill 安装的 AI 编程工具(几乎支持目前所有常见的 AI 编程工具)
- 指定 Skills 生效范围(全局或项目)
- 指定具体仓库或仓库内的具体 Skill 进行安装
方法四:让 AI 帮忙安装
适合大部分工具。建议提示词中附上 Skill 的项目地址。
方法五:上传 Skill 文件包安装
目前只适合 Claude 和扣子编程,将打包好的 Skill 文件上传到对应工具即可。
Skills 的使用方式
虽然 Skills 的安装方法很多,但使用方法其实就两种:
1. Agent 自动加载
Skills 被设计为按需自动加载。以 "front-end-design" Skill 为例,当指令涉及前端 UI 时,AI 就会进行意图判断并自动加载相关的 Skills。
2. 用户手动加载
如果 Agent 有时候不按配置的 Skills 执行,可以采用以下方案:
- 通过 Hook 强制调用 Skills:最早由 Scott Spence 提出,通过测试框架跑了 200 多次测试,把激活成功率从 20% 提升到了 80%-84%
- 手动加载:在提示词中注明要调用 Skill 的名称,如"用 front-end-design skill 生成一个简洁的博客网站"
不同工具的快捷命令:
- Claude Code / Cursor:通过
/快捷命令指定 Skills - Codex:通过
$快捷命令指定 Skills - 扣子:通过
@快速选中要调用的 Skills
四、实用 Skills 和资源
九个实用的 Skills
- front-end-design skill:解决 AI 老出紫色渐变 UI 的问题
- ui-ux-pro-max skill:与 front-end-design 能力类似的热门 Skill
- super-power skill:解决 AI 原生 plan mode 以及 test 工具在头脑风暴环节提问不够细致精准的问题
- planning-with-files skill:基于 Minus 的上下文工程原理,通过将文件系统作为 AI 的外部工作记忆,解决上下文窗口限制和目标漂移问题
- ralph-loop:Anthropic 官方 Skills 之一,通过 stop hook 机制拦截 Claude 的退出尝试,实现循环执行同一任务
- notebook-lm skill:让 Claude Code 等支持 Skills 的 AI 工具实现 NotebookLM 的能力,用于 AI 写作及高质量 RAG 知识库场景
- obsidian skill:Obsidian 官方开发的三个 Skills,支持 Obsidian 风格 Markdown、Canvas 无限画布等
- react-best-practices skill:Vercel 官方发布,相当于雇佣了一个 10 年经验的 React 开发者
- agent-browser:Vercel 官方发布的轻量级浏览器自动化 Skill,处理复杂任务更快更省 token
六个高质量的 Skills 资源库
- Claude Code 官方 Skills 库:质量最高的官方资源
- Awesome Claude Skills:GitHub Awesome 系列,收录高星 Skills 仓库
- skills.mp:收录近 10 万个开源 Skills,支持 AI 语义搜索和关键字筛选
- skill.sh:Vercel 整合的官方 Skills 网站,提供安装排行榜(总榜和 24 小时榜)
- claude-scientific-skills:垂直领域的科学研究 Skills,涵盖生物学、化学、医学、物理学和工程等
- 宝玉 Skills 库:个人开发者的 Skills 仓库,包含文章智能插图、封面图片生成、漫画创作、公众号发布等日常工作流
五、Skills 的制作
目前 Skills 的制作大致可以分为两类:
- 本地制作:以 Claude Code 为代表,借助 skill-creator Skill,工具使用有一定门槛
- 云端制作:以 Coze 为代表,全程用自然语言对话在云端制作,工具使用门槛较低
制作流程(以 Claude Code 为例)
以"英文博客翻译 Skill"为例,场景是:获取博客内容并保存为英文版 Markdown → 翻译为中文 → 审阅润色 → 输出中文最终版。
步骤一:安装 skill-creator Skill
用前面介绍的安装方法完成安装。
步骤二:梳理需求并形成提示词
提示词主要包括四个部分:
- Skill 的用途
- Skill 的输出要求(尽可能详细,如 Markdown 文件的命名格式、保存位置)
- Skill 的触发时机
- Skill 的所需资源(非必须)
步骤三:用 skill-creator 创建新 Skill
输入提示词后,Claude Code 会自动调用 skill-creator Skill 帮你创建 Skill。
步骤四:测试 Skill
测试通常关注两个问题:
- 是否稳定触发:验证 Skill 的触发条件是否能在预期场景中稳定触发
- 是否稳定执行:检查处理流程是否有跳过或遗漏,最终输出是否符合要求
Skills 制作最佳实践
根据 Anthropic 官方分享的最佳实践:
- 资源层位置:应保持在 skill.md 的一级目录,避免太深读取不到
- 大文件处理:对于超过 100 行的资源层文件,建议在顶部添加目录
- 双 Agent 开发:使用 Agent A 创建 Skills,在 Agent B 中测试,将观察到的问题反馈给 Agent A 进行迭代优化
什么任务值得做成 Skills?
根据对 skill.sh 安装排行榜 Top 100 的 Skill 分析,目前大家安装较多的 Skills 类型分布如下:
第一类:高频处理 + 有可复用流程的任务
目标明确、执行步骤固定、可通过标准化流程或脚本反复高效完成的任务,例如:代码审查、自动化测试、CI/CD 构建、SEO 审计等。
第二类:强模板化产出的任务
产出物的格式和风格有固定要求,核心在于将内容高效适配到预设模板中,例如:社媒配图、PPT 制作、品牌设计、报告/周报等。
第三类:多模块多流程组合的任务
本身比较复杂,需要串联或并联多个独立模块或子流程来完成,例如:社媒文章发布(收集资料 + 选题分析 + 学习文风 + 正文写作 + 配图智能插入等)。
简单判断标准:这是一次性任务还是需要反复做的任务?如果只是一次性任务,没必要做成 Skill;如果需要反复做,建议按"先跑通流程 → 再固化为 Skill → 最后在实战中不断打磨"的流程走。
六、Skills 对比 Workflow/MCP/SubAgent
Skills vs Workflow
说到 Workflow,大家第一反应应该是 Coze、Dify、n8n 这类工作流编排工具。既然都能编排工作流,它俩的差别在哪里?
| 对比维度 | Workflow | Skills |
|---|---|---|
| 确定性 | 高度确定性,按节点顺序推进 | 按需自动加载,更灵活 |
| 模块化 | 不同 Workflow 之间无法组合 | 不同 Skills 可以组合使用 |
| 分发 | 锁定平台,无法跨平台分享 | 标准格式,可快速安装到任何支持 Skills 的工具 |
选择建议:如果追求极致的稳定、可控、可追溯(如金融、医疗、法律行业),适合 Workflow;如果面对输入条件多变、需要智能判断的任务,或者工作流需要跨平台分享复用,Skills 会是更好的选择。
Skills vs MCP
MCP(Model Context Protocol)是为了标准化 AI 模型与外部系统(如数据源、工具)的连接方式而诞生的。它的核心是引入一个中间层接口,减少自定义集成的工作量。
MCP 的问题:非常占上下文空间。因为每个 MCP 连接到 AI 时,会把所有 Tools 的定义、名称、描述、参数、示例一次性塞进上下文。一个 Tool 定义大概几百个 tokens,一个 MCP 通常有 10-20 个工具,当连接的 MCP 数量一多,整个上下文空间就会被挤掉。
Skills 的解决:采用渐进式披露的信息加载方式,一定程度上解决了 MCP 占用上下文空间的问题。
但要注意:Skills 只是解决了 MCP 很占上下文空间这个问题,而不是解决了 MCP 原本要解决的问题,因为两者一开始要解决的问题就不是一回事:
- MCP 解决的是 Agent 数据访问的痛点(如从外部源拉取信息)
- Skills 解决的是 Agent 任务执行的痛点(如教 Agent 新技能)
选择建议:如果要让 Agent 连接外部数据,用 MCP;如果要向 Agent 解释怎么处理这些数据,用 Skills。
Skills vs SubAgent
这两个都比较好区分,都可以用来处理特定工作流程,区别在于谁在做决策以及上下文如何管理:
区别一:谁在做决策
- SubAgent:子 Agent 有独立的上下文窗口、自定义系统提示和特定工具权限,接收主 Agent 的目标后负责局部决策
- Skills:被动的脚本和指令,负责任务执行,每个 Agent 在执行任务时可以调用自己专属的 Skills 来完成具体操作
区别二:上下文如何管理
- Skills 加载到主 Agent:按需分层加载,但会增加主对话的上下文负担
- SubAgent + Skills 组合:每个 SubAgent 都有独立的上下文窗口,可以在后台处理海量繁琐信息,只给主 Agent 返回精简结果,保护主对话的上下文空间
选择建议:如果任务是线性的、步骤明确的,或多个 Agent 需要相同的专业知识,或希望主 Agent 对每一个细节都有更好掌控,优先选择 Skills;如果任务是探索性的、极其复杂的,或单次任务涉及的数据量超过了主模型的上下文限制,优先选择 SubAgents。
七、Skills 的局限与应对
局限一:使用门槛高
三道门槛:
- 工具门槛:除了 Coze,其他能运行 Skills 的工具都是 IDE 或 CLI,安装门槛高
- 环境配置门槛:各种依赖和配置环境缺失带来的运行报错
- 管理和维护门槛:Skills 本身没法跟随仓库更新,管理和更新维护成为问题
应对策略:
- 如果任务不需要在本地处理,可在 Coze 中使用 Skills
- 向 AI 提问解决安装和配置环境问题
- 优先选择 Claude Code 插件市场这种支持按需更新的安装方法
局限二:安全漏洞
Skills 的开放性允许从各种来源获取和集成,但这也引入了潜在的安全风险。Skills 的资源层通常包含脚本文件,如果安装了恶意 Skills,可能在本地引入漏洞、滥用权限或执行非预期操作。
应对策略:只用可信来源
- 你自己/你的公司或团队内部写的 Skills
- Anthropic、Vercel、Obsidian 等知名官方发布的 Skills
- 知名开发者在 GitHub 开源的项目(GitHub stars > 500,有其他人 review 过,作者有其他知名项目)
局限三:低可观测性
不同于 Workflow 在过程中每一步都可以观测结果,大部分 Skills 在执行复杂任务时往往缺乏透明度,导致调试困难。
应对策略:创建可验证的中间输出
以英文博客翻译 Skill 为例,在英文 Markdown 到最终版译文之间,可以把中间输出的直译版本和润色版本也都保存成本地文件,这样可以看到每一步的输出,方便调试和定位问题。
八、Skills 的优质博客
这里收录的博客以外文为主,同时附上了中文译文,目前已经收录五篇,后续会持续更新。
(具体博客列表请参考蓝皮书文档)
结语
Skills 确实强大,但也存在一些局限。如果不加以应对这些问题,反而可能会导致效率低下、安全风险或维护成本上升。
最后留给大家一个开放性话题:想想你工作中最痛苦的那个重复任务是什么,也许它就值得被做成一个 Skill。
本文内容整理自:哔哩哔哩《Agent Skills 蓝皮书》视频
← 返回博客首页