# 什么是技能? > Agent Skills 是一种轻量级、开放的格式,用于通过专业知识和工作流扩展 AI 代理的能力。 核心来说,一个技能是一个包含 `SKILL.md` 文件的文件夹。该文件包含元数据(至少包括 `name` 和 `description`)以及告诉代理如何执行特定任务的指令。技能还可以打包脚本、模板和参考资料。 ```directory theme={null} my-skill/ ├── SKILL.md # 必需:指令 + 元数据 ├── scripts/ # 可选:可执行代码 ├── references/ # 可选:文档 └── assets/ # 可选:模板、资源 ``` ## 技能如何工作 技能使用**渐进式披露**来高效管理上下文: 1. **发现**:在启动时,代理仅加载每个可用技能的名称和描述,足以了解何时可能相关。 2. **激活**:当任务匹配技能的描述时,代理将完整的 `SKILL.md` 指令读入上下文。 3. **执行**:代理遵循指令,根据需要可选择性地加载引用文件或执行打包的代码。 这种方法使代理保持快速,同时能够按需访问更多上下文。 ## SKILL.md 文件 每个技能都从包含 YAML 前置数据和 Markdown 指令的 `SKILL.md` 文件开始: ```mdx --- name: pdf-processing description: Extract text and tables from PDF files, fill forms, merge documents. --- # PDF Processing ## When to use this skill Use this skill when the user needs to work with PDF files... ## How to extract text 1. Use pdfplumber for text extraction... ## How to fill forms ... ``` 以下前置数据在 `SKILL.md` 的顶部是必需的: - `name`:简短标识符 - `description`:何时使用此技能 Markdown 正文包含实际指令,对结构或内容没有特定限制。 这种简单格式具有一些关键优势: - **自文档化**:技能作者或用户可以阅读 `SKILL.md` 并了解其功能,使技能易于审核和改进。 - **可扩展**:技能的复杂度可以范围从仅文本指令到可执行代码、资产和模板。 - **可移植**:技能只是文件,因此易于编辑、版本控制和共享。