别再复制粘贴提示词了!AI Agent Skill 到底是什么?
👆 微信扫一扫,关注公众号
获取最新 AI 技术文章与实战教程
用过 ChatGPT/Claude 的人都有这种经历:
每次想让 AI 按特定格式输出(比如写周报、生成表格),都要打一大段"规矩"——
“请按以下格式:1. xxx 2. xxx,语气要正式,用中文…”
更烦的是,每次新开对话都要重新交代一遍。
今天介绍的 Agent Skill,就是来解决这个问题的。
🤔 先花 1 分钟理解:什么是 Skill?
生活类比:手机的"快捷指令"
你一定用过手机的快捷指令(iPhone)或宏命令(Android):
- 不用快捷指令:每天早上手动打开天气 App → 查看温度 → 打开音乐 App → 播放歌单 → 打开日历…(5 步操作)
- 用了快捷指令:对 Siri 说"早上好",一键完成以上所有操作
快捷指令 = 把你常做的一系列操作,打包成一个"咒语"
AI 领域的 Skill 同理
Skill 就是把你常让 AI 做的重复任务,连同"规矩"一起打包:
| 你的重复任务 | 每次要交代的"规矩" | 打包成 Skill 后 |
|---|---|---|
| 写周报 | 格式要求、要包含哪些模块、语气风格 | 只需说"帮我写周报" |
| 整理会议纪要 | 模板结构、要提炼行动项、@责任人 | 只需说"整理一下纪要" |
| 生成数据报告 | 图表类型、分析维度、输出格式 | 只需说"生成本周数据报告" |
一句话定义:
Skill = 预置的 Prompt 模板,你把"规矩"写成文件,AI 在需要的时候自动加载,不用每次都手动交代。
🔍 深入理解:Skill 在 AI 对话里是怎么工作的?
现在你知道 Skill 是什么了,来看看它的底层机制。
AI 对话时,实际发生了什么?
每次你和 AI 聊天,传过去的结构是这样的:
[系统提示词] ← AI 的"出厂设置"(比如"你是 Claude,一个AI助手")
↓
[上下文历史] ← 你们之前的对话记录
↓
[你的输入] ← 你刚刚说的话
↓
AI 开始思考并回复...
问题在这里:如果你希望 AI 按特定格式回复,传统做法是:
你:请按以下格式帮我写周报:
1. 本周完成事项(用 bullet points)
2. 遇到的问题及解决方案
3. 下周计划
4. 需要的支持
记得用中文,语气正式一点,发给领导的...
(每次新开对话都要打 100 多字,烦不烦?)
Skill 的方案:把"规矩"外挂到文件里
使用 Skill 后,你的输入变成:
你:帮我写本周周报
AI 实际收到的完整 Prompt:
---
[系统提示词]
+
[检测到 Skill: weekly-report]
Skill 内容:"当用户要求写周报时,请按以下格式...(此处省略 300 字详细规矩)"
+
[用户输入:帮我写本周周报]
---
↓
AI 直接输出符合格式的周报
关键区别:
- 传统方式:你的"规矩"散落在每次对话里,换对话就丢了
- Skill 方式:"规矩"写在文件里,AI 自动挂载,一次配置,永久复用
🛠️ Skill 的三层加载机制
为了让这套机制高效运行,Skill 采用了分层设计:
┌────────────────────────────────────────────────────────────┐
│ AI 启动时扫描 Skills 目录 │
│ ~/.claude/skills/ ← 全局 Skills(在哪都能用) │
│ ./.claude/skills/ ← 项目 Skills(只在当前项目生效) │
└────────────────────────────────────────────────────────────┘
↓
┌────────────────────────────────────────────────────────────┐
│ Level 1:所有 Skill 的"索引"进入上下文 │
│ 加载每个 Skill 的 name + description(约 50 字/个) │
│ AI 靠这个判断:用户的话应该触发哪个 Skill? │
│ │
│ 例:weekly-report: "按公司模板生成周报" │
│ meeting-notes: "整理会议纪要,提取行动项" │
└────────────────────────────────────────────────────────────┘
↓
┌────────────────────────────────────────────────────────────┐
│ Level 2:触发时注入完整提示词 │
│ 当用户说"帮我写周报"→ AI 匹配到 weekly-report │
│ → 将该 Skill 的 SKILL.md 完整内容插入当前 Prompt │
│ │
│ 【你的输入变成这样】: │
│ [系统提示] + [weekly-report Skill 全文] + [帮我写周报] │
└────────────────────────────────────────────────────────────┘
↓
┌────────────────────────────────────────────────────────────┐
│ Level 3:按需引用额外资源 │
│ 如果 Skill 引用了模板文件、示例文档 → 需要时再加载 │
│ 不占用初始上下文空间,省 Token! │
└────────────────────────────────────────────────────────────┘
为什么要分层?
AI 的上下文窗口是有限的(比如 Claude 3.5 Sonnet 是 200K tokens)。如果一次性加载所有 Skill 的完整内容,几百个 Skill 就会占满空间。
分层设计的巧妙之处:
- 平时:只加载"索引"(name + description),占用极小
- 触发时:才加载该 Skill 的完整内容
- 引用资源:按需读取,用不到就不加载
📝 实战:手把手创建一个周报 Skill
第一步:创建文件结构
在你的项目根目录下:
你的项目/
└── .claude/
└── skills/
└── weekly-report/ ← 文件夹名就是 Skill 名
└── SKILL.md ← 必须大写,AI 靠这个文件名识别
💡 路径说明:
./.claude/skills/—— 项目级,只在该项目生效(Claude Code)./.github/skills/或./.agents/skills/—— GitHub Copilot 也支持~/.claude/skills/—— 全局级,在哪都能用
第二步:写入 Skill 内容
文件:SKILL.md
---
name: weekly-report
description: "当用户要求写周报、生成周报、总结本周工作时启用"
---
# 周报生成 Skill
## 触发条件
当用户要求写周报、生成周报、总结本周工作时启用。
## 输出格式要求
【周报】XXX部门-姓名-第X周(日期范围)
一、本周重点工作完成情况
- [事项1]:完成情况(量化描述)
- [事项2]:完成情况
- ...
二、问题与风险
| 问题描述 | 影响程度 | 解决方案 | 需支持 |
|---------|---------|---------|--------|
| ... | ... | ... | ... |
三、下周工作计划
- [优先级P0] 事项1(预期完成时间)
- [优先级P1] 事项2
四、需要的支持
(如有)
## 注意事项
1. 所有事项必须量化,避免"基本完成"等模糊表述
2. 风险问题必须给出解决方案,不能只抛问题
3. 语气正式,适合发给直属领导
4. 如果用户提供了具体完成事项,直接填充到表格中
文件结构说明:
---包裹的部分叫 frontmatter,必须包含name和descriptionname必须和文件夹名一致description很重要,AI 靠它判断是否触发这个 Skill- 下面的内容就是完整的 Prompt 指令
第三步:测试使用
- 保存文件后,重新开启一个 AI 对话(Skill 在启动时扫描)
- 输入:
帮我写本周周报 - AI 会自动按你预设的格式输出,无需再交代"规矩"
🎯 Skill vs 其他方案:为什么要用它?
对比 1:Skill vs 手动复制 Prompt
| 维度 | 手动复制 Prompt | Agent Skill |
|---|---|---|
| 持久性 | 每次新对话都要重新粘贴 | 文件持久化,自动加载 |
| 便捷性 | 找历史记录 → 复制 → 粘贴 | 一句话触发 |
| 团队协作 | 只能自己用 | 写在项目里,团队共用 |
| 版本管理 | 混乱,不知道哪个是最新版 | Git 管理,可追溯 |
对比 2:Skill vs 自定义指令(Custom Instructions)
你可能想问:“这和我直接在 AI 设置里写’自定义指令’有什么区别?”
| 对比维度 | 自定义指令 | Agent Skill |
|---|---|---|
| 作用范围 | 全局生效,所有对话都用同一套 | 按项目/场景灵活选择 |
| 内容长度 | 通常几百字,长了容易冲突 | 每个 Skill 独立,可以写很长 |
| 触发方式 | 每次对话都加载 | 按需触发,不相关时不加载 |
| 适用场景 | 个人通用习惯(如"我是程序员,用中文回答") | 具体任务(如"写周报"“生成 API 文档”) |
结论:两者不冲突。
- 自定义指令 = 你的"个人人设",放全局偏好
- Skill = 你的"工作任务包",按场景加载
🔧 进阶玩法
玩法 1:多 Skill 协同
一个项目可以有多个 Skill,AI 自动匹配:
.claude/skills/
├── weekly-report/ # 写周报
├── meeting-notes/ # 会议纪要
├── data-analysis/ # 数据分析报告
└── email-reply/ # 邮件回复模板
你说什么,AI 就触发什么:
- “帮我写周报” → 触发 weekly-report
- “整理一下刚才的会议内容” → 触发 meeting-notes
玩法 2:引用外部资源(Level 3)
Skill 可以引用项目里的其他文件,实现模板和指令分离:
---
name: proposal
description: "生成技术方案文档"
---
请读取 template/proposal.md 文件,按该模板结构生成方案。
模板包含章节:背景、技术选型、架构设计、风险评估...
使用场景:
- 公司 PPT 模板更新了 → 只需改
template/proposal.md,不用改 Skill - 不同项目用不同模板 → Skill 复用,只换模板文件
好处:模板和 Skill 解耦,维护更方便。
玩法 3:全局 + 项目级搭配
~/.claude/skills/ # 全局
└── my-style/ # 个人写作风格
./.claude/skills/ # 项目级
└── weekly-report/ # 公司周报模板
- 全局 Skill:走到哪用到哪(如个人偏好的语气风格)
- 项目 Skill:只在特定项目生效(如该团队的周报模板)
💡 总结
| 维度 | 手动 Prompt | Agent Skill |
|---|---|---|
| 本质 | 每次对话临时写 | 预写的结构化 Prompt 文件 |
| 持久性 | 对话结束就消失 | 文件存储,跨会话复用 |
| 加载方式 | 每次手动发一遍 | AI 自动按需挂载 |
| 团队协作 | 无法共享 | 项目成员共用 |
| 管理方式 | 散落在各处 | 集中管理,版本可控 |
一句话概括:
Skill 是 AI 时代的"提示词工程化"——把零散的手写 Prompt,变成可复用、可管理、可共享的文件资产。
🎁 给你的行动建议
- 今天就开始:在你最常用的项目里创建
.claude/skills/ - 从高频场景入手:列出你每周让 AI 做 3 次以上的重复任务 → 做成 Skill
- 参考社区:访问 skills.sh 看别人怎么写
你平时最常让 AI 做哪些重复性任务? 评论区聊聊,看看能不能提炼成 Skill 👇
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)