借助 Skills,您可以利用专业知识和自定义工作流来增强智能体模式的功能。它们基于 Agent Skills 开放标准。
与 AGENTS.md 文件不同,Agent Skills 代表按需专业知识。这种结构使智能体模式能够维护大量专业功能(例如在特定库版本之间迁移或使可组合项适应不同的屏幕尺寸),而不会使模型的即时上下文窗口变得杂乱无章。
模型会根据您的请求和 Agent Skills 的说明自主决定何时使用 Agent Skills。当模型识别出相关的 Agent Skills 时,会动态提取完成任务所需的完整说明和资源。
如需按需激活 Agent Skills,请让代理执行与该 Agent Skills 相关的任务。您还可以在输入框中输入@以触发特定的
技能。
主要优势
- 共享专业知识: 将复杂的工作流(例如特定团队的拉取请求审核流程)打包到专用文件夹中,供任何人使用。
- 可重复的工作流: 通过提供标准说明,确保复杂的多步骤任务以一致的方式执行。
- 资源捆绑: 在说明中包含脚本、模板或示例数据,以便代理在一个位置拥有所需的一切。
- 高效使用上下文窗口: 为节省上下文令牌,系统最初只会加载 Agent Skills 的元数据(名称和说明)。只有在激活后,系统才会加载完整的
SKILL.md文件。只有当代理明确需要时,references/、scripts/或assets/目录中的支持文件才会加载到上下文中。
创建自己的 Agent Skills
代理会从项目根目录下的 .skills/ 或 .agent/skills/ 目录开始查找 Agent Skills。如需构建自定义 Agent Skills,请按以下步骤操作:
- 为您的 Agent Skills 创建目录 (例如
my-new-skill/)。 - 在新目录中**创建
SKILL.md文件** (区分大小写)。
Agent Skills 必须遵循以下规则:
- 每个 Agent Skills 一个目录: 每个 Agent Skills 必须有自己的唯一目录
其中包含
SKILL.md文件和任何 其他资源。 - 嵌套: 所有 Agent Skills 都必须位于项目根目录下的
.skills/或.agent/skills/目录中。不过,您可以使用子目录来更好地进行 组织(例如skills/ui-flows/<skill name>/SKILL.md或skills/testing/<skill name>/SKILL.md)。 - 范围: 目前,仅支持位于项目代码库中的 Agent Skills。
SKILL.md 文件使用 YAML 块作为元数据,并使用标准 Markdown 作为说明。
name:Agent Skills 的唯一标识符。此标识符应与目录名称一致。description:对 Agent Skills 的功能以及代理应何时使用该 Agent Skills 的清晰说明。- 正文: YAML 块下方的 Markdown 正文包含在技能处于活跃状态时指导代理行为的说明。
---
name: skill-name
description: A description of what this skill does and when to use it.
metadata:
author: example-org
version: "1.0"
---
Skill content
格式准则
- 名称: 最多 64 个字符(仅限小写字母、数字和连字符)。
- 说明: 最多 1024 个字符。
- 正文内容: 目标为 1 万到 2 万个字符(约 2,500 到 5,000 个令牌)。如果您的 说明超出此范围,请考虑将详细文档移至资源 文件,如可选 Agent Skills 目录中所述。
可选 Agent Skills 目录
为使 SKILL.md 文件简洁且模块化,您可以在 Agent Skills 文件夹中的以下可选目录中添加其他资源:
scripts/:包含代理可以运行的可执行代码(例如 Python 或 Bash)。references/:包含详细的技术文档、API 参考或特定于网域的指南。assets/:包含静态资源,例如文档模板、界面图或 JSON 架构。
在 SKILL.md 说明中引用这些文件时,请使用相对于 Agent Skills 根目录的相对路径。例如:Run the script at scripts/cleanup.py。