什么是 Skill?#

Agent Skills 是一种轻量级的开放格式,用于通过专业知识和工作流扩展 AI 智能体(Agent)的能力。

从本质上讲,Skill 是一个包含 SKILL.md 文件的文件夹。该文件包含元数据(至少包括 namedescription)以及告诉智能体如何执行特定任务的指令。Skill 还可以捆绑脚本、模板和参考资料。

my-skill/
├── SKILL.md          # 必填:指令 + 元数据
├── scripts/          # 可选:可执行代码
├── references/       # 可选:文档
└── assets/           # 可选:模板、资源

技能如何运作#

Skill 使用 渐进式披露(Progressive Disclosure) 来高效地管理上下文:

  1. 发现(Discovery):在启动时,智能体仅加载每个可用 Skill 的名称和描述,这足以让它知道该 Skill 何时可能相关。

  2. 激活(Activation):当任务与 Skill 的描述匹配时,智能体会将完整的 SKILL.md 指令读取到上下文中。

  3. 执行(Execution):智能体遵循指令,并根据需要加载引用的文件或执行关联的代码。

这种方法在保持智能体响应速度的同时,让它们能够根据需求访问更多上下文。

SKILL.md 文件#

每个 Skill 都始于一个包含 YAML Frontmatter 和 Markdown 指令的 SKILL.md 文件:

---
name: pdf-processing
description: 提取 PDF 文本、填写表单、合并文件。在处理 PDF 时使用。
---

# PDF 处理

## 何时使用此技能

当用户需要处理 PDF 文件时,使用此技能...

## 如何提取文本

1. 使用 pdfplumber 进行文本提取...

## 如何填写表单

...

SKILL.md 顶部必须包含以下 Frontmatter:

  • name: 简短的标识符。
  • description: 描述何时使用该技能。

Markdown 正文包含实际指令,对结构或内容没有特定限制。

这种简单的格式具有以下关键优势:

  • 自文档化(Self-documenting):Skill 作者或用户可以阅读 SKILL.md 并了解其功能,使 Skill 易于审计和改进。
  • 可扩展性(Extensible):Skill 的复杂程度不一,既可以仅包含文本指令,也可以包含可执行代码、资产和模板。
  • 便携性(Portable):Skill 只是普通文件,因此易于编辑、版本控制和分享。

后续步骤#