Skill 是给 AI 智能体扩展专业能力的一种开放格式:一个 Skill 就是一个文件夹,核心是里面的 SKILL.md 文件——用 YAML 元数据加上 Markdown 指令,说清"做什么、什么时候用、怎么做"。它最初由 Anthropic 提出,2025 年 12 月作为开放标准发布,目前 Cursor、VS Code、GitHub Copilot、Claude Code、Gemini CLI 等一批智能体产品都已支持,目前处于大火的状态。 Skill是什么
按官方规范站点 agentskills.io 的定义,Agent Skills 是一种"轻量、开放的格式",用来给 AI agent 扩展专业知识和流程。落到文件层面,一句话概括:Skill 是一个包含 SKILL.md 的文件夹,这个文件里既有元数据,也有告诉 agent 如何完成某项具体任务的指令,还可以顺手带上脚本、参考资料和模板。
它要解决的问题不难理解。现在的 agent 能力已经很强,但常常缺"在具体场景里该怎么做"的上下文。Skill 的解法是把这类流程知识打包成可移植、可版本管理的文件夹,让 agent 按需加载。官方列了三条价值:沉淀领域专业知识(法务审查流程、数据分析管道、演示文稿排版规范这类)、把多步任务变成一致且可审计的工作流、写一次就能在任何兼容 Skill 的 agent 里复用。
Anthropic 在官方工程博客里给过一个很好懂的比喻:给 agent 做 Skill,就像给新员工写一份入职指南。不是为每个场景单独造一个 agent,而是把"这件事我们是怎么做的"沉淀下来,让通用 agent 一键变成懂行的专用助手。
划清三条边界,避免和常见概念混淆:
- 和微调不同:Skill 不动模型权重,它是运行时装进上下文的一套流程与工具,可以随时卸载或替换。
- 和提示词不同:提示词是当场说、用完就散的一次性指令;Skill 是存在文件夹里、可复用、能被自动识别加载的知识包,还能带可执行脚本。
- 和 MCP 不同:MCP 解决的是"接上外部工具和数据"的连接问题,Skill 解决的是"这件事该按什么流程做"的知识问题。两者互补,通常一起用。
一个Skill文件夹里有什么
按官方规范,Skill 的目录结构长这样:
SKILL.md 由两部分组成:顶部是 YAML frontmatter(元数据),后面是 Markdown 正文(指令)。字段一共六个,只有两个是必需的:
| | |
|---|
| | 最长 64 字符;只能用小写字母、数字和连字符;不能以连字符开头或结尾;必须与所在目录名一致 |
| | 最长 1024 字符,不能为空;要同时说清"做什么"和"什么时候用" |
| | |
| | 最长 500 字符;写明环境要求,如目标产品、系统依赖、网络访问 |
| | |
| | 空格分隔的预授权工具列表,属实验性字段,各实现的支持程度不一致 |
最小可用版本就这么几行(官方模板内容与此基本一致,只多一句"在下面写指令"):
正文部分没有格式限制,官方建议包含分步指令、输入输出示例、常见边界情况。真正决定 Skill 能不能被正确触发的是 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.
差别就在后者没交代"什么时候用",也没塞进能被命中的关键词。description 不是写给人看的简介,是写给 agent 看的匹配条件。这一点想通了,Skill 的写法就通了一大半。
Skill的三级加载机制怎么运作
Skill 的核心设计叫渐进式披露(progressive disclosure),规范把加载分成三级:
| | | |
|---|
| | | |
| | | |
| scripts/、references/、assets/ 里的文件 | | |
规范里还有两条硬建议:主 SKILL.md 控制在 500 行以内,详细的参考材料拆到单独文件里。理由是 agent 会把整个 SKILL.md 读进上下文,写太长就白占额度。
这套设计的好处很直接——agent 可以同时挂载很多 Skill,常驻上下文却只占很小一块。Anthropic 的比喻是像一本组织良好的手册:先看目录,再翻具体章节,最后才查详细附录。
执行阶段的动作也在这条链上:agent 按 SKILL.md 的指令干活,可以运行 scripts/ 里带的脚本,也可以加载被引用的文件。所以 Skill 不只是"文档",它是"文档 + 可执行代码"的组合。
另外规范提供了校验工具,官方参考库叫 skills-ref,命令是 skills-ref validate ./my-skill,用来检查 frontmatter 是否合法、命名是否符合约定。
怎么创建和安装一个Skill
创建 Skill 不需要写代码,手写文件就够:
- 新建一个目录,目录名就是 Skill 的 name,比如 pdf-processing;
- 在目录里创建 SKILL.md,开头写 YAML frontmatter,name 和 description 两个字段必填;
- 把 description 写透——"做什么"和"什么时候用"都要有,并塞进触发关键词,它是 agent 判断要不要激活的唯一依据;
- 正文写分步指令,控制在 500 行以内,超出的参考材料拆到 references/;
- 需要脚本放 scripts/,模板和图片放 assets/;
- 装进支持 Skill 的客户端实测,观察它是否在正确的时机被激活。
安装方面,如果用的是 Claude Code,可以把官方仓库注册成插件市场:执行 /plugin marketplace add anthropics/skills,然后按提示安装 document-skills 或 example-skills 其中一组。Claude.ai 上官方示例技能已对付费方案开放,自定义技能也支持上传。其他兼容客户端的技能目录约定各不相同,以对应产品的文档为准。 官方仓库 anthropics/skills 目前有 19 个示例技能,覆盖创意设计、开发技术、企业沟通和文档处理,其中包括驱动 Claude 文档能力的 docx、pdf、pptx、xlsx,以及 mcp-builder、skill-creator、canvas-design、webapp-testing 等。截至目前,该仓库星标数超过 17.6 万。授权上有个区别要留意:多数技能是 Apache 2.0 开源,但 docx、pdf、pptx、xlsx 这四个属于 source-available(源码可见、非开源)。
使用Skill的注意事项
- description 写不好,Skill 等于没装:agent 在启动时只能看到 name 和 description。写成"Helps with PDFs."这种笼统表述,它就不会在正确的时机被激活,写了也白写。
- 别把长文档塞进 SKILL.md:正文建议不超过 5000 tokens、主文件控制在 500 行以内,超出的部分拆到 references/,让 agent 用到再读。
- 文件引用别套太深:官方建议从 SKILL.md 出发只做一层引用,避免层层跳转把上下文吃光。
- allowed-tools 是实验性字段:它只是一份"预授权工具清单",各客户端支持程度不一致,不要把它当作安全边界。
- 装第三方 Skill 前先把 scripts/ 读一遍:技能目录里可以带可执行脚本,这些代码会在你的环境里被 agent 调用。来源不明的 Skill 不要直接装。
- 官方示例不等于能直接上生产:仓库 README 明确写了这些技能"仅用于演示与教学目的",实际行为和展示可能不同,用在关键任务前必须自己完整测一遍。
- 跨产品可用,但行为不一定一致:符合规范的 Skill 能在多个客户端加载,但各实现支持的脚本语言、工具权限范围不同,换一个客户端就要重新验证。
Skill常见问题
Q:Skill 和微调模型是一回事吗?
A:不是。Skill 不改模型权重,它是运行时装进上下文的一套流程知识与脚本,随时可以卸载或替换。
Q:Skill 和提示词有什么区别?
A:提示词是当场说、用完就散的一次性指令;Skill 是存在文件夹里、可复用、能被自动识别加载的知识包,还能带脚本和参考文档。
Q:Skill 和 MCP 是什么关系?
A:MCP 解决"接上外部工具和数据",Skill 解决"这件事按什么流程做",两者互补,实践中经常一起用。
Q:SKILL.md 里哪些字段必填?
A:只有 name 和 description 是必需的;license、compatibility、metadata、allowed-tools 都属于可选字段。
Q:name 字段有什么限制?
A:最长 64 字符,只能用小写字母、数字和连字符,不能以连字符开头或结尾,也不能出现连续连字符,且必须与所在目录名一致。
Q:description 写多长合适?
A:上限 1024 字符。官方要求同时说清"做什么"和"什么时候用",并带上能帮 agent 识别相关任务的具体关键词。
Q:Skill 会一直占着上下文吗?
A:不会。启动时只加载约 100 tokens 的元数据,正文在任务命中时才读入,参考文件更是用到才读。
Q:哪里能装到现成的 Skill?
A:官方仓库 anthropics/skills 提供 19 个示例技能;用 Claude Code 的话可以执行 /plugin marketplace add anthropics/skills 把它注册成插件市场再按需安装。
Q:自己写的 Skill 能在不同产品之间通用吗?
A:规范是开放标准,已有大量智能体产品支持,但脚本语言和工具权限的支持程度因实现而异,换客户端要重新验证一遍。
规范和字段约束都可能随版本调整,动手前先对照 agentskills.io 上当期版本的规范确认一遍即可。想持续跟进 Skill是什么、这个开放标准被哪些产品采纳、以及新出现的实用技能,可以关注本站的 AI 工具栏目,有变化我们会同步更新。