Agent Skills
Agent Skills 是扩展 Claude 等产品功能的模块化能力。每个 Skill 打包了指令、元数据和可选资源(脚本、模板),Claude 会在相关时自动使用它们。
为什么使用 Skills
Skills 是可重用的、基于文件系统的资源,为 Claude 提供特定领域的专业知识:工作流程、上下文和最佳实践,将通用型智能体转变为专家。与 prompt(用于一次性任务的对话级指令)不同,Skills 按需加载,消除了在多个对话中重复提供相同指导的需要。
主要优势:
- 专业化:为特定领域任务定制能力
- 减少重复:创建一次,自动使用
- 组合能力:组合 Skills 构建复杂工作流程
Skills 的工作原理
Skills 利用 Claude 的虚拟机环境来提供仅靠提示词无法实现的能力。Claude 在具有文件系统访问权限的虚拟机中运行,允许 Skills 以目录形式存在,包含指令、可执行代码和参考材料,其组织方式就像您为新团队成员创建的入职指南。
这种基于文件系统的架构实现了渐进式披露:Claude 根据需要分阶段加载信息,而不是预先消耗上下文。
三种 Skill 内容类型,三个加载级别
Skills 可以包含三种类型的内容,每种在不同时间加载:
级别 1:元数据(始终加载)
内容类型:指令。Skill 的 YAML 前置信息提供发现信息:
---
name: pdf-processing
description: Extract text and tables from PDF files, fill forms, merge documents. Use when working with PDF files or when the user mentions PDFs, forms, or document extraction.
---
Claude 在启动时加载此元数据并将其包含在系统提示中。这种轻量级方法意味着您可以安装许多 Skills 而不会产生上下文开销;Claude 只知道每个 Skill 的存在及其使用时机。
级别 2:指令(触发时加载)
内容类型:指令。SKILL.md 的主体包含程序性知识:工作流程、最佳实践和指导:
# PDF Processing
## Quick start
Use pdfplumber to extract text from PDFs:
```python
import pdfplumber
with pdfplumber.open("document.pdf") as pdf:
text = pdf.pages[0].extract_text()
```
For advanced form filling, see [FORMS.md](FORMS.md).
当您的请求与某个 Skill 的描述匹配时,Claude 通过 bash 从文件系统读取 SKILL.md。只有在此时,这些内容才会进入上下文窗口。
级别 3:资源和代码(按需加载)
内容类型:指令、代码和资源。Skills 可以捆绑额外的材料:
pdf/
├── SKILL.md # 主要说明(触发时加载)
├── FORMS.md # 表单填充指南(根据需要加载)
├── reference.md # API 参考(根据需要加载)
├── examples.md # 使用示例(根据需要加载)
└── scripts/
├── analyze_form.py # 实用脚本(执行,不加载)
├── fill_form.py # 表单填充脚本
└── validate.py # 验证脚本
指令:额外的 markdown 文件(FORMS.md、REFERENCE.md),包含专门的指导和工作流程
代码:可执行脚本(fill_form.py、validate.py),Claude 通过 bash 运行;脚本提供确定性操作而不消耗上下文
资源:参考材料,如数据库模式、API 文档、模板或示例
---
name: pdf-processing
description: 从 PDF 文件中提取文本和表格、填充表单、合并文档。在处理 PDF 文件或用户提及 PDF、表单或文档提取时使用。
---
# PDF 处理
## 快速开始
使用 pdfplumber 提取文本:
```python
import pdfplumber
with pdfplumber.open("file.pdf") as pdf:
text = pdf.pages[0].extract_text()
```
## 高级功能
**表单填充**:参阅 [FORMS.md](FORMS.md) 获取完整指南
**API 参考**:参阅 [REFERENCE.md](REFERENCE.md) 获取所有方法
**示例**:参阅 [EXAMPLES.md](EXAMPLES.md) 获取常见模式
Claude 仅在被引用时才访问这些文件。文件系统模型意味着每种内容类型都有不同的优势:指令用于灵活指导,代码用于可靠性,资源用于事实查询。
| 级别 | 加载时机 | Token 开销 | 内容 |
|---|---|---|---|
| 级别 1:元数据 | 始终(启动时) | 每个 Skill 约 100 tokens | YAML 前置信息中的 name 和 description |
| 级别 2:指令 | Skill 被触发时 | 5k tokens 以内 | SKILL.md 主体,包含指令和指导 |
| 级别 3+:资源 | 按需 | 实际上无限制 | 通过 bash 执行的捆绑文件,无需将内容加载到上下文中 |
Claude 如何访问 Skill 内容:
当 Skill 被触发时,Claude 使用 bash 从文件系统读取 SKILL.md,将其指令带入上下文窗口。如果这些指令引用了其他文件(如 FORMS.md 或数据库模式),Claude 也会使用额外的 bash 命令读取这些文件。当指令提到可执行脚本时,Claude 通过 bash 运行它们并仅接收输出(脚本代码本身永远不会进入上下文)。
示例:加载 PDF 处理 skill
以下是 Claude 加载和使用 PDF 处理 skill 的过程:
- 启动:系统提示包含:
PDF Processing - Extract text and tables from PDF files, fill forms, merge documents - 用户请求:”提取这个 PDF 中的文本并总结”
- Claude 调用:
bash: read pdf-skill/SKILL.md→ 指令加载到上下文中 - Claude 判断:不需要表单填写,因此不读取 FORMS.md
- Claude 执行:使用 SKILL.md 中的指令完成任务
对于具有多个领域的技能,按领域组织内容以避免加载无关的上下文。当用户询问销售指标时,Claude 只需要读取与销售相关的架构,而不是财务或营销数据。这保持令牌使用低且上下文集中。
bigquery-skill/
├── SKILL.md (概述和导航)
└── reference/
├── finance.md (收入、计费指标)
├── sales.md (机会、管道)
├── product.md (API 使用、功能)
└── marketing.md (活动、归因)
# BigQuery 数据分析
## 可用数据集
**财务**:收入、ARR、计费 → 参阅 [reference/finance.md](reference/finance.md)
**销售**:机会、管道、账户 → 参阅 [reference/sales.md](reference/sales.md)
**产品**:API 使用、功能、采用 → 参阅 [reference/product.md](reference/product.md)
**营销**:活动、归因、电子邮件 → 参阅 [reference/marketing.md](reference/marketing.md)
## 快速搜索
使用 grep 查找特定指标:
```bash
grep -i "revenue" reference/finance.md
grep -i "pipeline" reference/sales.md
grep -i "api usage" reference/product.md
```
安全注意事项
强烈建议仅使用来自可信来源的 Skills:您自己创建的或从 Anthropic 获取的。Skills 通过指令和代码为 Claude 提供新能力,虽然这使它们功能强大,但也意味着恶意 Skill 可以指导 Claude 以不符合 Skill 声明目的的方式调用工具或执行代码。
关键安全注意事项:
- 彻底审查:检查 Skill 中捆绑的所有文件:SKILL.md、脚本、图片和其他资源。注意异常模式,如意外的网络调用、文件访问模式或与 Skill 声明目的不符的操作
- 外部来源有风险:从外部 URL 获取数据的 Skills 具有特殊风险,因为获取的内容可能包含恶意指令。即使是可信的 Skills,如果其外部依赖随时间变化,也可能被攻击
- 工具滥用:恶意 Skills 可以以有害方式调用工具(文件操作、bash 命令、代码执行)
- 数据暴露:具有敏感数据访问权限的 Skills 可能被设计为向外部系统泄露信息
- 像安装软件一样对待:仅使用来自可信来源的 Skills。在将 Skills 集成到具有敏感数据或关键操作访问权限的生产系统时要特别小心
最后
Skills 已从“技术概念”走向“生产力基础设施”。无论你是开发者、产品经理还是内容创作者,掌握 TOP 技能并将其融入工作流,将成为 2026 年的核心竞争力。