今年 10 月,Anthropic 推出了 Claude Skills 能力,在 Claude 网页端、API 以及 Claude Code等产品都可以使用。
Claude Skills 解决了什么问题呢?一句话来讲,Claude Skills 是一种基于文件系统的、可复用的知识包,运行在 Claude 的沙盒虚拟机(VM)环境中,用于向 Agent 注入流程化、确定性的内部知识(SOP)的标准化方案。


什么是 Claude Skills

Anthropic 官方文档给出了 Agent Skills 的定义:

Agent Skills are modular capabilities that extend Claude’s functionality. Each Skill packages instructions, metadata, and optional resources (scripts, templates) that Claude uses automatically when relevant.
智能体技能(Agent Skills)是一种模块化的能力,用于扩展 Claude 的功能。每个“技能”都封装了相应的指令、元数据和可选资源(例如脚本、模板)。当场景匹配时,Claude 会自动调用这些技能来完成任务。

Agent Skills 的三大组成要素,同时也构成了上下文的三个层级,从抽象到具体:

  • 元数据:Skill 的名称、描述、标签等信息;指令:
  • Skill 具体的指令;
  • 资源:Skill 附带的相关资源(比如文件、可执行代码等)

Anthropic 在 GitHub 上开源了一系列的 Agent Skills: https://github.com/anthropics/skills

以 pdf 的 Skill 为例,一个 Skill 就是一个文件夹,可以包含嵌套的子文件夹,形成 Skills 的嵌套层级。这个设计堪称大道至简,符合直觉且非常有效。
上面的三要素对应:元数据:包含在 SKILL.md 的 YAML 头中;指令:SKILL.md 的内容;资源:Skill 文件夹中的其他文件,资源可以在指令中被引用;


Claude Skills 是如何被 Agent 感知的?

Claude Skills 设计遵循了一个非常重要的原则:Progressive Disclosure - 渐进式批露:分阶段、按需加载信息,而不是在任务开始时就将所有内容全部塞入本已宝贵的上下文窗口中。

整个加载过程分为三个层次,对应上面的三要素:

第一层:元数据(始终加载)

每个 Skill 都有一个 SKILL.md 文件,其头部的 YAML 元数据包含了名称和描述。

1
2
3
4
5
---
name: pdf
description: Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms. When Claude needs to fill in a PDF form or programmatically process, generate, or analyze PDF documents at scale.
license: Proprietary. LICENSE.txt has complete terms
---

元数据在 Claude 启动时加载,并始终保持在上下文窗口中,占用约 100 个 Token。

第二层:核心指令(触发时加载)

当 Claude 发现某个 Skill 与当前任务相关时,Claude 会使用 Bash 工具阅读 SKILL.md 文件的主体内容,例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# PDF Processing Guide

## Overview

This guide covers essential PDF processing operations using Python libraries and command-line tools. For advanced features, JavaScript libraries, and detailed examples, see reference.md. If you need to fill out a PDF form, read forms.md and follow its instructions.

## Quick Start

from pypdf import PdfReader, PdfWriter

# Read a PDF
reader = PdfReader("document.pdf")
print(f"Pages: {len(reader.pages)}")

# Extract text
text = ""
for page in reader.pages:
text += page.extract_text()

第三层:代码与资源(按需加载)

一个复杂的 Skill 可能包含多个文件,形成一个完整的知识库。

1
2
3
4
5
6
pdf-skill/
├── SKILL.md (核心指令)
├── FORMS.md (表单填写指南)
├── REFERENCE.md (详细的 API 参考)
└── scripts/
    └── fill_form.py (实用工具脚本)

Claude 会根据 SKILL.md 中的指引,在需要时才去读取 FORMS.md 或执行 fill_form.py 脚本。

执行脚本是最高效的方式。脚本代码本身永远不会进入上下文窗口,只有脚本的输出结果(例如 “验证通过” 或具体的错误信息)会作为反馈进入上下文。


Claude Skills 和 MCP 的关系

  • Claude Skills 是一种基于文件系统的、可复用的知识包,运行在 Claude 的沙盒虚拟机(VM)环境中,用于向 Agent 注入流程化、确定性的内部知识(SOP)的标准化方案。
  • MCP 是一种开放 AI 工具的标准,允许任何外部服务(无论是 Jira、Stripe 还是内部 API)将自己的能力以一种标准化的方式暴露给 Agent,让 Agent 可以不关心工具注册、工具发现、工具调用等工程实现细节。

Claude Skills 和 MCP 是可以协同工作的,Claude Skills 为 Agent 提供领域知识、MCP 为 Agent 提供外部工具。


拓展阅读

阿里云开发者分享:https://mp.weixin.qq.com/s/bwFGcomH6BfkBzhFMiiH1g
A社自家的Claude Skills 仓库都有哪些宝贝技能?https://mp.weixin.qq.com/s/Ye4_orr1GHu55z6l0f8tqw
官方说明: