智谱
最近 AI 圈里“Skill”这个词频繁出现,Claude、OpenAI、微软都在推。但对很多开发者来说,它听起来既像插件,又像提示词,还有点像工作流。这篇文章说清楚三件事:Skill 到底是什么、它和提示词/MCP 有什么区别、以及怎样从零做一个自己的 Skill。

一、Skill 到底是什么
一句话:Skill 是打包好的“工作手册”,让 AI Agent 在遇到特定任务时,按你预设的流程去做。
它的物理形态非常朴素——一个文件夹,核心是里面的 SKILL.md 文件:
skill-name/
├── SKILL.md # 必填:元数据 + 指令
├── references/ # 可选:详细参考文档
├── scripts/ # 可选:可执行脚本
└── assets/ # 可选:模板、素材
SKILL.md 的开头是 YAML 格式的元数据,只有两个必填字段:
---
name: git-commit-helper
description: 根据 git diff 生成规范的提交信息。当用户提到提交、commit message、写提交说明时使用。
---
关键点:description 决定了这个 Skill 什么时候会被激活。Anthropic 官方工程博客指出,好的 description 必须同时说清楚 做什么(WHAT) 和 什么时候用(WHEN),并明确列出不应触发的场景。
正文部分就是给 AI 看的“操作说明”,用 Markdown 写,步骤、注意事项、输出格式都放在这里。
二、Skill 和提示词、MCP 有什么区别
这是最容易混淆的地方。
Skill 不是提示词的“升级版”。本质上,Skill 就是结构化的提示词,区别在于工程维度:
| 手写提示词 | Skill | |
|---|---|---|
| 使用方式 | 每次手动粘贴 | AI 自动发现、按需加载 |
| 可携带资源 | 只有文字 | 可带脚本、模板、参考文档 |
| 触发方式 | 用户主动提供 | description 自动匹配任务 |
Skill 也不是 MCP 的替代品。MCP 解决的是“AI 怎么调用外部工具”的问题,比如连数据库、调 API;Skill 解决的是“AI 按什么流程做事”的问题。
打个比方:MCP 是给 AI 装上“手”,让它能拧螺丝;Skill 是给 AI 一本“装配说明书”,告诉它先拧哪个、拧多紧、顺序是什么。用软件架构来理解,应用层是 Agent Skills(领域知识、工作流),传输层是 MCP(标准化接口、工具调用),基础设施层是数据库、API。

三、Skill 的核心机制:渐进式加载
Skill 最巧妙的设计是三层渐进式加载,这也是它能“装很多但不觉重”的原因:
第一层:元数据。AI 启动时只预加载每个 Skill 的 name 和 description,每个约占 几十到一百个 token。AI 知道“我有哪些 Skill 可用”,但不知道具体内容。
第二层:SKILL.md 正文。当 AI 判断当前任务和某个 Skill 的 description 匹配时,才把 SKILL.md 的完整内容读进上下文。官方建议正文控制在 5000 token 以内。
第三层:捆绑资源。如果正文里写了“需要时参考 references/xxx.md”,AI 只在真正需要时才去读那个文件。脚本执行时,代码本身永远不会进上下文,只有运行输出回来——这比让模型现场生成等效代码省 token,而且结果确定。
这就是为什么你装几十个 Skill 也不会撑爆上下文——不相关的 Skill 根本不会被加载。
四、真实的生产力数据
Skill 不是概念演示,已有企业级落地数据。
日本电商巨头 Rakuten 在财务工作流中使用 Skill 后,官方报道的原话是:“以前需要一天的工作,现在大约一小时就能完成。” 这是 8 倍的生产力提升,且是在特定、可衡量的工作流中。Box、Canva 等公司也报告了类似的企业级集成场景。
五、如何做一个自己的 Skill
第一步:想清楚“只做一件事”
Anthropic 官方工程博客有个精准类比:给 Agent 做 Skill,就像给新员工写入职指南。新员工不需要百科全书,需要的是“这个任务具体怎么做”的操作手册。
别做“帮我处理文档”,要做“从 PDF 提取表格数据并输出 CSV”。
第二步:创建文件夹结构
一个 Skill 的本质就是一个文件夹。最小结构只需要一个 SKILL.md:
weekly-report/
└── SKILL.md
如果需要更多资源,按官方规范扩展:
weekly-report/
├── SKILL.md # 必填
├── references/ # 可选:参考文档
├── scripts/ # 可选:可执行脚本
└── assets/ # 可选:模板、素材
关键规则:文件夹名必须和 name 一致,使用 kebab-case(小写+连字符),不能有空格或下划线。
第三步:写 SKILL.md 的元数据
---
name: weekly-report
description: 根据 git commit 记录生成周报。当用户提到周报、工作汇报、本周总结时使用。
---
description 是最关键的一步。OpenAI 官方文档原话是:“A vague description is the most common cause of a skill that never gets selected”。好的 description 必须同时包含做什么和什么时候用,官方推荐格式是 [能力描述] + Use when [触发条件]。
第四步:写正文指令
正文用 Markdown 写,是给 AI 看的操作说明。Hugging Face 的 Skill 格式指南建议,SKILL.md 正文控制在 400-800 行,详细参考材料移到 references/ 目录,代码示例移到 scripts/。
以“周报生成”为例:
# 周报生成
## 步骤
1. 运行 `git log --since="1 week ago" --pretty=format:"%s"` 获取本周提交
2. 按类型归类(feat / fix / docs / chore)
3. 用下面的格式输出
## 输出格式
## 本周工作
### 新功能
- ...
### 修复
- ...
## 注意事项
- 如果提交信息不清晰,不要编造,直接列出原文
- 保持每条一行,精炼简洁
第五步:添加脚本(可选)
如果某些操作用代码执行比用 token 生成更可靠、更便宜,就把它写成脚本放进 scripts/ 目录。Claude 的 PDF Skill 就是典型案例:它包含一个预写的 Python 脚本,用来读取 PDF 并提取表单字段。Claude 运行脚本时,脚本代码不需要加载到上下文窗口,而且因为代码是确定性的,工作流每次都一致可重复。
脚本在 SKILL.md 中的引用方式是用 ${CLAUDE_SKILL_DIR} 占位符:
运行以下命令提取表单字段:
python3 ${CLAUDE_SKILL_DIR}/scripts/extract_fields.py
第六步:打包和上传
不同平台的打包要求:
Claude 网页版:上传 ZIP 时,ZIP 里必须包含一个和 Skill 同名的顶层文件夹,SKILL.md 不能直接放在 ZIP 根目录。正确结构是 my-skill.zip → my-skill/ → SKILL.md。
OpenAI API:支持目录或多部分上传,要求恰好一个 SKILL.md 文件,ZIP 最大 50 MB,每个版本最多 500 个文件。
Claude Code:把 Skill 文件夹放到 ~/.claude/skills/(个人)或项目的 .claude/skills/(项目)目录下即可。
第七步:测试和迭代
如果 Skill 该触发却没触发,第一个要改的就是 description——这是最常见的原因。
六、一个完整的周报 Skill 示例
weekly-report/
└── SKILL.md
SKILL.md 内容:
---
name: weekly-report
description: 根据本周 git commit 记录生成周报。当用户提到周报、工作汇报、本周总结时使用。
---
# 周报生成
## 步骤
1. 运行 `git log --since="1 week ago" --pretty=format:"%s"` 拿到本周提交
2. 按类型归类(feat / fix / docs / chore)
3. 按下面格式输出
## 输出格式
## 本周工作
### 新功能
- ...
### 修复
- ...
### 其他
- ...
## 注意事项
- 提交信息看不懂就别编,直接列原文
- 每条一行,别啰嗦
把它扔进 Claude Code 的 skills 目录,下次你说“帮我写周报”,AI 自己就去读 git 记录了。
七、两个要注意的坑
安全:Skill 意味着 AI 能执行任意代码。OpenAI 官方文档明确警告:“Skills introduce security risks such as prompt injection-driven data exfiltration”。实用原则是:脚本设计成不联网、无副作用、只读输入输出。
局限:学术分析指出,Skill 处理复杂文档结构和持续学习方面仍有局限。别指望它解决所有问题。
最后说句实话
Skill 的核心就一句话:把你脑子里那些“每次都要重新讲一遍”的经验,变成一个文件夹,写一次,到处用。
它不改变模型本身的能力,但改变了你跟 AI 协作的方式——从“每次重新教”变成“写一次,自动跑”。更关键的是,写一个 Skill 的门槛,远比写一个 MCP Server 低得多。
参考来源:Anthropic 官方工程博客与帮助中心、OpenAI API 文档、Rakuten 企业案例报道、Hugging Face Agent Skills 仓库、Agent Skills 开放标准规范。

![私有化部署源码[2026-10-08更新]-可达鸭小栈](https://www.ikdya.com/wp-content/uploads/2026/03/QQ20260309-160657-1024x655.png)








暂无评论内容