什么是 AI Skill(技能)
AI Skill 简单来说,就是写给 AI 关于某项技能的说明书,让 AI 模型在需要这项技能时,自动加载和规范使用这项技能
要理解为什么需要 Skill,先要知道没有 Skill 前我们都可能遇到什么问题:
- 相似任务没有复用,浪费 token
- 实现缺乏规范和约束,产出结果不达预期
- 相似任务需要重复编写提示词,同样浪费 token 和时间
举个简单的场景:让 Agent 帮忙压缩图片,不同的 Agent 可能处理的方法不一样,它可能会编写一段压缩脚本进行压缩,也可能调用外部工具进行压缩,而压缩图片这个任务可能在不同时间段内被多次调用,每一次 Agent 做出的选择都可能不一样,给出的压缩质量和结果也不一样
聪明的你会发现:这种重复性任务让长期失忆的 Agent 在多次分析思考中,浪费大量 Token,而且产出不稳定,想要达到比较稳定的结果,提示词就要花更多时间让它变得严谨,于是你把压缩图片的流程都写在一个文档,让 Agent 每次进行图片压缩时,都根据文档的流程执行,恭喜你发明了 Skill!
使用现成的 Skill
Skill 的概念爆火之后, 催生了大量现成的 Skill,以及 Skill 商城,我们可以跳过繁琐的 Skill 开发流程,直接使用别人提供的、经过市场验证的 Skill:
安装Skill
Skill 可以在不同 AI Agent 中使用,一般在 Agent 的使用文档中也会提供 Skill 的使用过程,不同 Agent 的 Skill 使用可能有一些细节上的不同,但使用规范一般都是统一的:
- cursor:https://cursor.com/cn/docs/skills
- claude:https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview
- copilot:https://docs.github.com/en/copilot/concepts/agents/about-agent-skills
- vscode:https://code.visualstudio.com/docs/copilot/customization/agent-skills
通过命令行执行 npx skills add 指令进行 skill 的安装,一般在 skill 商城中都会提供完整命令:
npx skills add https://github.com/vercel-labs/skills --skill find-skills
执行命令后,会问你全局安装还是局部安装?安装给哪些Agent 使用?再次确认安装
在不同的 Agent 中,Skills 存放的目录会有所不同,安装后可以在目录中看到具体的 Skill:
- claude:.claude/skills/
- cursor:.cursor/skills/
- copilot:.copilot/skills/
- 通用:.agents/skills/
调用
Agent 都会将 Skill 的描述,和当前用户的对话内容进行匹配,判断需要调用哪些 Skill,在Agent 思考过程中,会输出 Read(./agent/skills/xxx/SKILL.md) 或 Used xxx,这就代表 skill 被匹配上了:

在 Skill 匹配不灵敏无法触发自动调用,或存在多个相似 Skill 希望调用指定某个时,就需要手动匹配 Skill,一般在对话框中通过输入 / 来触发 Skill 的手动选择,在不同的 Agent 调用方式可能不同,可以查阅对应 Agent 使用手册

Skill 指令
| 指令 | 别名 | 用途 | 示例 |
|---|---|---|---|
npx skills add <source> |
安装技能包,支持GitHub简写/URL/本地路径 | npx skills add vercel-labs/agent-skills |
|
npx skills list |
ls |
查看已安装的技能列表 | npx skills list -g |
npx skills find [query] |
交互式搜索或按关键词查找技能 | npx skills find react |
|
npx skills remove [skills] |
rm |
卸载已安装的技能 | npx skills remove frontend-design |
npx skills check |
检查已安装技能是否有可用更新 | npx skills check -g |
|
npx skills update |
更新已安装技能到最新版本 | npx skills update frontend-design |
|
npx skills init [name] |
创建新的 SKILL.md 模板 | npx skills init my-skill |
add 指令选项
| 选项 | 用途 |
|---|---|
-g, --global |
安装到用户全局目录(跨项目生效) |
-a, --agent <agents> |
指定目标AI工具(如 claude-code、cursor、opencode) |
-s, --skill <skills> |
安装仓库中指定技能(* 表示全部) |
-l, --list |
仅列出仓库中可用技能,不安装 |
--copy |
使用复制模式安装(默认为软链接) |
-y, --yes |
跳过所有确认提示(适合CI/CD) |
--all |
安装所有技能到所有AI工具 |
手写一个Skill
目录结构
一个技能放在一个单独的文件夹,文件夹中至少要有一个核心的、标准的 SKILL.md 文件,这个文件必须是全大写的 SKILL + 小写 .md 后缀,其他目录或文件可选,比如:
- .cursor/
- skills/
- vue/
- SKILL.md (核心文件,必备)
- examples/ (示列文件夹,可选)
- references/ (参考文档文件夹,可选)
- scripts/ (可执行脚本文件夹,可选)
- assets/ (skill 用到的资源文件夹,可选)
- vue/
- skills/
SKILL.md
身份信息
SKILL.md 作为入口文件,有固定的内容格式,在文件顶部通过 YAML 配置块包裹Skill 的核心信息:
- name:技能名称,Skill 的唯一标识(必填)
- description:技能描述/除非技能的条件(必填,AI 依靠它进行技能匹配)
- license:许可证名称/指向 Skill 附带的许可证文件
- compatibility:环境和依赖说明(系统、权限等等),最长 500 字符
- metadata:自定义键值对,用户扩展元数据(作者、版本号等)
- allowed-tools:允许使用的工具列表(多个值空格分割,实验性功能)
name 和 description 为必填字段,其规范和建议如下:
- name:最多 64 个字符,只能包含小写字母、数字和连字符,推荐使用 动词 ing 形式进行命名,比如:processing-pdfs、analyzing-spreadsheets
- description:包含两部分内容:这个 Skill 是做什么的?什么时候应该调用这个 Skill?
---
name: your-skill-name
description: Brief description of what this Skill does and when to use it
---
正文内容
Skill.md 的正文可以包括以下内容,至少包含 Instructions 内容,其他内容可视情况编写:
- Instructions:逐步说明,告诉 AI 每一步具体的执行步骤
- Examples:示例,帮助 AI 理解场景、边界和期望的输出
- Background:技能背景和约束、环境依赖、注意事项、限制条件等
- 附加资源文件:脚本、模板、字体等

优秀案列
- 技能商城:https://skills.sh/
- PPT技能: https://github.com/anthropics/skills/blob/main/skills/pptx/SKILL.md
- SEO 审核技能:https://github.com/coreyhaines31/marketingskills/blob/main/skills/seo-audit/SKILL.md
- 文案写作技能:https://github.com/coreyhaines31/marketingskills/blob/main/skills/copywriting/SKILL.md
- 网站检查:https://github.com/squirrelscan/skills/blob/main/audit-website/SKILL.md
在技能商店中,热门的技能描述文件非常复杂和严谨,如果靠用户手动编写 SKILL.md 文件,不仅耗费大量时间,而且还不够严谨,所以一般都会让 AI 自己编写 AI Skill
自动编写 Skill
skill-creator 是一个用于创建 Skill 的 Skill,其核心完成了这几件事情:
- Decide what you want the skill to do and roughly how it should do it(弄清楚用户想要创建一个什么技能,以及这个技能的大概实现逻辑)
- Write a draft of the skill (写一份技能的草稿)
- Create a few test prompts and run claude-with-access-to-the-skill on them(根据技能草稿,编写几个 Prompt 提示词,并调用 AI 运行这些提示词)
- Help the user evaluate the results both qualitatively and quantitatively(帮助用户对运行结果进行评估)
- Rewrite the skill based on feedback from the user's evaluation of the results (and also if there are any glaring flaws that become apparent from the quantitative benchmarks)(根据用户对结果的反馈/发现的明显缺陷,来重写技能)
- Repeat until you're satisfied(一直重复直到满意)
- Expand the test set and try again at larger scale(扩大测试范围,并进行更大规模的尝试)

尝试编写
- 安装 skill-creator
npx skills add https://github.com/anthropics/skills --skill skill-creator
- 在 AI Agent 中调用:
帮我实现一个Skill:检查用户指定网址的 SEO 情况,并生成 SEO 报告,报告需包含性能指标、SEO 最佳实践等,报告中需对有待改进的内容进行清晰描述以及具体调整建议。
Agent 的思考过程中,会看到调用了 skill-creator:

- 等待任务完成后,测试新 Skill


Skill 的工作原理
Skill 采用「渐进式披露」的方式,让 Agent 在不同阶段加载 Skill 不同程度的信息,让 Agent 可以尽可能管理更多 Skill 的同时,减少上下文的空间消耗
Skill 的渐进式披露分为三个阶段:
- 发现阶段:对话开始时,Agent 扫描所有可用的 Skill 文件夹,读取每个 Skill 身份信息(name 和 description)等,Agent 通过这些信息可以知道这个 Skill 用来做什么,以及什么时候应该调用
- 激活阶段:当 Agent 执行时判断需要调用某个技能时,就会将对应 SKILL.md 文件内容都加载到上下文中,并进行分析
- 执行阶段:Agent 按照 Skill 的说明执行任务,执行过程中,Agent 可能会根据说明调用附带的脚本、阅读案列、参考资料等等,最终完成任务