Skill 是什么?一个让 AI 从"现想"变成"照做"的操作手册
摘要:每次让 AI 整理会议纪要,都要重新解释一遍格式要求?Skill 就是解决这个问题的------把重复性任务的"最佳实践"固化下来,让 AI 遇到同类任务时直接照章执行。本文从两个实际 Skill 案例出发,拆解 Skill 的结构、原理和工程化价值。
📑 目录
- 你还在把 AI 当搜索引擎用吗?
- Skill 是什么?AI 的"操作手册"
- Skill 的物理结构:一个文件夹三部分
- 案例一:会议纪要 Skill
- 案例二:每日 AI 新闻 Skill
- Skill 的底层原理:为什么它能降本增效
- Skill vs System Prompt vs Rules vs MCP Tool
- Skill 的生命周期:Agent 如何加载和使用
- 如何写好一个 Skill
- 一点总结
- 互动讨论
你还在把 AI 当搜索引擎用吗?

这张图描述的是很多人使用 AI 的方式:提个问题,得到答案,关掉。像查字典一样------查到底就走,不思考,不探索,不深入。
这没有错,但它只是 AI 能力的皮毛。当你需要 AI 完成一个复杂的、重复性的任务时,这种"一问一答"的模式就会暴露出问题:
- 每次都要重新解释任务背景和格式要求
- 每次输出的格式都有细微差异
- 遇到复杂任务,AI 不知道从哪里开始
一个让人头疼的场景:开完一个小时的会,手上有录音转写的文字稿,需要整理成结构清晰的会议纪要。你打开对话框,开始打字:
"帮我把这段会议记录整理成会议纪要,要包含会议基本信息、会议目标、按主题划分的讨论内容、行动项......格式用 Markdown 表格......"
每次都要重新解释一遍。每次 AI 输出的格式都有细微差异。每次都要手动调整。
如果这些"重复性工作"能一次性固化下来,下次直接调用就好了------这就是 Skill 要解决的问题。
Skill 是什么?AI 的"操作手册"
Skill(技能)是一个结构化的文件夹,内含 SKILL.md 指令文件、可执行脚本和参考数据。它为 LLM 提供了特定任务的最佳实践流程包,使 Agent 在处理相同类型的问题时,能够直接按照固化流程执行,而非每次都重新推理。
一句话本质:Skill = AI 的"操作手册 + 工具箱"
你不需要每次都教 AI"怎么做",而是提前把流程写好,AI 遇到同类任务时"照章办事"即可。
Skill 的核心价值:
| 价值 | 说明 |
|---|---|
| 降本 | 把"临时推理"降级为"读取执行",大幅降低 Token 消耗 |
| 提质 | 通过固化流程锚定输出格式,通过脚本确保确定性操作零失误 |
| 复用 | 一次编写,可在不同 Agent(Claude、Cursor、自建 Agent)之间复用 |
Skill 的物理结构:一个文件夹三部分
一个标准的 Skill 文件夹包含三大部分:
text
perl
my-skill/
├── SKILL.md # 必需:元数据 + 操作指令
├── scripts/ # 可选:可执行脚本
└── references/ # 可选:参考数据、模板
| 组成部分 | 作用 | 谁在消费它 |
|---|---|---|
| SKILL.md(必需) | YAML 头部(名称、描述)+ Markdown 正文(步骤、规则、约束) | LLM(大脑) 阅读并理解 |
| scripts/ | 存放可执行的 .py、.js、.sh 文件,执行确定性操作 |
系统(手脚) 直接执行 |
| references/ | 存放模板、数据文件、图片等,LLM 按需读取 | LLM(按需加载) |
SKILL.md 的头部使用 YAML 格式,包含 name 和 description:
yaml
yaml
---
name: meeting-minutes
description: 当用户提供会议录音转文字、会议记录等材料,要求整理会议纪要时触发此技能。
---
description 字段决定了 Agent 能否在合适的时机加载此 Skill------描述越精准,触发越准确。Agent 启动时只会读取所有 Skill 的 YAML 头部(name + description),形成"技能目录",不会加载完整内容,这样保证了上下文窗口不被无关内容占据。
案例一:会议纪要 Skill
在 SKILL.md 中,工作流程被拆解为清晰的步骤:
第一步:通读与清洗
去除口头停顿词(嗯、啊、那个、就是说)、重复的寒暄、与会议无关的闲聊,保留实质性讨论内容。
第二步:提取结构化信息
从清洗后的内容中提取:
- 会议基本信息:时间、地点、参会人员、主持人
- 会议目标:要解决什么问题、背景信息
- 会议内容:按主题划分,记录讨论要点、结论、分歧
- 行动项:任务、负责人、截止时间
第三步:按模板输出
使用固定的 Markdown 模板输出,不确定的内容直接留空,绝不编造。
markdown
shell
# [会议标题]
## 📋 会议基本信息
| 项目 | 内容 |
|------|------|
| **会议类型** | ... |
| **时间** | ... |
## 🎯 会议目标
...
## 📝 会议内容
### 主题一:[主题名称]
**讨论要点:** ...
**结论/共识:** ...
## ✅ 行动项
| 序号 | 任务描述 | 负责人 | 截止时间 |
|------|---------|--------|---------|
| 1 | ... | ... | ... |
核心原则
- 宁缺毋滥:无法确定的信息一律留空,绝不编造
- 忠实原文:纪要必须基于实际讨论,不添加个人解读
- 行动导向:突出行动项,确保责任明确
有了这个 Skill,每次整理会议纪要时,只需要告诉 AI "帮我生成会议纪要",它就会自动按照这套流程执行------不需要重新解释格式,不需要担心输出不一致。
案例二:每日 AI 新闻 Skill
另一个 Skill 更复杂一些,它生成了一个完整的 HTML 页面。这个 Skill 的工作流程是:
第一步:采集新闻
使用 WebSearch 从 TechCrunch、The Verge、Hacker News、Reddit 等来源搜索近 24 小时内的 AI 新闻。
第二步:智能过滤
只保留满足以下条件的资讯:
- 与 AI/ML/LLM 直接相关
- 有信息价值(排除纯八卦和重复报道)
- 覆盖模型发布、产品动态、政策监管、投融资等不同维度
最终保留 8-15 条高质量资讯。
第三步:生成中文摘要
将每条资讯转化为 50-100 字的中文精华版,并标注 3-5 个关键词标签。
第四步:生成 HTML 页面
使用模板生成精美的可视化日报页面:
此处插入图片:ai-daily-2026-07-17.html 的截图------展示卡片式设计的 AI 日报页面,包含渐变色顶栏、统计栏、带标签的资讯卡片
这个 Skill 生成的 HTML 页面具备:
- 渐变色标题区域 + 日期副标题
- 统计栏(新闻总数、覆盖来源数)
- 卡片式设计,每条资讯一张卡片
- 来源标签、中文摘要、关键词标签、原文链接
- 支持浅色/深色模式
这个 Skill 的价值在于:它不只是"写一段文字回复",而是生成了一个可直接使用的产品------一份精美的 HTML 日报页面。
Skill 的底层原理:为什么它能降本增效
"思考"的降级:从推理到执行
| 模式 | LLM 的行为 | Token 消耗类型 | 类比 |
|---|---|---|---|
| System Prompt(纯文本) | 每次都要"推理"如何组织行为 | 推理 Token(高) | 看着菜谱学做菜 |
| Skill(固化流程) | 按照预置步骤"执行" | 读取 Token(低) | 照着流水线作业指导书拧螺丝 |
System Prompt 模式:LLM 必须在推理时动态构建行为规则。它需要一边读,一边在脑子里模拟"我该怎么做",最后才生成输出。这个过程中的 Token 消耗,大部分花在了"规划路径"上。
Skill 模式 :SKILL.md 已经把步骤写死了。LLM 不需要去"悟"出这些步骤,只需要按图索骥。决策被提前"预编译"成了文本,LLM 只需要花很少的 Token 去读取这段指令。
关键认知: Skill 减少的不是 LLM 的"所有思考",而是它"不擅长且昂贵"的那部分思考------流程规划、格式决策。
Skill vs System Prompt vs Rules vs MCP Tool
这几个概念容易混淆,它们的区别在于:
| 概念 | 本质 | 作用域 | 谁来执行 |
|---|---|---|---|
| System Prompt | 全局"人设"和顶层约束 | 全局(作用于所有对话) | LLM 读取,引导语气 |
| Rules | 针对特定项目的局部约束 | 局部(匹配路径时触发) | LLM 读取,作为硬性约束 |
| MCP Tool | 能力接口,定义"能做什么" | 全局或按需连接 | 系统/函数执行 |
| Skill | 最佳实践流程包 = 指令 + 脚本 + 资料 | 按需加载(匹配任务时) | LLM + 系统协作完成 |
决策树(帮你决定用什么)
- 只改语气或基础背景 → System Prompt
- 只限制某类文件操作 → Rules
- 需要一个通用的原子能力(如发邮件) → MCP Tool
- 需要 5 个以上的步骤协调完成,且包含脚本复用 → Skill
Skill 的生命周期:Agent 如何加载和使用
现代 Skill 框架遵循 "三段式渐进披露" 策略:
| 阶段 | 操作 | Token 消耗 | 说明 |
|---|---|---|---|
| 1. 预加载(索引阶段) | Agent 启动时,只读取所有 Skill 的 YAML 头部(name + description) |
极低 | 形成一个"技能目录" |
| 2. 按需激活(触发阶段) | 任务触发匹配时,动态读取 SKILL.md 正文 |
中等 | 只有相关 Skill 被加载 |
| 3. 深度执行(运行时阶段) | 遇到 scripts/ 调用时执行脚本 |
低 | 确定性操作下沉到脚本 |
Agent 启动时并不加载所有 Skill 的完整内容,而是先建立索引。只有当用户的任务匹配到某个 Skill 的
description时,才加载其完整指令。这保证了上下文窗口不被无关内容占据。
如何写好一个 Skill
Skill 的质量直接决定了它能"节省"多少推理 Token:
| 质量等级 | 特征 | 实际效果 |
|---|---|---|
| ❌ 模糊型 | "请总结会议内容,要专业一点。" | Token 消耗高,结果不稳定 |
| ✅ 流程型 | "步骤1:提取议题;步骤2:提取决议;步骤3:按模板输出。" | Token 消耗中,结果较稳定 |
| 🚀 脚本型 | "步骤1:运行脚本提取数据;步骤2:按模板输出;步骤3:若报错回退到手写。" | Token 消耗极低,结果稳定 |
编写 Skill 的黄金原则
写完 SKILL.md 后问自己一个问题: "这段描述,是让 LLM 去'猜',还是让 LLM 去'做'?"
- 如果答案是"做",那就是一个好的 Skill
- 如果答案是"猜",那就需要把步骤写得更具体、更可执行
YAML 头部 description 的写法
| 描述类型 | 示例 | 命中率 |
|---|---|---|
| ❌ 模糊 | "用于处理会议记录。" | 低 |
| ✅ 精准 | "当用户输入包含'会议录音''会议纪要''会议总结'等关键词时使用。" | 高 |
核心原则:
description越像"触发条件清单",Agent 越不容易漏掉它。
输入输出示例的重要性
在 SKILL.md 中提供具体的输入输出示例,可以大幅提升输出的稳定性。LLM 通过 Few-shot 学习,能够更准确地理解期望的输出格式。
一点总结
Skill = 预先写好的"标准作业流程包" ,包含 指令(
SKILL.md)+ 脚本(scripts/)+ 资料(references/) 。Agent = 通用的推理引擎 ,通过 "启动时索引 + 运行时按需加载" 的方式集成 Skill。
Skill 的本质价值:
- 降本:把"临时推理"降级为"读取执行",大幅降低 Token 消耗
- 提质:通过固化流程锚定输出格式,通过脚本确保确定性操作零失误
- 复用:一次编写,可在不同 Agent(Claude、Cursor、自建 Agent)之间复用
Skill 不是让 LLM 停止思考,而是让 LLM 把思考路径提前走完,把结果固化成一个可重用的模板------就像我们刷题刷出肌肉记忆一样。
互动讨论
- 你在日常使用 AI 时,有哪些重复性任务可以固化为 Skill? 比如代码审查、周报生成、文档翻译?
- Skill 和 System Prompt 的核心区别是什么? 为什么说 Skill 更"轻"?
description字段写得好不好,会直接影响 Agent 能否在正确时机加载 Skill。 你见过哪些写得好的触发条件?- Skill 中的
scripts/和references/分别解决什么问题? 它们如何与SKILL.md配合? - 你觉得 Skill 的"降本增效"主要体现在哪些环节? 有没有实际的数据或感受?
📌 一点心得:Skill 的核心价值不在于"让 AI 更聪明",而在于"让 AI 更稳定"。把重复性工作的最佳实践固化下来,AI 就不需要每次都"重新发明轮子"。