AI Skill 编写完全教程
一、什么是 Skill?
一句话总结:Skill 是一份让 AI 学会重复做某件复杂事的说明书。
把它想象成你给 AI 写的一本《操作手册》——以后遇到同类任务,AI 会自动按手册执行,而不是每次从零开始摸索。
Skill 解决的核心问题:
- AI 每次遇到相同任务,行为不稳定、结果不一致
- 复杂流程需要反复编写相同代码,浪费时间和 token
- 没有固定的输出格式,结果参差不齐
二、Skill 的标准目录结构
my-skill/
├── SKILL.md # 必需:核心指令文件(入口)
├── scripts/ # 可选:可直接执行的脚本
│ └── process_data.py
├── references/ # 可选:大型参考文档,按需加载
│ └── api_docs.md
├── assets/ # 可选:模板文件、图片、字体等
│ └── template.docx
├── evals/ # 可选:测试用例(开发阶段使用)
│ └── evals.json
└── .skillignore # 可选:打包时忽略的文件列表
各部分角色一览:
| 文件/目录 | 必需? | 作用 | 加载时机 |
|---|---|---|---|
SKILL.md | ✅ 是 | 核心指令,包含元数据和工作流 | 技能触发时立即加载 |
scripts/ | 否 | 可执行脚本,用于确定性任务 | 按需执行,不占上下文 |
references/ | 否 | 大型参考文档 | 按需读取 |
assets/ | 否 | 静态资源(模板、图片等) | 按需读取或复制 |
evals/ | 否 | 测试用例 | 仅开发阶段使用 |
.skillignore | 否 | 打包排除规则 | 打包时使用 |
三、SKILL.md:核心文件详解
SKILL.md 是整个技能的入口,由两部分组成:YAML 元数据和 Markdown 指令正文。
3.1 YAML Frontmatter(元数据)
---
name: skill-name # 技能唯一标识符,小写连字符形式

