Skills是Anthropic在2025年底推出的AI代理技能扩展机制,其核心是将“如何完成某类任务”的指令、脚本和模板打包成标准化的能力模块。
每个Skill本质上Skills 是一个包含指令、脚本和资源的文件夹,用于教会大模型如何更好地执行特定任务,根目录包含一个带YAML元数据的SKILL.md文件,描述技能的名称、用途和触发条件。目录内还可以包含Python脚本、参考文档、模板文件等资源。
二、 SKills目录结构一个技能包的核心目录和文件如下,其中 SKILL.md 是唯一必需的文件:
your-skill-name/
├── SKILL.md # 必需 - 主技能文件(命名区分大小写,技能的唯一入口和执行说明书,包含两部分内容:①YAML元数据: name(唯一标识符)和 description(描述技能用途和触发条件) ②Markdown指令: 分步骤的描述操作流程、规范和成功标准)
├── scripts/ # 可选 - 可执行代码(存放可执行脚本文件(如Python、Shell等),AI可以直接调用这些脚本执行具体操作,而不需要每次都生成代码)
│ ├── process_data.py
│ └── validate.sh
├── references/ # 可选 - 参考文档(存放AI在执行任务时可以按需参考的深度知识文档,如API文档、技术规范、最佳实践指南等)
│ ├── api-guide.md
│ └── examples/
└── assets/ # 可选 - 模板和资源(存放可复用的模板文件,例如报告模板、配置模板,AI可以基于这些模板来生成个性化的输出内容;存放静态资源,例如示意图、Logo图片、CSS文件等)
│ └── report-template.md
│ └── logo.png
└── ... # 可选 - Any additional files or directories
三、 Skills生态Skills标准与构建指南
● 核心标准官网: https://agentskills.io/home 这是Agent Skills开放标准的核心官网,包含了规范的核心定义和文档、最佳实践等
● 权威参考指南: https://resources.anthropic.com/hubfs/The-Complete-Guide-to-Building-Skill-for-Claude.pdf,这份由Anthropic发布的PDF是最权威的构建参考,详细阐述了设计理念和技术细节
Skills市场
● The Agent Skills Directory — Skills CLI 的官方查找页面
● https://github.com/anthropics/skills - Anthropic官方的参考实现,提供了大量示例,是学习最佳实践的好去处
●https://clawhub.ai/skills — OpenClaw 官方市场(类似 npm for AI agents)
●https://github.com/openai/skills/ - openAI Codex skills
● https://github.com/VoltAgent/awesome-agent-skills - 各官方开发团队和社区skills精选
四、 Skills 优势Skills VS 提示词
传统 Prompt Engineering 方案的常见痛点:
● 上下文污染:每次对话都需要携带完整的指令集,消耗大量 token
● 一致性差:不同用户、不同会话可能得到不同质量的输出
● 不可复用:专业知识难以跨会话、跨用户共享
● 维护困难:更新指令需要修改所有相关的 prompt
Skills 通过渐进式披露(Progressive Disclosure)机制显著改善了这些问题,这是其最核心的技术设计。
智能体不会一次性加载所有 Skill 的完整内容,而是分阶段按需加载,控制上下文占用:
● 启动阶段:只加载所有技能的name和description来判断相关性
● 激活阶段:当一个技能被判断为相关时,系统才完整加载其SKILL.md文件
● 执行阶段:AI在执行指令过程中,仅当需要时,才会加载references/或scripts/等目录中的具体文件
Skills vs MCP
Anthropic 官方提供了一个非常贴切的类比来解释 Skills 和 MCP 的关系:
● MCP 是专业厨房:提供工具、食材和设备的访问权限。它解决的是"Claude 能做什么"的问题,包括连接数据库、调用 API、访问文件系统等。
● Skills 是食谱:提供如何创造有价值成果的分步说明。它解决的是"Claude 应该怎么做"的问题,提供工作流程、最佳实践、领域知识指引。
在AI代理技术生态中,MCP、Skills和Tool三者各司其职、协同运作。理解三者的区别是正确选型的基础。
维度 | MCP | Skills | Tool |
技术定位 | 跨系统通信协议 | 能力模块/知识封装 | 原子操作 |
功能本质 | 解决“连接”问题 | 解决“能力”问题 | 解决“动作”问题 |
架构模式 | 客户端-服务器架构 | 文件夹存储,按需加载 | 单一函数/API调用 |
复杂度 | 需注册外部系统,接入成本较高 | 极简开发,代码量小 | 简单直接 |
典型场景 | 连接数据库、API、搜索引擎 | 固化领域知识、模板、命令组合 | 执行具体操作 |
类比 | “在线工具” | “离线手册+脚本” | 单个“扳手” |
MCP(模型上下文协议) 是一种开放协议,定义了AI应用与外部系统(数据源、工具、工作流)的交互标准,其核心目标是解决模型访问外部资源的“最后一公里”问题。通过MCP,模型可直接调用搜索引擎、数据库或本地文件系统,无需为每个工具单独开发适配层。
Skills 则是将业务逻辑封装为可复用的模块,模型在运行时动态加载所需技能,实现“即插即用”的专业化能力Skills与MCP的选择,本质是专业开发范式与全民开发范式的竞争——前者通过标准化接口保障工具质量与可维护性,后者通过极简开发流程释放生态创新力。未来生态将呈现“双轨并行”特征。
简言之:MCP是“在线工具”,Skills是“离线手册+脚本” 。Skills适合把领域知识、模板、命令组合固化下来,代价比MCP低,迁移比Prompt强。
五、Skills最佳实践几种典型的Skills
极简:
只有一个SKILL.md文件(中英文均可)
(查询天气)
# 技能名称:weather_query
## 描述
查询指定城市的实时天气信息,包括温度、天气状况、湿度、风速等。
## 何时使用(触发条件)
- 用户询问某个城市的天气,例如“北京今天天气怎么样?”
- 用户问未来短期天气(本技能目前仅支持实时天气,如需预报可使用其他 Skill)
- 用户提到“温度”、“会不会下雨”、“出门穿什么”等与当前天气相关的问题
## 怎么使用(调用方式)
1. 从用户问题中提取城市名称(如“北京”、“上海”)。
2. 可选:识别温度单位偏好(摄氏度/华氏度),默认为摄氏度。
3. 调用本 Skill,传入参数 `city` 和可选的 `unit`。
4. 将返回的结构化结果(温度、状况等)组织成自然语言回复用户。
## 示例对话
**用户**:深圳现在热不热?
**Agent 内部**:调用 weather_query(city="深圳", unit="celsius")
**Skill 返回**:{"city":"深圳","temperature":28,"condition":"多云","humidity":78}
**Agent 回复**:深圳当前28℃,多云,湿度78%,体感较热。
**用户**:纽约天气如何?用华氏度。
**Agent 内部**:调用 weather_query(city="纽约", unit="fahrenheit")
**Skill 返回**:{"city":"纽约","temperature":72,"condition":"晴","humidity":50}
**Agent 回复**:纽约当前72℉,晴天,湿度50%,天气不错。
## 注册信息(供 Agent 调用)
- **名称**:weather_query
- **描述**:获取任意城市的当前天气数据,支持国内外主要城市。
- **参数 Schema**:
```json
{
"type": "object",
"properties": {
"city": {"type": "string", "description": "城市名称,如'北京'、'New York'"},
"unit": {"type": "string", "enum": ["celsius", "fahrenheit"], "description": "温度单位,默认 celsius"}
},
"required": ["city"]
}
https://github.com/vercel-labs/skills/blob/main/skills/find-skills/SKILL.md?plain=1
有脚本的:
docx处理需要使用脚本 (https://github.com/anthropics/skills/blob/main/skills/docx/SKILL.md?plain=1)

有依赖项的:(https://github.com/openai/skills/blob/main/skills/.curated/pdf/SKILL.md?plain=1)
最佳实践要点
(详见:https://agentskills.io/skill-creation/best-practices)
(一) 从真实专长出发
不要依赖LLM的通用知识,而是从团队内部文档、故障复盘、代码评审记录等实际资料中提炼技能内容。真正有效的Skill源于项目自身的约定、边界情况和流程。
好的来源材料包括:
● 内部文档、故障演练手册、编码规范;
● API说明文档、数据模式、配置文件;
● 代码评审记录与问题跟踪系统(能捕捉住反复出现的问题和评审人的关注点);
● 版本管理历史,尤其是补丁与修复记录(从真实改动中反映出规律);
● 实际发生过的问题案例及其解决方案。
(二) 通过真实任务打磨
让代理用第一版Skill完成真实业务场景,观察执行日志和失败/成功结果,反复迭代修正。“运行→重新修订” 是提升质量最直接的路径。
(三) 合理利用上下文窗口
SKILL.md 控制在 500行/5000 token 以内,只写入代理无法从通用知识中获取的内容。详细的参考材料放入 references/,并通过明确指令告诉代理“何时”去加载(渐进式披露)。
(四) 设计高内聚、范围适中的能力单元
每个Skill只封装一个高内聚的工作单元(如“查询数据库+格式化结果”),避免过窄(导致频繁切换)或过宽(难以精确触发)。
(五) 校准指令的严格程度
1、 对灵活任务用“解释为什么”的柔性指令
2、 对脆弱、顺序敏感的操作用强制性指令(如“必须按顺序执行”)
3、 提供默认选项,而非平铺所有方案(如:文本提取请使用pdfplumber脚本)
(六) 使用有效的指令模式
1、 注意点章节:直接列出代理容易犯的错误和具体修正。
2、 输出格式模板:用模板比文字描述更可靠。
3、 检查清单 & 自校验循环:让代理追踪进度、自我验证。
4、 计划→校验→执行:对批量/高风险操作先生成计划,用脚本校验后再执行。
(七) 将重复逻辑打包成脚本
如果代理在不同场景中反复实现同一段逻辑(如解析格式、校验输出),应将其封装到 scripts/ 目录中的可测试脚本,避免每次重复造轮子。
六、 Skills开发实战直接使用OpenCode等AI工具生成Skills即可,然后放到智能体中测试验证、修改到满意为止即可。
1、 输入提示词:生成写Skills的提示词模版 或 基于skills-creator创建
2、 基于生成Skills的提示词模版 或者 现有的Skills,写生成具体Skills的提示词(交代清楚需求、执行步骤等)
3、 在OpenCode中验证此技能,有Bug让智能体修复即可
七、 可封装为Skills的工作Claude团队:如果一件事你需要重复3遍以上,请想尽一切办法,用AI将其自动掉。
你的日常工作存在大量重复性、多步骤、依赖工具链的日常工作,这些工作可沉淀为SOP,非常适合封装为 Skills。
八、 Skills 运行基本原理整体流程:

1. 注册阶段(系统启动时)
● Agent 向 Skill 和 Tool 获取能力描述(名称、功能、参数格式),并记录下来。
● 这样 Agent 就知道有哪些能力可用,后续可以告诉大模型。
2. 用户请求阶段
● 用户向 Agent 提出任务(例如“北京天气如何?该穿什么?”)。
● Agent 将系统提示、已注册的能力列表、对话历史和用户问题组合成提示词,发送给大模型。
● 大模型分析意图,决定调用哪个 Skill,并返回结构化的调用指令给 Agent。
3. 执行阶段(含 Skill 与大模型的多次交互)
● Agent 根据指令调用对应的 Skill,传入参数。
● Skill 首先进行参数校验,然后根据任务规划调用第一个 Tool(例如天气 API)。
● Tool 执行具体操作(如 HTTP 请求)并返回原始数据给 Skill。
● Skill 获得 Tool 结果后,并不直接整合,而是将中间结果通过 Agent 转发给大模型,请求大模型判断下一步动作(例如是否需要调用穿衣推荐工具、参数是什么、是否任务已完成)。
● 大模型返回决策(如“调用穿衣推荐工具,参数 temp=22”)。
● Skill 根据决策继续调用下一个 Tool,重复上述交互过程,直到大模型确认任务完成。
● 最后 Skill 将所有结果整理成结构化数据,返回给 Agent。
4. 生成回答阶段
● Agent 将 Skill 返回的最终结果作为新上下文,再次请求大模型生成自然语言回答。
● 大模型生成最终回复,Agent 将其返回给用户。
https://cloud.tencent.com.cn/developer/article/2630018?policyId=1003
https://news.qiniu.com/archives/1779169691054
https://claude.com/blog/lessons-from-building-claude-code-how-we-use-skills
https://research.perplexity.ai/articles/designing-refining-and-maintaining-agent-skills-at-perplexity
https://claude.com/blog/how-to-create-skills-key-steps-limitations-and-examples
https://claude.com/blog/extending-claude-capabilities-with-skills-mcp-servers
https://claude.com/blog/skills-explainedClaude Agent Skills: A First Principles Deep Dive







