6.1 什么是 Claude Skills:模块化的专业能力扩展
在 2025 年 10 月,Anthropic 正式发布了 Agent Skills 功能。这标志着 Claude 从一个通用的对话助手,进化为可以被 定制化增强 的专业化平台。
6.1.1 官方定义
根据 Anthropic 官方博客的定义:
Skills are folders that include instructions, scripts, and resources that Claude can load when needed.
翻译过来就是:Skills 是包含指令、脚本和资源的文件夹,Claude 可以在需要时动态加载它们。
这个定义揭示了 Skills 的三个核心特征:
文件夹结构:Skills 不是一段 Prompt 文本,而是一个工程化的目录。
多类型资源:可以包含 Markdown 指令、可执行脚本、参考文档等。
按需加载:Claude 会根据任务自动判断是否需要加载某个 Skill。
6.1.2 核心范式转变:从 Prompt Engineering 到 Context Engineering
Skills 的出现代表了一个更深层次的理念转变:上下文工程(Context Engineering)。
传统的 Prompt Engineering 关注如何通过话术让 AI “听懂指令”。而 Context Engineering 将模型的有限上下文窗口视为一种 稀缺的计算资源:
信噪比优化:每一个 Token 都应该提供有效信息,Skills 封装高密度的专业知识,避免通用废话占用上下文。
渐进式披露:不要一次性把所有知识塞给 Claude,Skills 支持 Just-In-Time 动态加载——只有当任务需要时,才注入相关上下文。
6.1.3 信息架构:Skills 的三层模型
为了实现高效的“上下文工程”,Skills 采用了三层信息架构设计。理解这个模型是写好 Skills 的基础。
L1: Metadata
name 和 description
Always Active
就像函数的签名。Claude 始终“看得到”这部分信息,用于判断是否调用该 Skill。因此这部分必须极其精简且具有区分度。
L2: Instructions
SKILL.md 的正文
On Trigger
就像函数的函数体。只有当 Skill 被命中(L1 匹配成功)时,这部分内容才会被加载到上下文中。
L3: Resources
Scripts, References
On Demand
就像函数调用的外部库。脚本只在执行时运行,参考文档只在明确读取时加载。这部分几乎不占用上下文窗口。
设计启示:
L1 要“轻”:不要在 description 里写具体操作步骤,只写“做什么”和“何时做”。
L2 要“准”:正文聚焦于具体执行逻辑。
L3 要“全”:把大量知识库和复杂逻辑下沉到 L3。
6.1.4 Skills 的四大特性
根据官方发布,Skills 具备以下核心特性:
Composable(可组合)
多个 Skills 可以组合使用,Claude 会自动判断和调用相关 Skill
Portable(可移植)
Skill 的文件结构和设计理念可跨 Claude.ai、Claude Code 和 API 复用,但不同产品面需要分别上传、安装或配置
Efficient(高效)
只加载当前任务所需的最小信息集,通过分层加载优化上下文使用
Powerful(强大)
Skills 可以包含可执行脚本,处理 Token 生成不擅长的任务(如精确计算、文件格式化)
为什么说 Skills 不是“玄学功能”
一个常见误解是:Skill 只是换了一种包装方式的 Prompt,本质上有没有都差不多。
2026 年的 SkillsBench 基准测试给出了更有说服力的答案:高质量、人工策展的 Skills 通常能显著提升智能体完成任务的成功率,但模型临时自写的 Skills 平均并不能带来稳定收益。
这说明了两件事:
Skills 确实能工作:它们不是“心理安慰式配置项”,而是可以被独立测量、经常能带来真实增益的运行时增强机制。
Skill 质量高度依赖工程设计:模型可能会受益于一份好 Skill,但并不意味着它能稳定写出同等质量的 Skill。
对 Claude 用户而言,这个结论非常重要:如果你已经知道某类任务需要固定流程、外部脚本、检查清单和错误处理,那么把这些知识沉淀成 Skill,通常比每次重新写长 Prompt 更稳。
6.1.5 Skills vs Prompts vs Projects vs MCP
这四个概念容易混淆,需要理清它们的区别:
System Prompt
对话开场白
设定整体风格和角色
单次会话
Projects
知识库容器
存放参考文档供 RAG 检索
跨会话持久
MCP
外部连接协议
连接 Notion、Slack 等外部数据源
配置后持久
Skills
专业能力包
封装特定任务的最佳实践和可执行逻辑
跨会话持久
关键区别:
Projects 提供 静态知识(What to know)
MCP 提供 外部数据访问(Where to look)
Skills 提供 执行方法(How to do)
跨产品边界:自定义 Skills 不会在 Claude.ai、Claude API 和 Claude Code 之间自动同步。Claude.ai 通常是个人上传;API 侧是 workspace-wide 管理;Claude Code 使用本地或项目文件系统路径,也可以通过插件分发。生产部署时要把“格式可移植”和“已在目标产品面安装”分开验证。
一个实际的例子:
Project: 存放公司的品牌规范 PDF
MCP: 连接 Figma 获取设计稿
Skill: 封装如何根据品牌规范检查设计稿的具体流程
6.1.6 Skills 的运作机制
Skills 的核心是 按需增强(On-Demand Augmentation):
工作流程:
语义分析:Claude 分析用户请求,与所有可用 Skills 的
description进行语义匹配。智能选择:这不是关键词匹配,而是理解上下文的语义匹配。多个 Skills 可以同时激活。
动态加载:仅加载匹配 Skill 的最小必要信息。
执行任务:使用 Skill 中的指令和工具完成任务。
6.1.7 Skills 的运行时架构(进阶)
来源说明:本节内容基于社区对 Claude Code 源代码的逆向分析(HitCC 项目,CC BY 4.0),描述的是 Claude Code CLI 的内部实现。具体行为可能随版本更新而变化。
前文 6.1.3 节的 L1/L2/L3 描述的是 Skill 信息的分层组织(元数据 → 正文 → 资源)。本节则从另一个维度——运行时处理流水线——来理解 Skills 系统在 Claude Code 内部是如何工作的:
注册
聚合来源
从多个来源(内置、项目目录、插件、MCP 命令等)聚合所有可用 Skill
发现
动态匹配
运行时根据文件路径和条件触发动态注册,支持“条件激活”——某些 Skill 只在访问特定目录时才启用
注入
Prompt 组装
通过声明列表和已调用 Skill 的指令两种方式注入上下文
执行
调用处理
处理斜杠命令调用和工具调用,支持内联展开和 Fork(子代理)两种执行路径
持久化
状态保持
在 compact 和 resume 操作中保持 Skill 调用状态
关键洞察:Prompt 中的 Skill 列表只是子集
运行时实际存在多个不同的 Skill 集合——全量注册表、可用性过滤后的运行时集合、向模型声明的 Prompt 子集、以及实际可执行的 Skill 池。模型只能调用在 Prompt 中声明的 Skill,但系统可以执行更多未声明的 Skill(如通过斜杠命令直接触发)。
Skill 可以改变执行环境
Skill 不仅仅是“信息传递”——在 Claude Code 中,被激活的 Skill 可以直接改变运行时执行上下文,例如声明额外的工具权限、指定使用特定模型、调整推理投入程度等。这意味着一个 Skill 被激活后,它不只是给模型提供了额外的指令文本,而是可能重塑了整个执行环境的参数。
Fork 模式
当 Skill 以 Fork 模式执行时(即在子代理中运行),系统会先将 Skill 预编译为完整的 prompt(包含所有必要的上下文和指令),然后在子代理上执行。这确保了子代理收到的是一个自包含的、完整的任务描述。
6.1.8 为什么需要 Skills?
降低 Prompt 工程门槛
普通用户无需编写复杂的 Prompt,只需启用相应的 Skill。例如,启用 Excel Skill 后,Claude 就能生成带有正确公式的专业电子表格。
团队标准化
企业可以定义标准的 Skills 并分发给所有员工。无论谁在使用 Claude,生成的内容都符合公司规范。
质量保证
Skills 可以包含可执行代码。对于需要精确计算的任务(如财务分析、数据处理),由代码执行而非 Token 生成,确保 100% 准确。
成本优化
SkillsBench 还提示了一个经常被低估的现实价值:小模型 + 高质量 Skill,往往可以逼近大模型裸跑的效果。
这意味着 Skill 不只是“让最强模型更强”,也是一种很实际的 成本控制手段:
简单和中等复杂度任务,可以优先尝试 Sonnet / Haiku + Skill;
只有在 Skill 无法覆盖或任务本身极其开放时,再升级到更贵的模型;
对稳定重复的企业流程,Skill 的一次性编写成本,往往能被后续的大量复用迅速摊薄。
理解了 Skills 的概念后,接下来我们深入探讨一个 Skill 的内部结构——官方的 SKILL.md 文件格式是什么样的?
最后更新于
