一文理清:OpenClaw那些Agent Skills 的正确用法
传统方式下,每次使用AI都需要重新输入指令,无法将已经调试好的专业能力保存下来供后续使用。直到2025年10月Anthropic推出Agent Skills(现已成为开放标准),这个问题终于有了标准答案。本文将带你一文理清Agent Skills的正确用法,从是什么、怎么用到最佳实践,让你一次性彻底掌握这个比Prompt更高级、比MCP更易用的AI编程神器。
告别重复提示,让AI能力真正“即插即用”
你是不是也有过这样的崩溃时刻?每次让Claude写代码,都要反复粘贴“请使用我们的代码规范:驼峰命名、2空格缩进、必须写单元测试”——这种重复操作,简直像极了每天入职新公司;好不容易调教好的Prompt,换个项目就完全失效,仿佛之前的努力都付诸东流;团队里每个人给AI的指令都不一样,导致输出的内容一会儿像资深架构师,一会儿又像刚毕业的新手,让人哭笑不得。
这些问题的根源,其实是AI的专业能力无法沉淀。传统方式下,每次使用AI都需要重新输入指令,无法将已经调试好的专业能力保存下来供后续使用。直到2025年10月Anthropic推出Agent Skills(现已成为开放标准),这个问题终于有了标准答案。
本文将带你一文理清Agent Skills的正确用法,从是什么、怎么用到最佳实践,让你一次性彻底掌握这个比Prompt更高级、比MCP更易用的AI编程神器。
一、到底什么是Agent Skills?
1.1 核心概念:AI的“入职手册+工具箱”
用最通俗的比喻来理解,Agent Skill就是AI的“入职手册+工具箱”。
想象你招了一位天才实习生Claude,他智商极高但不懂你们公司的业务。传统的做法是每次布置任务都口头交代一遍(Prompt),就像每次都要重新给实习生讲解任务要求,不仅效率低下,还容易出现理解偏差。而Agent Skill则是给他一本完整的标准作业程序(SOP):
📋 入职手册(SKILL.md):包含岗位描述、工作流程、注意事项,就像给实习生一份详细的工作指南,让他清楚了解自己的职责和工作方法。
🧰 工具箱(Scripts):处理特定任务的脚本和代码,如同为实习生提供各种实用的工具,帮助他更高效地完成任务。
📚 参考资料(References):行业规范、模板素材、API文档,为实习生提供丰富的参考资料,让他在工作中能够随时查阅和学习。
1.2 技术本质:标准化的文件夹结构
从技术层面来看,一个Agent Skill本质上就是一个包含SKILL.md文件的文件夹,其结构如下:
my-skill/ # 技能包根目录
├── SKILL.md # 📄 核心文件:元数据 + 工作流指令(必须)
├── scripts/ # 🔧 可选:自动化脚本(Python/Bash)
├── references/ # 📖 可选:专业文档、API手册、FAQ
└── assets/ # 🎨 可选:模板、示例、静态资源
SKILL.md文件采用YAML前置元数据 + Markdown内容的格式,这是整个技能的灵魂。元数据部分用于描述技能的基本信息,如名称、描述、版本等;Markdown内容部分则详细定义了技能的工作流程、执行规则等。
1.3 与其他技术的区别
很多人会困惑:Skills、Prompts、MCP到底有什么区别?下面用一个表格帮你理清:
| 技术 | 本质 | 作用范围 | 持久性 | 比喻 |
|---|---|---|---|---|
| Prompts | 对话级指令 | 单次任务 | 临时 | 口头交代 |
| Agent Skills | 领域知识包 | 可复用能力 | 持久化 | 书面SOP + 工具箱 |
| MCP | 工具连接协议 | 外部系统对接 | 持久化 | USB接口 |
一句话总结:
MCP解决的是“能不能连”的问题,例如访问数据库、API、文件系统等,它就像一个USB接口,为AI提供了连接外部系统的通道;
Skill解决的是“怎么做”的问题,包括流程、规范、最佳实践等,它就像一本使用指南,告诉AI如何使用连接到的工具;
两者是互补关系,不是替代关系——MCP提供“工具”,Skill提供“使用指南”。
二、Agent Skills的工作原理
2.1 渐进式披露:最核心的创新
Agent Skills最精妙的设计,是它的“渐进式披露(Progressive Disclosure)”机制。就像你查字典,先看目录,再翻对应章节,最后查附录,不会一上来就把整本书塞进脑子里。
它采用三层加载机制:
| 层级 | 内容类型 | 加载时机 | Token消耗 | 作用 |
|---|---|---|---|---|
| L1 | 元数据(名称 + 描述) | Agent启动时自动加载 | 极低(<1%) | 让AI知道“有什么技能可用” |
| L2 | 说明文档(SKILL.md正文) | 匹配用户需求时加载 | 中等(5 - 10%) | 教AI“具体怎么做” |
| L3 | 资源文件(脚本/模板) | 执行中按需加载 | 高(可变) | 提供“工具/素材支持” |
这种设计带来的实际收益非常可观:
Token消耗降低60% - 80%:在处理长链条业务流程时效果显著。例如,在一个复杂的业务流程中,如果每次都加载所有相关内容,会消耗大量的Token,而渐进式披露机制可以根据需要逐步加载,大大减少了Token的使用。
指令遵循准确率提升:避免了“上下文污染”导致的指令漂移。传统的加载方式可能会将大量不相关的信息同时加载到上下文中,导致AI在处理指令时出现混淆,而渐进式披露机制可以确保AI只加载与当前任务相关的信息,从而提高指令遵循的准确率。
响应速度提升近50%:UBC的研究数据显示,相比多Agent架构,延迟降低约50%。由于减少了不必要的加载和计算,AI能够更快地响应用户的需求。
2.2 四步执行流程
当用户提出需求时,启用Skill的流程如下:
🎯 意图匹配:AI扫描所有Skill的元数据,找到最匹配当前任务的技能。就像在图书馆中根据书名和简介找到适合的书籍。
📖 读取指南:加载对应SKILL.md,掌握执行步骤、检查点、输出规范。这就像是打开书籍,阅读其中的具体内容,了解如何完成任务。
🔧 按需执行:调用scripts/中的脚本,查询references/中的资料。根据指南中的要求,使用相应的工具和参考资料来完成任务。
✅ 反馈结果:按模板输出成果,或询问缺失信息。将完成任务的结果按照规定的格式反馈给用户,如果缺少必要的信息,会主动询问用户。
三、如何创建你的第一个Agent Skill
3.1 场景设定:会议纪要整理助手
让我们通过一个会议纪要整理助手的案例,从零创建一个Skill。
场景:开会录音转文字后,需要整理成结构化会议纪要。不同会议类型(周会/项目复盘/客户沟通)需要不同的整理模板。例如,周会更注重工作进度和下周计划,项目复盘会则更关注项目成果和问题总结,客户沟通会则侧重于客户需求和合作意向。
3.2 创建Skill文件夹结构
/meeting-minutes/
├── SKILL.md # L1:技能元数据,L2:内容
├── references/ # L3:按会议类型按需加载
│ ├── weekly-rule.md # 周会模板
│ ├── retro-rule.md # 复盘模板
│ └── client-rule.md # 客户沟通模板
3.3 编写SKILL.md(核心文件)
第一步:元数据部分
---
name: meeting-minutes
description: 办公室通用会议纪要整理助手,支持周会/项目复盘会/客户沟通会三类场景,自动识别会议类型,按需加载对应会议规则,智能提取关键信息,输出结构化纪要。
version: 1.0.0
author: your-name
license: MIT
---
关于元数据的几个关键规则:
name必须与父目录名一致,只能用小写字母、数字、连字符。这样可以确保技能的唯一性和可识别性。
description要写清楚技能是干什么的、什么时候用,建议包含关键词方便意图匹配。例如,在这个案例中,描述中明确指出了技能的功能和适用场景,并且包含了“会议纪要”“周会”“项目复盘会”“客户沟通会”等关键词,方便AI在匹配用户需求时找到该技能。
不要超过64个字符(name)和1024个字符(description)。限制字符数可以使元数据更加简洁明了,便于管理和识别。
第二步:指令内容部分
1# 会议纪要整理专家
2
3## 技能概述
4你是一名专业的会议纪要整理专家。你的任务是根据原始会议录音转写文本,整理出结构清晰、重点突出的会议纪要。
5
6## 工作流程
7
8### 1. 识别会议类型
9分析原始文本,判断属于以下哪类会议:
10- **周会**:团队例行进度同步
11- **项目复盘会**:项目结束后的总结回顾
12- **客户沟通会**:与外部客户的交流会议
13
14### 2. 按类型加载模板
15根据识别出的会议类型,从 `references/` 目录下加载对应的规则文件:
16- 周会 → `weekly-rule.md`
17- 复盘会 → `retro-rule.md`
18- 客户沟通会 → `client-rule.md`
19
20### 3. 提取关键信息
21遵循加载的模板规则,提取以下信息:
22- 参会人员
23- 核心议题
24- 决议事项
25- 待办任务(负责人 + 截止时间)
26
27### 4. 输出结构化纪要
28按照Markdown格式输出最终纪要,格式如下:
29
30```markdown
31# 【会议类型】会议纪要 - {日期}
32
33## 📅 会议信息
34- **时间**:{会议时间}
35- **地点**:{会议地点/线上}
36- **主持人**:{主持人}
37- **参会人员**:{参会名单}
38- **记录人**:{记录人}
39
40## 🎯 核心议题
411. {议题1}
422. {议题2}
43...
44
45## ✅ 决议事项
46- {决议1}
47- {决议2}
48
49## 📋 待办任务
50| 任务 | 负责人 | 截止时间 |
51|------|--------|----------|
52| {任务1} | {负责人} | {时间} |
53| {任务2} | {负责人} | {时间} |
54
55## 💡 备注
56{其他重要信息}
注意事项
- 待办任务必须有明确的负责人和时间节点
- 涉及数字、日期等信息要精确提取
- 如果原始文本信息不足,主动提问补全
1### 3.4 编写模块化配置references
2**weekly-rule.md**(周会模板):
3```markdown
4# 周会纪要规则
5
6## 重点关注
7- 上周工作完成情况
8- 本周工作计划
9- 遇到的阻塞问题
10- 需要协调的资源
11
12## 提取要点
131. **进度同步**:每人汇报“已完成/进行中/待开始”
142. **问题反馈**:开发/测试/运维各环节的痛点
153. **下周计划**:明确优先级和时间节点
16
17## 输出重点
18- 用✅标记已完成的工作
19- 用⚠️标记阻塞问题
20- 用📅标记下周关键节点
3.5 测试你的Skill(以Trae/Claude Code为例)
1. 安装Skill
1# 如果是Claude Code
2mkdir -p ~/.config/claude-code/skills/
3cp -r meeting-minutes ~/.config/claude-code/skills/
4
5# 或者使用skills CLI
6npx skills add ./meeting-minutes
2. 使用Skill
输入提示词:
1帮我生成周会会议纪要
2
3原始文本:
4小明:用户模块我搞完了,已经提测。
5小红:接口文档我还没弄,我负责写,周五前给出来。
6张三:测试环境那个问题搞不定,需要运维老陈帮忙看看。
7李四:下周我打算开始订单模块,周三前出个技术方案看看。
8王五:数据库设计谁review一下?
9小明:我来吧,不过得明天才有空。
3. 预期输出:
1# 周会会议纪要 - 2026年3月9日
2
3## 📅 会议信息
4- **时间**:未提供(建议补充)
5- **主持人**:未提供(建议补充)
6- **参会人员**:小明、小红、张三、李四、王五
7
8## 🎯 核心议题
91. 各模块开发进度同步
102. 测试环境问题协调
113. 数据库设计评审安排
12
13## ✅ 进度同步
14- **已完成**:用户模块开发(小明)
15- **进行中**:接口文档编写(小红,预计周五完成)
16- **待开始**:订单模块技术方案(李四,计划周三前出方案)
17
18## ⚠️ 阻塞问题
19- 测试环境问题需要运维老陈支持(张三)
20
21## 📋 待办任务
22| 任务 | 负责人 | 截止时间 |
23|------|--------|----------|
24| 完成接口文档 | 小红 | 本周五 |
25| 输出订单模块技术方案 | 李四 | 下周三前 |
26| Review数据库设计 | 小明 | 明天 |
27| 协助解决测试环境问题 | 老陈 | 待确认 |
28
29## 📅 下周计划
30- 订单模块启动(李四)
31- 待补充
四、Skill的高级用法
4.1 使用Scripts:从“建议者”变为“执行者”
Scripts让AI不仅能“说”,还能“做”——执行真实的代码,产生实际的输出。
示例:数据分析Skill的脚本设计
# scripts/analyze_data.py
import pandas as pd
import matplotlib.pyplot as plt
import sys
import json
def analyze_csv(file_path, metric):
"""分析CSV文件并生成图表"""
df = pd.read_csv(file_path)
# 计算指标
result = {
"mean": df[metric].mean(),
"max": df[metric].max(),
"min": df[metric].min(),
"trend": "上升" if df[metric].iloc[-1] > df[metric].iloc[0] else "下降"
}
# 生成图表
plt.figure(figsize=(10, 6))
df[metric].plot(kind='line')
plt.title(f'{metric}趋势分析')
plt.savefig('/workspace/trend_chart.png')
return json.dumps(result)
if __name__ == "__main__":
file_path = sys.argv[1]
metric = sys.argv[2]
print(analyze_csv(file_path, metric))
在SKILL.md中定义调用方式:
## 执行规则
当需要数据分析时:
1. 要求用户上传CSV文件
2. 调用 `scripts/analyze_data.py` 进行分析
3. 参数格式:`python analyze_data.py {文件路径} {指标名称}`
4. 将计算结果整合到报告中,并引用生成的图表
通过使用Scripts,AI可以直接执行数据分析代码,生成分析结果和图表,而不仅仅是给出分析建议,大大提高了工作效率和准确性。
4.2 技能组合:构建自动化工作流
在实际工作中,很多任务需要多个技能协同工作。技能组合让多个技能能够数据自动流转,你只需要一句话触发整个工作流。
示例:全自动内容生产流水线
yaml
1name: content-pipeline
2description: 全自动内容生产流程,从选题到发布一站式完成
markdown
1## 工作流
21. **$web-researcher**:收集行业资讯和热点话题
32. **$content-outliner**:根据SEO策略生成文章大纲
43. **$blog-writer**:撰写正文内容
54. **$image-generator**:生成配图(调用DALL·E API)
65. **$seo-optimizer**:优化关键词和meta标签
76. **$social-publisher**:发布到各平台
8
9## 执行触发
10当用户说“写一篇关于[主题]的文章”时自动启动
使用效果:
1你只需要说一句话:
2写一篇关于"2025年AI发展趋势"的文章
3
4AI自动完成:
5✓ 搜索最新AI新闻和报告(2分钟)
6✓ 生成结构化大纲(1分钟)
7✓ 撰写5000字文章(3分钟)
8✓ 生成3张配图(2分钟)
9✓ SEO优化(1分钟)
10✓ 一键发布到公众号、知乎、掘金(1分钟)
11
12总耗时:10分钟 vs 人工4小时
通过技能组合,AI可以自动完成从选题到发布的整个内容生产流程,大大节省了人工操作的时间和精力。
4.3 与MCP协同:双引擎架构
在2026年的技术栈中,MCP与Agent Skills构成了AI应用的“双引擎”。
协同工作流示例:股票分析Agent
获取数据(MCP):
模型调用Yahoo Finance MCP Server
MCP返回原始JSON数据:{"symbol": "NVDA", "price": 145.2, "pe_ratio": 65...}
处理数据(Skill):
模型激活Investment_Analyst Skill
Skill规则规定:“当PE Ratio > 50时,必须引用risk_assessment.md进行高估值风险提示”
最终产出:
用户得到一份既包含实时数据(来自MCP),又符合专业研报格式(来自Skill)的分析报告
MCP和Agent Skills的协同工作,使得AI能够获取实时数据,并按照专业规范进行处理和分析,为用户提供更加准确和有价值的信息。
五、Agent Skills生态与工具
5.1 官方技能库
Anthropic官方提供了丰富的技能集,包括:
文档处理(PowerPoint、Excel、Word、PDF):帮助用户处理各种文档,如生成PPT、分析Excel数据、编辑Word文档、提取PDF信息等。
数据分析和可视化:提供数据分析的工具和方法,帮助用户从数据中提取有价值的信息,并通过图表等形式进行可视化展示。
品牌规范模板:确保生成的内容符合品牌规范,如统一的字体、颜色、风格等。
5.2 社区生态工具
Skill Seekers:自动抓取文档网站、GitHub仓库和PDF文件转换为Agent Skills。例如,使用以下命令将Spring官方文档转换为技能包:
skill-seeker convert https://spring.io/docs --output spring-framework-skill
Superpowers:涵盖完整编程项目工作流的技能集合,包括:
项目初始化和配置:帮助用户快速初始化项目,配置开发环境。
代码规范检查:确保代码符合规定的规范,提高代码质量。
测试覆盖率分析:分析代码的测试覆盖率,帮助用户发现未测试的代码部分。
CI/CD自动化:实现持续集成和持续部署,提高开发效率。
技能商店(SkillsMP):自动抓取GitHub上的所有Skills项目,按分类、Star数量整理,一键下载安装。用户可以根据自己的需求在技能商店中搜索并下载合适的技能。
5.3 跨平台支持
Agent Skills作为开放标准,已被多个主流平台支持:
| 平台 | 支持状态 | 使用方式 |
|---|---|---|
| Claude Code | 完整支持 | 原生集成 |
| Claude.ai | 完整支持 | 设置上传 |
| VS Code | 完整支持 | chat.useAgentSkills |
| Cursor | 完整支持 | 文档支持 |
| GitHub Copilot | 完整支持 | 原生集成 |
| Trae | 完整支持 | 国内AI IDE原生支持 |
六、最佳实践与避坑指南
6.1 正确划分:什么时候用Skill,什么时候用AGENTS.md
根据Vercel的官方建议,你应该这样划分:
放在AGENTS.md(常驻上下文)当:
规则适用于几乎所有任务:例如,一些通用的安全规则、格式规范等,适用于各种任务场景,可以放在AGENTS.md中,让AI在处理所有任务时都遵循这些规则。
需要最高可靠性(不需要AI做激活决策):一些关键规则,如数据安全规则,必须始终被遵守,不需要AI根据情况决定是否激活,可以放在AGENTS.md中。
AI永远不应该忽略的规则(如安全护栏、格式规范):这些规则是保障任务顺利进行和数据安全的基础,必须放在AGENTS.md中,确保AI不会忽略。
放在Skill当:
是专业化的特定工作流:例如,特定的数据分析流程、内容生产流程等,只适用于特定的任务场景,可以放在Skill中。
只是偶尔使用:一些不常用的规则或流程,可以放在Skill中,避免占用AGENTS.md的空间。
希望在不同项目/团队间可发现、可复用:如果希望某个规则或流程能够在不同项目或团队之间共享和复用,可以将其封装成Skill。
6.2 description的写法:这是路由的关键
大多数系统主要通过description字段决定是否激活技能。所以不要把description当作标题,要当作路由规则。
❌ 错误写法:
description: 帮助处理PDF。
✅ 正确写法:
description: 从PDF提取文本和表格,填写表单,合并文档。当用户提到PDF、表单、扫描、文档提取时使用。
正确的写法详细描述了技能的功能和适用场景,并包含了相关的关键词,方便AI在匹配用户需求时准确激活该技能。
6.3 技能数量的上限
研究发现,单Agent能有效管理的技能数量存在阈值。当技能库超过50个左右时,技能选择的准确率会急剧下降。
主要原因:
语义混淆:多个技能的description太相似或太宽泛,导致AI在匹配用户需求时难以准确选择合适的技能。
选择瘫痪:AI面对太多选项时,决策能力下降,无法快速确定最匹配的技能。
解决方案:
持续监控技能数量,避免超过阈值:定期检查技能库中的技能数量,及时清理不再使用的技能。
合并相似技能,而不是无脑堆砌:对于功能相似的技能,可以进行合并,减少技能数量,提高技能选择的准确率。
更多推荐


所有评论(0)