Skip to main content
从核心上看,一个 Skill 就是一个包含 SKILL.md 文件的文件夹。该文件包含元数据(至少包括 namedescription)以及告诉 Agent 如何执行特定任务的指令。Skills 还可以捆绑脚本、模板和参考材料。
my-skill/
├── SKILL.md          # 必需:指令 + 元数据
├── scripts/          # 可选:可执行代码
├── references/       # 可选:文档
└── assets/           # 可选:模板、资源

Skills 如何工作

Skills 使用渐进式披露 (progressive disclosure) 来高效管理上下文:
  1. 发现 (Discovery):在启动时,Agent 仅加载每个可用 Skill 的名称 and 描述,足以了解该 Skill 何时可能相关。
  2. 激活 (Activation):当任务与某个 Skill 的描述匹配时,Agent 会将完整的 SKILL.md 指令读取到上下文中。
  3. 执行 (Execution):Agent 遵循指令,根据需要可选地加载引用的文件或执行捆绑的代码。
这种方法使 Agent 保持快速响应,同时让它们能够按需访问更多上下文。

SKILL.md 文件

每个 Skill 都以一个包含 YAML Frontmatter 和 Markdown 指令的 SKILL.md 文件开始:
---
name: pdf-processing
description: Extract text and tables from PDF files, fill forms, merge documents.
---

# PDF 处理

## 何时使用此 Skill
当用户需要处理 PDF 文件时使用此 Skill...

## 如何提取文本
1. 使用 pdfplumber 进行文本提取...

## 如何填写表单
...
SKILL.md 顶部需要以下 Frontmatter:
  • name:简短的标识符
  • description:何时使用此 Skill
Markdown 正文包含实际指令,对结构或内容没有具体限制。 这种简单的格式具有一些关键优势:
  • 自文档化:Skill 作者或用户可以阅读 SKILL.md 并了解其功能,使 Skills 易于审计和改进。
  • 可扩展性:Skills 的复杂度可以从单纯的文本指令到可执行代码、资产和模板不等。
  • 可移植性:Skills 只是文件,因此易于编辑、版本化和共享。

下一步