Skill是什么?
一套可复用、可安装、可共享的任务说明

在AI智能体和AI编程工具中,Skill通常指一套可复用、可安装、可共享的任务说明。它把操作规范、专业知识、示例、脚本和参考资料组织在一起,让AI能够更稳定地完成某一类工作。
随着ChatGPT、Codex、Claude Code等工具逐渐从“聊天机器人”发展为能够读取文件、调用工具和执行任务的智能体,仅靠临时提示词已经很难管理复杂、重复的工作。Skill的出现,正是为了把成熟的工作方法保存下来,让AI在需要时直接调用。
一、Skill到底是什么?
可以把通用AI想象成一名能力很强、学习速度很快,但不了解你具体工作规范的新员工。
你可以每次都重新告诉它:
- 报告应该使用什么结构;
- 代码需要遵循哪些规范;
- 处理PDF时应该调用什么程序;
- 发布网站前要检查哪些项目;
- 分析数据时要生成哪些图表。
但这些要求如果每次都重新输入,不仅麻烦,还容易遗漏。
Skill就是为AI准备的一份“标准作业包”。
它通常以一个文件夹存在,核心文件一般是SKILL.md。除了文字说明,还可以包含:
- 操作步骤;
- 任务触发条件;
- 示例输入和输出;
- 模板文件;
- Python、Shell或JavaScript脚本;
- API说明和参考资料;
- 检查清单与质量标准。
OpenAI将Agent Skills描述为封装指令、资源和可选脚本的任务能力包;ChatGPT中的Skills则被定义为可复用、可分享的工作流程。Claude Code的Skills也遵循Agent Skills开放标准,并在此基础上提供调用控制、子智能体运行和动态上下文等扩展能力。
二、Skill和提示词有什么区别?
提示词和Skill都能指导AI,但两者解决的问题不同。
| 对比项 | 普通提示词 | Skill |
|---|---|---|
| 使用方式 | 每次对话临时输入 | 安装后重复使用 |
| 内容规模 | 通常较短 | 可以包含完整工作流程 |
| 文件支持 | 一般只有文字 | 可包含脚本、模板和资料 |
| 适用场景 | 一次性、简单任务 | 重复、专业、复杂任务 |
| 一致性 | 容易因表达变化而波动 | 更容易保持固定标准 |
| 分享方式 | 复制一段文字 | 分享完整Skill文件夹 |
例如,下面是一条普通提示词:
请检查这个网页是否存在SEO问题,并给出优化建议。
而一个SEO审计Skill可以进一步规定:
- 先检查页面是否能被抓取;
- 再检查标题、描述和Canonical;
- 分析结构化数据;
- 检查正文是否依赖JavaScript渲染;
- 按严重程度排列问题;
- 使用统一表格输出;
- 最后生成修改后的代码示例。
因此,提示词更像一次性的口头要求,Skill更像经过整理的标准操作手册。
三、Skill和工具、MCP有什么区别?
这几个概念经常被混淆。
1. 工具:让AI能够“做事”
工具为AI提供实际操作能力,例如:
- 搜索互联网;
- 读取文件;
- 执行Python;
- 查询数据库;
- 发送邮件;
- 调用天气API;
- 修改代码。
工具解决的是:AI能调用什么。
2. MCP:让AI连接外部系统
MCP是Model Context Protocol的缩写,可以用统一方式把AI连接到数据库、知识库、GitHub、Notion、浏览器或企业内部系统。
MCP解决的是:AI怎样连接数据和服务。
3. Skill:告诉AI怎样完成任务
Skill负责描述工作方法,例如:
- 什么情况下应该调用某个工具;
- 工具调用顺序是什么;
- 哪些风险操作必须确认;
- 输出必须符合什么格式;
- 完成后如何检查质量。
Skill解决的是:AI应该按照什么流程做。
可以用一个简单比喻理解:
- AI模型是大脑;
- 工具是双手;
- MCP是插座和连接线;
- Skill是操作手册。
四、一个Skill通常由什么组成?
一个简单的Skill目录可能如下:
seo-audit/
├── SKILL.md
├── references/
│ ├── checklist.md
│ └── examples.md
├── scripts/
│ └── check_meta.py
└── templates/
└── report-template.md
其中最重要的是SKILL.md。
一个最小化的Skill可以这样写:
---
name: seo-audit
description: 检查网页的SEO与GEO基础问题,并输出按优先级排序的修复建议。
---
# SEO Audit
## 何时使用
当用户要求检查网页的SEO、GEO、抓取、索引或结构化数据问题时使用。
## 工作流程
1. 获取目标网页的初始HTML。
2. 检查HTTP状态码和重定向。
3. 检查title、description和canonical。
4. 检查正文是否无需JavaScript即可读取。
5. 检查JSON-LD结构化数据。
6. 按严重、高、中、低四个等级整理问题。
7. 提供可以直接修改的代码示例。
## 输出格式
- 总体评分
- 关键问题
- 修复优先级
- 代码示例
- 验收方法
## 限制
- 不把推测写成确定事实。
- 无法访问页面时必须明确说明。
- 涉及搜索引擎规则时优先参考官方文档。
元数据有什么作用?
文件开头的name和description不只是介绍文字,它们还会影响智能体能否正确识别和调用Skill。
---
name: seo-audit
description: 检查网页的SEO与GEO基础问题,并输出按优先级排序的修复建议。
---
名称应该简短、稳定;描述则应该说明:
- Skill能完成什么;
- 什么情况下使用;
- 哪些用户表达可能触发它。
描述过于宽泛,Skill可能被错误调用;描述过于狭窄,应该调用时又可能无法触发。
五、Skill是怎样工作的?
Skill并不是重新训练AI模型,也不会永久改变模型本身。
它更接近一种按需加载的上下文机制:当智能体判断某项任务与Skill匹配时,再读取Skill中的详细说明和资源。
这种方式有三个明显优势:
1. 减少上下文浪费
智能体不必在每次对话开始时读取全部规范,只在任务需要时加载相关Skill。
2. 提高执行一致性
同一种任务可以反复使用相同流程、模板和检查标准,减少不同对话之间的质量波动。
3. 便于团队共享
团队可以把经验整理成Skill,让不同成员和不同智能体复用同一套工作方法。
六、Skill可以用来做什么?
Skill适合处理具有明确方法、重复频率较高或专业要求较强的任务。
内容创作
- 按固定风格撰写文章;
- 生成产品介绍;
- 检查事实和引用;
- 将文章转换为社交媒体内容;
- 生成统一格式的Markdown文档。
软件开发
- 创建符合团队规范的项目;
- 执行代码审查;
- 编写单元测试;
- 排查构建错误;
- 发布版本;
- 生成API文档。
设计与文档
- 制作演示文稿;
- 生成PDF报告;
- 按品牌规范使用字体和版式;
- 创建流程图;
- 检查设计稿的一致性。
数据分析
- 清洗表格;
- 计算指标;
- 生成图表;
- 检查异常值;
- 按固定结构输出分析结论。
企业流程
- 整理会议纪要;
- 生成周报;
- 审核合同中的关键条款;
- 根据模板回复客户;
- 检查项目上线条件。
七、怎样安装和使用Skill?
不同平台的界面和存放路径可能不同,但基本过程相似。
方法一:安装现成Skill
一般步骤为:
- 在官方库、插件市场或GitHub仓库中找到Skill;
- 阅读
SKILL.md,确认用途和权限; - 检查是否包含可执行脚本;
- 将Skill安装到平台支持的位置;
- 重新加载客户端或会话;
- 用一个明确任务测试它是否正确触发。
在支持自动调用的平台中,用户不一定要直接说出Skill名称。例如安装网页测试Skill后,可以直接说:
检查本地网页的登录流程,并记录失败的步骤。
智能体会根据任务和Skill描述判断是否调用。
部分平台也支持显式调用,形式可能类似:
使用 seo-audit Skill 检查这个页面。
或:
/seo-audit https://example.com
具体调用方式取决于平台实现。
方法二:把Skill放进项目
项目级Skill适合保存某个仓库特有的规则,例如:
my-project/
├── src/
├── tests/
└── .agents/
└── skills/
└── release-check/
└── SKILL.md
它可以要求智能体在发布前完成:
- 运行测试;
- 检查环境变量;
- 构建生产版本;
- 扫描未提交文件;
- 更新版本号;
- 生成变更日志。
方法三:使用平台内置的Skill管理界面
部分AI产品提供Skill或插件管理页面,可以完成:
- 浏览推荐Skill;
- 安装或启用Skill;
- 查看已安装项目;
- 控制可访问的数据;
- 删除不再需要的Skill。
由于各产品仍在快速更新,实际界面和权限应以对应平台的最新官方说明为准。
八、怎样自己创建一个Skill?
创建Skill不需要训练模型。只需把成熟的任务流程写清楚,并加入必要的资源。
第一步:选择合适的任务
好的Skill通常满足至少一个条件:
- 任务会反复出现;
- 执行步骤比较固定;
- 输出格式需要保持一致;
- 涉及团队内部规范;
- 需要调用脚本或模板;
- 普通提示词经常遗漏步骤。
不适合做成Skill的任务包括:
- 只会执行一次的临时要求;
- 没有稳定方法的开放式闲聊;
- 可以用一句提示词准确解决的简单任务。
第二步:定义触发条件
先回答三个问题:
- 用户通常会怎样描述这个任务?
- 哪些场景应该使用该Skill?
- 哪些相似场景不应该使用?
例如:
## 何时使用
当用户要求创建、修改、读取或分析`.pptx`演示文稿时使用。
## 不应使用
当用户只要求提供演讲提纲,而不需要生成或编辑演示文件时,不要使用。
第三步:写出可靠流程
不要只写“认真完成任务”,而要写成可以检查的步骤。
较弱的写法:
请专业地检查代码,确保没有问题。
更好的写法:
1. 先读取受影响文件和相关测试。
2. 检查空值、边界条件和错误处理。
3. 检查是否引入安全问题。
4. 运行现有测试。
5. 对新增逻辑补充测试。
6. 输出问题位置、影响和修复方案。
第四步:加入示例和模板
示例可以让AI更准确地理解输出标准。
## 输出示例
### 严重问题
**位置:** `src/auth.ts:42`
**问题:** 用户输入未经验证就拼接进SQL语句。
**影响:** 可能导致SQL注入。
**建议:** 使用参数化查询,并增加恶意输入测试。
第五步:加入脚本
当工作需要稳定计算、文件转换或自动检查时,脚本通常比自然语言更可靠。
# scripts/check_required_files.py
from pathlib import Path
required_files = [
"README.md",
"LICENSE",
".gitignore",
]
missing = [name for name in required_files if not Path(name).exists()]
if missing:
print("缺少文件:")
for name in missing:
print(f"- {name}")
raise SystemExit(1)
print("必要文件检查通过。")
Skill中可以规定:
发布项目之前,必须运行:
python scripts/check_required_files.py
第六步:进行真实测试
至少测试以下三类情况:
| 测试类型 | 目的 |
|---|---|
| 正常任务 | 检查Skill能否正确执行 |
| 模糊表达 | 检查Skill能否正确触发 |
| 相似但无关的任务 | 检查Skill是否会被误调用 |
九、怎样写出一个高质量Skill?
1. 描述要具体
不推荐:
description: 帮助用户处理网页。
推荐:
description: 检查网页的可访问性、SEO元数据、结构化数据和无JavaScript正文可读性,并生成按严重程度排序的修复报告。
2. 只保留必要内容
Skill不是越长越好。过多背景材料会增加上下文负担,也可能让智能体忽略真正重要的规则。
建议将内容分层:
SKILL.md保存核心流程;references/保存详细资料;templates/保存输出模板;scripts/保存可执行程序。
3. 把硬性要求写成可验证规则
不推荐:
输出应当美观、专业。
推荐:
- 一级标题只能出现一次。
- 每个问题必须包含位置、影响、证据和修复建议。
- 问题按严重、高、中、低排序。
- 没有证据时不得下确定结论。
4. 为危险操作设置确认点
涉及删除、发布、付款、发送、覆盖文件等动作时,应明确要求用户确认。
在执行以下操作之前必须获得用户明确确认:
- 删除文件或数据库记录;
- 向外部收件人发送邮件;
- 部署到生产环境;
- 覆盖无法恢复的文件;
- 产生费用的API调用。
5. 不要把密钥写进Skill
Skill可能被复制、分享或提交到Git仓库。API密钥、访问令牌、密码和个人数据不应直接写入文件。
正确方式是引用环境变量:
export API_KEY="..."
然后在脚本中读取:
import os
api_key = os.environ["API_KEY"]
十、使用第三方Skill时要注意什么?
Skill可能包含脚本、命令和外部资源,因此不能只看名称就直接安装。
安装前至少检查:
- Skill来自谁;
SKILL.md要求AI做什么;- 是否会读取个人文件;
- 是否会访问网络;
- 是否包含删除或覆盖命令;
- 脚本是否会上传数据;
- 是否要求提供密钥;
- 最近是否仍在维护。
需要特别警惕以下内容:
rm -rf
curl ... | sh
sudo ...
git push --force
这些命令不一定恶意,但可能造成不可逆影响。应先理解其用途,再决定是否执行。
十一、一个完整示例:文章配图Skill
下面是一个适合内容网站使用的简化示例。
---
name: article-illustration
description: 根据文章主题生成简洁、无文字、16:9比例的封面插图方案。
---
# Article Illustration
## 适用场景
当用户要求为文章、博客或报告设计封面图时使用。
## 工作流程
1. 阅读文章标题和摘要。
2. 提炼一个核心隐喻,不要堆叠多个概念。
3. 优先使用抽象、几何或平面设计语言。
4. 默认比例为16:9。
5. 画面内不得出现文字、字母、水印和界面截图。
6. 主体应占画面的25%至45%,保留足够留白。
7. 颜色控制在三种主色以内。
8. 输出图像生成提示词并执行图像生成工具。
## 质量检查
- 缩略图尺寸下是否仍能识别主体;
- 是否存在多余文字;
- 是否过度拥挤;
- 是否准确表达文章主题;
- 是否避免使用未经授权的品牌元素。
安装后,用户只需说:
为“让大模型先查资料,再回答问题”设计一张文章封面图。
智能体便可以自动应用比例、留白、无文字和构图规则,而不需要用户每次重新说明。
十二、Skill的真正价值是什么?
Skill的价值并不只是“让AI多会一种功能”。
它更重要的作用,是把人的经验转化为AI能够重复执行的流程。
一条优秀提示词可能解决一次问题;一个优秀Skill则可以持续改进,并被整个团队反复使用。
因此,可以将Skill理解为:
介于提示词、程序和操作手册之间的AI能力模块。
它用自然语言描述意图和规则,用脚本保证确定性,用模板维持输出标准,再由智能体根据当前任务灵活执行。
十三、常见问题
Skill会让AI永久学会新知识吗?
不会。Skill通常是在任务执行时被读取,并不会重新训练底层模型。删除或停用Skill后,对应规则通常也不会继续生效。
不会编程也能创建Skill吗?
可以。最简单的Skill只需要一个写清楚任务流程的SKILL.md文件。脚本是可选项,不是必需项。
Skill可以跨平台使用吗?
部分Skill可以。Claude Code文档说明其Skills遵循Agent Skills开放标准;Codex也支持以SKILL.md为核心的能力包。不过不同平台可能增加自己的字段、目录约定和调用方式,因此迁移时仍需检查兼容性。
Skill能代替MCP吗?
不能。Skill主要描述方法,MCP主要负责连接外部服务。两者经常搭配使用。
Skill越多越好吗?
不是。安装过多、描述重叠的Skill可能增加误触发和冲突。更合理的做法是保留用途明确、质量可靠、经常使用的Skill。
结语
AI模型提供通用能力,工具提供行动能力,MCP提供连接能力,而Skill负责把这些能力组织成一套稳定的工作方法。
对于普通用户,Skill可以减少重复提示;对于开发者,它可以封装工程流程;对于团队,它可以把个人经验变成共享标准。
当你发现自己反复向AI解释同一套要求时,就可以考虑把它整理成一个Skill。
参考资料
-
[Anthropic Skills示例仓库] (加载链接预览…)
注:AI产品的Skill安装入口、目录结构和功能仍在持续更新。实际使用时,应优先查看对应产品的最新官方文档。



