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

技能如何工作

技能使用渐进式披露来高效管理上下文:
  1. 发现:启动时,代理仅加载每个可用技能的名称和描述,足以知道何时可能相关。
  2. 激活:当任务与技能的描述匹配时,代理会将完整的 SKILL.md 指令读入上下文。
  3. 执行:代理遵循指令,根据需要可选地加载引用文件或执行捆绑的代码。
这种方法使代理保持快速,同时让它们能够按需访问更多上下文。

SKILL.md 文件

每个技能都以一个包含 YAML frontmatter 和 Markdown 指令的 SKILL.md 文件开始:
---
name: pdf-processing
description: 提取 PDF 文本,填写表单,合并文件。处理 PDF 时使用。
---

# PDF 处理

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

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

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

下一步