Agent Skills 教程特色图,中央为一个发光的技能包文件夹图形,通过一条安装命令连接到多个 Agent,两侧标注必填字段与渐进式加载

Agent Skills 是什么?一条命令给你的 AI 装技能,附自制 Skill 教程

Agent Skills 是给 AI Agent 按需装技能的开放格式,一个带 SKILL.md 的文件夹就能在 Claude Code、Codex、Cursor 等多款 Agent 中通用。本文讲清结构与加载原理,演示一条命令安装,并手把手做一个通过官方校验的自制 Skill。

摘要: 本文讲清楚 Agent Skills(智能体技能)是什么、怎么用一条命令安装、怎么自己做一个。最重要的结论是:Skill 本质上就是一个带 SKILL.md 说明书的文件夹,同一份 Skill 可以在 Claude Code、Codex、Cursor、OpenClaw 等数十款 Agent 里通用,是目前把“重复的提示词”变成“可复用能力”成本最低的方法。它适合经常用 AI 编程工具或 AI 办公 Agent、又厌倦了每次重复交代规矩的人。建议现在就装一两个可信来源的 Skill 体验,同时务必养成“装之前先读一遍”的习惯。读完本文,你能看懂 Skill 的结构、用 npx skills 完成安装、写出一个通过官方校验的自制 Skill,并知道如何避开第三方 Skill 的安全坑。

配套项目源码:下载 GEO 文章体检示例 Skill(ZIP)。解压后阅读 README.md,并在本地填写环境变量。

核心结论

Agent Skills 是一种开放的文件格式,用来给 AI Agent 按需“装技能”,值得每个重度 Agent 用户学会。根据 agentskills.io 官方规范,一个 Skill 就是一个目录,至少包含一个 SKILL.md 文件,里面写着元数据和执行说明;Agent 只在任务需要时才加载完整内容。

  • 一次编写,多处通用:Agent Skills 格式最初由 Anthropic 开发,之后作为开放标准发布,已被多款 Agent 产品采用。阿里云栖大会官方发布的 Skill 就明确写着 Codex、OpenClaw、Claude Code、Cursor 等支持 Skills 的 Agent 都能用。
  • 一条命令安装:Vercel 开源的 skills CLI 可以用 npx skills add 仓库地址 从 GitHub、GitLab 或本地目录安装,并自动识别你电脑上装了哪些 Agent。
  • 自己做门槛极低:必填字段只有 name 和 description 两个,写好后用官方 skills-ref validate 校验即可。本文附带的示例 Skill 已通过校验并实际安装测试。
  • 不占上下文:官方规范的渐进式加载机制下,启动时每个 Skill 只加载约 100 token 的名称和描述,装十几个也不会拖慢对话。
  • 最大风险是来源:第三方安全研究发现公开市场中存在大量有缺陷甚至恶意的 Skill。Skill 以 Agent 的完整权限运行,安装前必须阅读内容。

背景与主要变化

Skill 出现之前,想让 AI 按你的规矩办事,只有两个办法:每次对话都重新粘贴一大段提示词,或者把所有规矩塞进一个“永远加载”的系统提示里。前者费时间,后者费上下文——你只是想让它改个错别字,它却要先读完你的整套代码规范。

Agent Skills 把这个问题拆开了:规矩按任务分装成独立的技能包,平时只露出一行简介,用到时才完整展开。 多家第三方技术媒体报道,该格式由 Anthropic 于 2025 年底以开放标准形式发布,规范托管在 agentskills.io(发布日期来自第三方报道,本文未在官方页面核验具体日期)。官方 GitHub 仓库说明,这个格式已被越来越多的 Agent 产品采用,并欢迎整个生态贡献。

国内的一个标志性信号出现在本月:2026 云栖大会期间,阿里技术官方账号发布了“云栖大会 Skill”,用户在自己常用的 Agent 里执行一条安装命令,就能用自然语言查论坛、订阅议程。这说明 Skill 已经从开发者圈子走向普通用户场景。

下表对比了几种“教 AI 做事”的方式,帮你理解 Skill 的定位:

方式 加载时机 能否带脚本和模板 能否跨 Agent 复用 适合放什么
每次粘贴提示词 手动 不能 能(靠复制) 一次性需求
常驻文件(AGENTS.md、CLAUDE.md 等) 每次会话都加载 有限 部分 项目通用规则、构建命令
Agent Skills 任务匹配时才加载 能(scripts、references、assets) 能(开放标准) 可复用的专项流程
MCP 服务器 连接后可调用 以工具接口形式提供 能(开放协议) 访问外部系统和数据

一句话区分 Skill 和 MCP:多篇第三方教程的概括是,MCP 让 Agent 能访问外部工具和数据,Skill 教 Agent 怎么用这些工具和数据。两者是互补关系,不是替代关系。

核心功能拆解

理解 Skill 只需要抓住两件事:目录结构决定一个 Skill 里能放什么,渐进式加载决定它为什么不占上下文。

Agent Skills 结构与渐进式加载示意图:左侧为 skill 目录结构(SKILL.md、scripts、references、assets),右侧为三层加载:启动加载元数据约100 token、激活加载 SKILL.md 正文、执行时按需加载资源文件
Skill 的目录结构与三层渐进式加载

目录结构:一个必需文件 + 三个可选目录

官方规范给出的标准结构如下:

skill-name/
├── SKILL.md          # 必需:元数据 + 执行说明
├── scripts/          # 可选:可执行代码(Python、Bash、JavaScript 等)
├── references/       # 可选:按需读取的参考文档
└── assets/           # 可选:模板、图片、数据文件

SKILL.md 由两部分组成:开头是 YAML 格式的元数据(frontmatter),后面是 Markdown 格式的执行说明。官方对正文格式没有限制,推荐写分步说明、输入输出示例和常见边界情况。

元数据字段:只有两个必填

根据官方规范,frontmatter 字段约束如下(官方已确认):

字段 是否必填 约束
name 必填 1–64 字符,只能用小写字母、数字和连字符;不能以连字符开头或结尾;不能有连续连字符;必须与所在目录名一致
description 必填 1–1024 字符,要同时写清“做什么”和“什么时候用”
license 可选 许可证名称或附带的许可文件
compatibility 可选 最多 500 字符,说明环境要求(如需要联网、需要某个系统包)
metadata 可选 任意字符串键值对,如作者、版本号
allowed-tools 可选(实验性) 预先批准可用的工具列表,各 Agent 支持程度不同

这里最容易踩的坑是 name:中文、大写字母、下划线都不允许,而且目录名必须和它完全一致。我们实测时故意把目录改名为 Bad_Skill,官方校验工具直接报错“目录名必须与 skill 名称一致”。

渐进式加载:为什么装很多也不卡

官方规范把加载分成三层:

  1. 元数据层(约 100 token):启动时加载所有 Skill 的 name 和 description,Agent 靠它判断哪个 Skill 和当前任务相关。
  2. 说明层(建议少于 5000 token):判定相关后,加载完整的 SKILL.md 正文。
  3. 资源层(按需):执行过程中真正用到时,才读取 scripts/、references/、assets/ 里的文件。

官方因此建议主 SKILL.md 控制在 500 行以内,详细资料拆到单独文件,并且引用层级只保留一层。这也解释了为什么 description 是整个 Skill 里最重要的一句话:它写得不清楚,Agent 就不知道什么时候该调用你的技能。

适用人群与使用场景

Skill 最适合“同一类事情做过三次以上,每次都要重复交代规矩”的人。判断标准很简单:如果你发现自己在不同对话里反复粘贴同一段提示词,这段提示词就该变成一个 Skill。

以下是几类典型人群的用法(实施建议,非官方数据):

  • 程序员:把团队的代码审查清单、提交信息规范、发版流程做成 Skill,放进项目目录随代码一起提交,新同事的 Agent 自动继承。可以在站内搜索 Claude Code 教程 了解主流编程 Agent 的用法。
  • 自媒体和内容创作者:把公众号排版规则、标题公式、口播稿结构、平台敏感词自查做成 Skill,每次写稿直接调用,风格保持一致。
  • 运营和办公人员:把周报格式、会议纪要模板、数据分析口径做成 Skill,在支持 Skills 的办公 Agent 中复用。
  • 站长和 SEO 从业者:把 GEO 检查规则做成 Skill,写完文章让 Agent 先自检一遍再发布——本文的示例 Skill 就是这个场景,站内也有 GEO 优化相关内容 可以配合阅读。
  • 团队负责人:把团队知识沉淀成一个 Skill 仓库,比写在飞书文档里更容易被 Agent 真正执行。

不太适合的情况:只是偶尔问 AI 几个问题的轻度用户,没必要折腾 Skill;需要实时调用外部系统(如查数据库、调企业接口)的需求,应该优先考虑 MCP 或官方连接器,Skill 只负责“怎么做”的知识部分。

安装、配置或使用步骤

下面分两部分:先用 skills CLI 安装现成的 Skill,再从零做一个自己的 Skill。所有命令都在本文写作时的模拟环境中实际运行过(Node.js v22、skills CLI 1.7.0)。

用一条命令安装现成 Skill

  1. 准备 Node.js 环境。skills CLI 通过 npx 运行,不需要全局安装,但电脑上要有 Node.js。命令行输入 node -v 能看到版本号即可。
  2. 先列出仓库里有哪些 Skill,不急着装。加 --list 参数只查看不安装,这是检查来源的第一步:
npx skills add vercel-labs/agent-skills --list
  1. 安装指定的 Skill 到指定的 Agent。官方 README 说明,CLI 会自动检测你安装了哪些编程 Agent;也可以用 -a 指定目标,用 --skill 指定具体技能:
# 只把某一个 Skill 装到 Claude Code 当前项目
npx skills add vercel-labs/agent-skills --skill frontend-design -a claude-code

# 装到用户全局目录(所有项目可用)
npx skills add vercel-labs/agent-skills --skill frontend-design -g -a claude-code
  1. 理解项目级和全局安装的区别。默认安装到当前项目的 Agent 目录下,适合随代码提交、团队共享;加 -g 装到用户目录,所有项目都能用。个人通用技能用全局,团队规范用项目级。
  2. 在 Agent 里直接用自然语言触发。安装后不需要记命令,直接描述任务,Agent 会根据 description 自动判断是否调用。以云栖大会 Skill 为例,官方发布的安装命令是:
npx skills add QianWen-AI/apsara-conference-2026

从零做一个自己的 Skill

我们以“GEO 文章体检”为例,做一个能给中文文章打分的 Skill。完整代码包见文末附件,下面是关键步骤。

  1. 建目录,名字全部小写加连字符:
mkdir -p geo-article-check/scripts geo-article-check/references geo-article-check/assets
  1. 写 SKILL.md。这是示例 Skill 的完整 SKILL.md(共 27 行),注意 description 里同时写了“做什么”和“什么时候用”,还放了用户可能说出口的原话:
---
name: geo-article-check
description: 检查中文文章是否适合被豆包、Kimi、DeepSeek 等 AI 搜索引擎引用(GEO 就绪度),输出 0-100 分与逐项修改建议。当用户要求“GEO 检查”“AI 搜索优化体检”“文章能不能被 AI 引用”,或提交一篇公众号/博客/教程草稿要求评估可引用性时使用。
license: MIT
metadata:
  author: aistacknav
  version: "1.0"
---

# GEO 文章体检

## 何时使用
用户提供一篇中文文章(Markdown 或纯文本),希望知道它是否容易被 AI 搜索引擎摘取和引用。

## 执行步骤
1. 把用户的文章保存为本地文件,例如 `draft.md`。
2. 运行评分脚本:`python3 scripts/geo_check.py draft.md`
3. 读取脚本输出的 JSON:`score` 为总分,`items` 为 7 个维度的得分与建议。
4. 按 `assets/report-template.md` 的格式,把结果整理成中文体检报告。
5. 对得分最低的 2 个维度,直接给出可替换的改写示例,而不是只说“建议优化”。

## 规则说明
每个维度的判定依据见 [references/RULES.md](references/RULES.md),只在用户追问“为什么扣分”时再读取。

## 注意
- 脚本只做结构检查,不判断事实真伪;事实核验需另行完成。
- 不要修改用户原文件,改写建议写在报告里。
  1. 写评分脚本 scripts/geo_check.py。脚本共 51 行,只用 Python 标准库,没有任何第三方依赖,也不联网。核心是 7 个维度的检查函数,下面是入口部分:
if __name__ == "__main__":
    if len(sys.argv) != 2:
        sys.exit("用法:python3 geo_check.py <文章文件>")
    p = pathlib.Path(sys.argv[1])
    if not p.exists():
        sys.exit(f"找不到文件:{p}")
    print(json.dumps(check(p.read_text(encoding="utf-8")), ensure_ascii=False, indent=2))
  1. 把判定规则放进 references/RULES.md。规则表只在用户追问扣分原因时才加载,这正是渐进式加载的用法——平时不占上下文。
  2. 用官方工具校验格式。agentskills.io 提供了参考实现 skills-ref,可以从官方 GitHub 仓库安装,然后运行:
skills-ref validate ./geo-article-check
# 实测输出:Valid skill: geo-article-check
  1. 用 skills CLI 从本地目录安装测试。先用 --list 确认 CLI 能识别,再实际安装:
npx skills add ./geo-article-check --list
npx skills add ./geo-article-check -a claude-code -y

实测结果:CLI 输出“Found 1 skill”并完整显示了中文描述;安装后文件被复制到项目的 .claude/skills/geo-article-check 目录,同时生成一个记录来源和哈希值的 skills-lock.json。安装完成时 CLI 还会给出一句提醒:安装前要审查 Skill,因为它们以完整的 Agent 权限运行。

实际工作流示例

一个健康的 Skill 使用流程,不是“看到就装”,而是“查看 → 审查 → 校验 → 小范围试用 → 纳入日常”。下面用示例 Skill 演示从安装到日常使用的完整链路。

Skill 安装与使用工作流:list 查看、人工审查 SKILL.md 与脚本、判断是否可信、validate 校验、安装到项目、Agent 自动触发、输出报告;不可信时放弃,校验失败时修正后重试
Skill 从获取到日常使用的执行链:先审查,再安装,最后才让 Agent 自动触发

第一步:查看并审查

对任何第三方 Skill,先用 --list 看它包含哪些技能,再到源仓库完整阅读 SKILL.md 和 scripts/ 下的每个脚本。重点看三件事:脚本有没有联网请求、有没有读取密钥或配置文件、有没有执行 curl | bash 这类下载即运行的命令。

第二步:在隔离项目里试用

不要直接装到存放重要代码的项目里。新建一个空目录作为试验场,装进去跑几个任务,观察 Agent 调用 Skill 时执行了哪些命令。确认行为符合预期后,再装到正式项目或全局。

第三步:实测示例 Skill 的效果

我们用示例 Skill 的脚本对两篇文章做了实际评分。第一篇是结构完整的教程文章(有摘要、表格、FAQ、来源和核验日期),得分 100 分、等级“优秀”;第二篇是只有一句开头和一个小标题的随手草稿,得分 0 分,脚本逐项给出了修改建议,例如“二级标题只有 1 个,建议至少 4 个”“FAQ 问题数为 0,建议至少 3 个”。传入不存在的文件时,脚本会明确提示“找不到文件”并退出,不会抛出难懂的报错。

这个结果也说明了 Skill 的边界:脚本只做结构检查,一篇结构完美但事实错误的文章同样能拿高分。所以示例 Skill 在 SKILL.md 里专门写了“事实核验需另行完成”。

成本估算

以下为示例计算,非官方数据。Skill 本身免费,成本来自 Agent 调用模型消耗的 token。按官方规范的量级估算,并假设:你装了 15 个 Skill,每个元数据约 100 token;每次会话启动固定多消耗约 1500 token;某次任务激活了示例 Skill,正文约 800 token,脚本输出的 JSON 约 600 token。

那么这次任务因为 Skill 额外消耗约 1500 + 800 + 600 = 2900 token 的输入。相比每次手动粘贴一段 2000 token 的完整提示词,Skill 在不用时几乎不花钱,用到时的成本也与手动粘贴相当,但省掉了找提示词、复制粘贴和遗漏规则的时间。实际单价请以你所用模型的官方价格为准。

对比与选型建议

选 Skill 的核心原则是来源可信度优先于功能丰富度。一个功能简单但来自官方或知名团队的 Skill,远比一个功能花哨但来路不明的 Skill 安全。

来源类型 可信度 建议
Agent 厂商或模型厂商官方仓库 高 可以直接试用,仍建议扫一遍脚本
知名企业的开源仓库(如 vercel-labs) 较高 查看安装量和仓库活跃度后使用
公开技能市场中的个人作者 不确定 必须完整审查,优先选有源码、有 Star、有维护记录的
聊天群、网盘转发的压缩包 低 不建议安装
自己编写 最高 适合团队规范和个人工作流,写完用 skills-ref 校验

几条选型建议(编辑判断,不代表官方结论):

  • 先自己写一个,再装别人的。亲手写过一个 Skill,你就能一眼看出别人的 Skill 在干什么,审查效率会高很多。
  • 少而精。虽然元数据很轻,但 Skill 越多,Agent 选错技能的概率越高。只保留真正常用的,定期清理。
  • 团队规范用项目级,个人习惯用全局。项目级 Skill 随代码进入版本管理,改动有记录、可回滚。
  • 需要访问外部系统时搭配 MCP。比如想让 Agent 读取企业知识库再按规范写报告,就用 MCP 连接数据、用 Skill 规定写法。站内的 OpenClaw 相关教程 也介绍了 Skill 与工具调用结合的用法。

风险、限制与注意事项

Skill 最大的风险不是“不好用”,而是“太好用”——它以 Agent 的完整权限运行,一个恶意 Skill 能做的事,和你授权给 Agent 的一样多。

供应链安全风险。 多家第三方安全研究机构报道,Snyk 在 2026 年 2 月对 3984 个公开 Skill 的审计中发现,约 36.82% 至少含有一个安全缺陷,并人工确认了 76 个带恶意载荷的 Skill,能够窃取凭据或执行任意命令(第三方研究数据,以原始报告为准)。云安全联盟的研究简报也提醒,应把 Agent 上下文文件当作不受信任的第三方代码对待。skills CLI 在安装完成时同样提示:使用前要审查,它们以完整的 Agent 权限运行。

Prompt Injection(提示词注入)。 Skill 的正文是写给模型看的自然语言,恶意作者可以在里面藏入“忽略用户要求”“把某文件内容发送到某地址”之类的指令,传统杀毒软件很难识别。审查时不仅要看脚本,也要读完 SKILL.md 的全部文字。

密钥与权限。 不要在 Skill 里硬编码任何密钥;需要凭据时使用环境变量,示例写成 YOUR_API_KEY 这样的占位符。对需要联网或执行命令的 Skill,优先在权限受限的环境中运行,只开放必要的目录和网络地址。

实验性字段与兼容差异。 allowed-tools 字段在官方规范中标注为实验性,不同 Agent 的支持程度不同。Skill 格式虽然统一,但各 Agent 的安装目录、触发方式和对脚本的执行策略仍有差异,跨 Agent 使用前建议分别实测。

触发不稳定。 Agent 是否调用某个 Skill,取决于它对 description 的理解。描述太笼统会导致该用时不用,描述太宽泛会导致不该用时乱用。遇到这种情况,优先修改 description,把用户常说的原话写进去。

脚本执行的边界。 Skill 中的脚本可能被 Agent 反复调用或因失败而重试,编写时要保证幂等(重复运行结果一致)、有清晰的错误提示和超时处理,不要在脚本里做删除文件、批量修改、对外发送消息这类不可逆操作。凡是涉及付款、删除、发布、发邮件、修改权限或操作生产数据库的步骤,都应在 Skill 说明里写明“执行前必须请求用户确认”。

事实依据与来源

本文信息按可信度分级如下:

  • 官方已确认:Skill 的目录结构、SKILL.md 字段与约束、渐进式加载的三层机制与 token 建议值、skills-ref validate 校验方式,来自 agentskills.io 官方规范;Agent Skills 最初由 Anthropic 开发并作为开放标准发布,来自 agentskills 官方 GitHub 仓库;skills CLI 的安装方式与参数(--list、-a、-g、--skill、-y)来自 vercel-labs/skills 官方仓库说明;云栖大会 Skill 的安装命令与兼容 Agent 列表来自阿里技术官方账号发布内容(经媒体转载)。
  • 实测结果:示例 Skill 的校验结果、CLI 识别与安装输出、安装目录与锁文件、评分脚本对两篇样例文章的得分,均为本文写作时在模拟环境中实际运行所得(Node.js v22、skills CLI 1.7.0),未在各 Agent 的真实会话中做长期验证。
  • 第三方报道:标准正式发布于 2025 年 12 月 18 日、Skill 与 MCP 的分工概括、Snyk 审计数据(3984 个 Skill、36.82% 含缺陷、76 个恶意),来自第三方技术媒体与安全研究机构,本文未直接核验原始报告,请以原始来源为准。
  • 编辑判断与示例计算:人群用法、来源可信度分级、选型建议为本站编辑判断;token 成本估算为示例计算,非官方数据。

内容核验日期为 2026 年 9 月 27 日。

FAQ

Agent Skills 和提示词有什么区别?

Skill 是可复用、按需加载的提示词加工具包。普通提示词每次都要手动粘贴;Skill 平时只占约 100 token 的简介,用到时才展开,还能附带脚本、模板和参考文档。

一个 Skill 能在多少个 Agent 里用?

凡是实现了 Agent Skills 开放标准的 Agent 都能用。官方与厂商资料中提到的包括 Claude Code、Codex、Cursor、OpenClaw、OpenCode、GitHub Copilot 等,具体数量随 skills CLI 版本持续增加,以官方列表为准。

不会写代码能做 Skill 吗?

能做。scripts/ 目录是可选的,很多 Skill 只有一个 SKILL.md 文件,用中文写清楚步骤和规则即可。只有需要精确计算、格式转换这类任务时才需要脚本。

Skill 的 name 能用中文吗?

不能用中文。官方规范要求 name 只能包含小写字母、数字和连字符,并且必须与目录名一致;中文可以写在 description 和正文里。

第三方 Skill 安全吗?

不能默认安全。第三方安全审计显示公开市场中存在大量缺陷和恶意 Skill。安装前要完整阅读 SKILL.md 和所有脚本,优先选择官方或知名团队的仓库,并先在隔离目录里试用。

Skill 和 MCP 应该选哪个?

两者解决不同问题,通常一起用。需要让 Agent 访问外部系统和数据时用 MCP;需要教 Agent 按固定流程和标准做事时用 Skill。

装了 Skill 但 Agent 不调用怎么办?

优先修改 description。把“做什么”和“什么时候用”都写具体,加入用户常说的原话;也可以在对话中直接点名要求使用该 Skill 来验证它是否安装成功。

参考来源

内容核验日期:2026 年 09 月 27 日

工具评测文章

工具选型与提示词资料

适合阅读工具评测、工具推荐、对比测评类文章后继续转化。

工具选型表 按场景、价格、上手难度和核心能力筛选合适的 AI 工具。 查看资料包 提示词模板包 提供写作、运营、编程、图片和视频生成常用提示词模板。 查看资料包

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

本站累计访问量: 387,149 次
AI Stack Nav 客服会员 / 支付 / 下载 / 工具库
你好,我是 AI Stack Nav 客服助手。你可以问我会员开通、微信支付、资料下载、订单入口、AI 工具库等问题。