Skip to main content
从本质上讲,一个 skill 是一个包含 SKILL.md 文件的文件夹。该文件包括元数据(至少包含 namedescription)和指导 agent 如何执行特定任务的说明。Skills 还可以打包脚本、模板和参考资料。
my-skill/
├── SKILL.md          # 必需:说明 + 元数据
├── scripts/          # 可选:可执行代码
├── references/       # 可选:文档
└── assets/           # 可选:模板、资源

Skills 如何工作

Skills 使用渐进式披露来高效管理上下文:
  1. 发现:在启动时,agents 仅加载每个可用 skill 的名称和描述,仅此足以了解何时可能相关。
  2. 激活:当任务与 skill 的描述匹配时,agent 将完整的 SKILL.md 说明读入上下文。
  3. 执行:agent 遵循说明,根据需要可选择加载引用的文件或执行捆绑的代码。
这种方法使 agents 保持快速,同时按需提供更多的上下文访问。

SKILL.md 文件

每个 skill 都从一个包含 YAML frontmatter 和 Markdown 说明的 SKILL.md 文件开始:
---
name: pdf-processing
description: 从 PDF 文件中提取文本和表格,填写表单,合并文档。
---

# PDF 处理

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

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

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

下一步