文章

别再复制粘贴提示词了!AI Agent Skill 到底是什么?

💡 Skill = 预置的 Prompt 模板,一次配置永久复用。本文详解 Agent Skill 的工作原理和三层加载机制,手把手教你创建自己的 Skill。

别再复制粘贴提示词了!AI Agent Skill 到底是什么?
AI在学公众号

🔍 微信扫码或搜索「AI在学」关注公众号

💡 用过 ChatGPT/Claude 的人都有这种经历:每次想让 AI 按特定格式输出,都要打一大段”规矩”。更烦的是,每次新开对话都要重新交代一遍。今天介绍的 Agent Skill,就是来解决这个问题的。


🤔 先花 1 分钟理解:什么是 Skill?

生活类比:手机的”快捷指令”

你一定用过手机的快捷指令(iPhone)或宏命令(Android):

  • 不用快捷指令:每天早上手动打开天气 App → 查看温度 → 打开音乐 App → 播放歌单 → 打开日历…(5 步操作)
  • 用了快捷指令:对 Siri 说”早上好”,一键完成以上所有操作

快捷指令 = 把你常做的一系列操作,打包成一个”咒语”

AI 领域的 Skill 同理

Skill 就是把你常让 AI 做的重复任务,连同”规矩”一起打包

你的重复任务每次要交代的”规矩”打包成 Skill 后
写周报格式要求、要包含哪些模块、语气风格只需说”帮我写周报”
整理会议纪要模板结构、要提炼行动项、@责任人只需说”整理一下纪要”
生成数据报告图表类型、分析维度、输出格式只需说”生成本周数据报告”

一句话定义

Skill = 预置的 Prompt 模板,你把”规矩”写成文件,AI 在需要的时候自动加载,不用每次都手动交代。


🔍 深入理解:Skill 在 AI 对话里是怎么工作的?

AI 对话时,实际发生了什么?

每次你和 AI 聊天,传过去的结构是这样的:

1
2
3
4
5
6
7
[系统提示词] ← AI 的"出厂设置"(比如"你是 Claude,一个AI助手")
    ↓
[上下文历史] ← 你们之前的对话记录
    ↓
[你的输入] ← 你刚刚说的话
    ↓
AI 开始思考并回复...

问题在这里:如果你希望 AI 按特定格式回复,传统做法是每次新开对话都要打 100 多字交代格式…

Skill 的方案:把”规矩”外挂到文件里

使用 Skill 后,你的输入变成:

1
2
3
4
5
6
7
8
9
10
11
12
13
你:帮我写本周周报

AI 实际收到的完整 Prompt:
---
[系统提示词]
+
[检测到 Skill: weekly-report]
Skill 内容:"当用户要求写周报时,请按以下格式..."
+
[用户输入:帮我写本周周报]
---
↓
AI 直接输出符合格式的周报

关键区别

  • 传统方式:你的”规矩”散落在每次对话里,换对话就丢了
  • Skill 方式:”规矩”写在文件里,AI 自动挂载,一次配置,永久复用

🛠️ Skill 的三层加载机制

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
┌────────────────────────────────────────────────────────────┐
│              AI 启动时扫描 Skills 目录                       │
│  ~/.claude/skills/       ← 全局 Skills(在哪都能用)          │
│  ./.claude/skills/       ← 项目 Skills(只在当前项目生效)     │
└────────────────────────────────────────────────────────────┘
                            ↓
┌────────────────────────────────────────────────────────────┐
│              Level 1:所有 Skill 的"索引"进入上下文            │
│  加载每个 Skill 的 name + description(约 50 字/个)           │
│  AI 靠这个判断:用户的话应该触发哪个 Skill?                    │
└────────────────────────────────────────────────────────────┘
                            ↓
┌────────────────────────────────────────────────────────────┐
│              Level 2:触发时注入完整提示词                     │
│  当用户说"帮我写周报"→ AI 匹配到 weekly-report               │
│  → 将该 Skill 的 SKILL.md 完整内容插入当前 Prompt            │
└────────────────────────────────────────────────────────────┘
                            ↓
┌────────────────────────────────────────────────────────────┐
│              Level 3:按需引用额外资源                        │
│  如果 Skill 引用了模板文件、示例文档 → 需要时再加载           │
│  不占用初始上下文空间,省 Token!                            │
└────────────────────────────────────────────────────────────┘

为什么要分层?

AI 的上下文窗口是有限的。分层设计的巧妙之处:

  • 平时:只加载”索引”(name + description),占用极小
  • 触发时:才加载该 Skill 的完整内容
  • 引用资源:按需读取,用不到就不加载

📝 实战:手把手创建一个周报 Skill

第一步:创建文件结构

1
2
3
4
5
你的项目/
└── .claude/
    └── skills/
        └── weekly-report/     ← 文件夹名就是 Skill 名
            └── SKILL.md       ← 必须大写,AI 靠这个文件名识别

💡 路径说明:

  • ./.claude/skills/ —— 项目级,只在该项目生效(Claude Code)
  • ~/.claude/skills/ —— 全局级,在哪都能用

第二步:写入 Skill 内容

文件:SKILL.md

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
---
name: weekly-report
description: "当用户要求写周报、生成周报、总结本周工作时启用"
---

# 周报生成 Skill

## 触发条件
当用户要求写周报、生成周报、总结本周工作时启用。

## 输出格式要求

【周报】XXX部门-姓名-第X周(日期范围)

一、本周重点工作完成情况
- [事项1]:完成情况(量化描述)
- [事项2]:完成情况
- ...

二、问题与风险
| 问题描述 | 影响程度 | 解决方案 | 需支持 |
|---------|---------|---------|--------|
| ...     | ...     | ...     | ...    |

、下周工作计划
- [优先级P0] 事项1(预期完成时间)
- [优先级P1] 事项2

、需要的支持
如有)

## 注意事项
1. 所有事项必须量化,避免"基本完成"等模糊表述
2. 风险问题必须给出解决方案,不能只抛问题
3. 语气正式,适合发给直属领导
4. 如果用户提供了具体完成事项,直接填充到表格中

第三步:测试使用

  1. 保存文件后,重新开启一个 AI 对话(Skill 在启动时扫描)
  2. 输入:帮我写本周周报
  3. AI 会自动按你预设的格式输出,无需再交代”规矩”

🎯 Skill vs 其他方案:为什么要用它?

对比 1:Skill vs 手动复制 Prompt

维度手动复制 PromptAgent Skill
持久性每次新对话都要重新粘贴文件持久化,自动加载
便捷性找历史记录 → 复制 → 粘贴一句话触发
团队协作只能自己用写在项目里,团队共用
版本管理混乱,不知道哪个是最新版Git 管理,可追溯

对比 2:Skill vs 自定义指令(Custom Instructions)

对比维度自定义指令Agent Skill
作用范围全局生效,所有对话都用同一套按项目/场景灵活选择
内容长度通常几百字,长了容易冲突每个 Skill 独立,可以写很长
触发方式每次对话都加载按需触发,不相关时不加载

结论:两者不冲突。

  • 自定义指令 = 你的”个人人设”,放全局偏好
  • Skill = 你的”工作任务包”,按场景加载

🔧 进阶玩法

玩法 1:多 Skill 协同

一个项目可以有多个 Skill,AI 自动匹配:

1
2
3
4
5
.claude/skills/
├── weekly-report/      # 写周报
├── meeting-notes/      # 会议纪要
├── data-analysis/      # 数据分析报告
└── email-reply/        # 邮件回复模板

玩法 2:引用外部资源(Level 3)

Skill 可以引用项目里的其他文件:

1
2
3
4
5
6
---
name: proposal
description: "生成技术方案文档"
---

请读取 template/proposal.md 文件,按该模板结构生成方案。

玩法 3:全局 + 项目级搭配

1
2
3
4
5
~/.claude/skills/           # 全局
    └── my-style/           # 个人写作风格

./.claude/skills/           # 项目级
    └── weekly-report/      # 公司周报模板

💡 总结

维度手动 PromptAgent Skill
本质每次对话临时写预写的结构化 Prompt 文件
持久性对话结束就消失文件存储,跨会话复用
加载方式每次手动发一遍AI 自动按需挂载
团队协作无法共享项目成员共用
管理方式散落在各处集中管理,版本可控

一句话概括

Skill 是 AI 时代的”提示词工程化”——把零散的手写 Prompt,变成可复用、可管理、可共享的文件资产。


🎁 给你的行动建议

  1. 今天就开始:在你最常用的项目里创建 .claude/skills/
  2. 从高频场景入手:列出你每周让 AI 做 3 次以上的重复任务 → 做成 Skill
  3. 参考社区:访问 skills.sh 看别人怎么写
本文由作者按照 CC BY 4.0 进行授权