Agent Skills 规范说明


title: "Agent Skills 规范说明"

description: "Agent Skills 的完整格式规范。"

目录结构

一个技能是一个目录,至少包含一个 SKILL.md 文件:

复制代码
skill-name/
├── SKILL.md          # Required: metadata + instructions (必需:元数据 + 指令)
├── scripts/          # Optional: executable code (可选:可执行代码)
├── references/       # Optional: documentation (可选:文档)
├── assets/           # Optional: templates, resources (可选:模板、资源)
└── ...               # Any additional files or directories (任何其他的文件或目录)

SKILL.md 格式

SKILL.md 文件必须包含 YAML frontmatter,其后是 Markdown 内容。

Frontmatter

Frontmatter 是内容文件的头部元数据,是整个内容系统的数据基础。

你可以在 Markdown 文件的顶部添加 front matter。它是一个使用 YAML 格式定义元数据的块,位于文件顶部的三个连字符 --- 之间。

字段 必需 约束
name 最长 64 个字符。仅允许小写字母、数字和连字符。不得以连字符开头或结尾。
description 最长 1024 个字符。非空。描述技能的用途及使用时机。
license 许可证名称,或指向打包的许可证文件的引用。
compatibility 最长 500 个字符。标明环境要求(目标产品、系统软件包、网络访问等)。
metadata 任意键值映射,用于存放额外的元数据。
allowed-tools 以空格分隔的字符串,列出技能可使用的预批准工具。(实验性)

最小示例:

markdown 复制代码
---
name: skill-name
description: A description of what this skill does and when to use it.
---

带可选字段的示例:

markdown 复制代码
---
name: pdf-processing
description: Extract PDF text, fill forms, merge files. Use when handling PDFs.
license: Apache-2.0
metadata:
  author: example-org
  version: "1.0"
---
name 字段

必需的 name 字段:

  • 必须为 1-64 个字符
  • 仅可包含 Unicode 小写字母数字字符(a-z0-9)和连字符(-
  • 不得以连字符(-)开头或结尾
  • 不得包含连续的连字符(--
  • 必须与父目录名一致

有效示例:

yaml 复制代码
name: pdf-processing
yaml 复制代码
name: data-analysis
yaml 复制代码
name: code-review

无效示例:

yaml 复制代码
name: PDF-Processing  # uppercase not allowed
yaml 复制代码
name: -pdf  # cannot start with hyphen
yaml 复制代码
name: pdf--processing  # consecutive hyphens not allowed
description 字段

必需的 description 字段:

  • 必须为 1-1024 个字符
  • 应同时描述技能的用途以及使用时机
  • 应包含有助于智能体识别相关任务的具体关键词

良好示例:

yaml 复制代码
description: Extracts text and tables from PDF files, fills PDF forms, and merges multiple PDFs. Use when working with PDF documents or when the user mentions PDFs, forms, or document extraction.

欠佳示例:

yaml 复制代码
description: Helps with PDFs.
license 字段

可选的 license 字段:

  • 指明应用于该技能的许可证
  • 我们建议保持简短(许可证名称或打包的许可证文件名)

示例:

yaml 复制代码
license: Proprietary. LICENSE.txt has complete terms
compatibility 字段

可选的 compatibility 字段:

  • 若提供,必须为 1-500 个字符
  • 仅当技能有特定环境要求时才应包含
  • 可标明目标产品、所需的系统软件包、网络访问需求等

示例:

yaml 复制代码
compatibility: Designed for Claude Code (or similar products)
yaml 复制代码
compatibility: Requires git, docker, jq, and access to the internet
yaml 复制代码
compatibility: Requires Python 3.14+ and uv

大多数技能不需要 compatibility 字段。

metadata 字段

可选的 metadata 字段:

  • 一个从字符串键到字符串值的映射
  • 客户端可借此存储 Agent Skills 规范未定义的额外属性
  • 我们建议让键名具备一定的唯一性,以避免意外的冲突

示例:

yaml 复制代码
metadata:
  author: example-org
  version: "1.0"
allowed-tools 字段

可选的 allowed-tools 字段:

  • 以空格分隔的字符串,列出预先批准可运行的工具
  • 实验性。不同智能体实现对该字段的支持可能有所不同

示例:

yaml 复制代码
allowed-tools: Bash(git:*) Bash(jq:*) Read

正文内容

frontmatter 之后的 Markdown 正文包含技能指令。格式上没有任何限制,可以写入任何有助于智能体有效完成任务的内容。

推荐章节:

  • 分步指令
  • 输入与输出示例
  • 常见边界情况

请注意,一旦智能体决定激活某个技能,就会加载该文件的全部内容。对于较长的 SKILL.md,建议将部分内容拆分到被引用的文件中。

可选目录

scripts/

存放智能体可执行的可运行代码。脚本应:

  • 自包含,或清晰地记录其依赖
  • 包含有用的错误提示
  • 妥善处理边界情况

所支持的语言取决于智能体实现。常见选择包括 Python、Bash 和 JavaScript。

references/

存放智能体可按需阅读的补充文档:

  • REFERENCE.md - 详细的技术参考
  • FORMS.md - 表单模板或结构化数据格式
  • 领域相关文件(finance.mdlegal.md 等)

保持各个参考文件聚焦。智能体按需加载这些文件,因此文件越小,上下文消耗越少。

assets/

存放静态资源:

  • 模板(文档模板、配置模板)
  • 图片(图表、示例)
  • 数据文件(查找表、schema)

渐进性披露

智能体渐进性地加载技能,仅在任务需要时才拉取更多细节。技能的结构应充分利用这一点:

  1. 元数据 (约 100 tokens):所有技能的 namedescription 字段在启动时加载
  2. 指令 (建议 < 5000 tokens):技能被激活时加载完整的 SKILL.md 正文
  3. 资源 (按需):文件(例如 scripts/references/assets/ 中的文件)仅在需要时加载

请将主 SKILL.md 控制在 500 行以内。将详细参考资料移至单独的文件中。

文件引用

在技能中引用其他文件时,请使用相对于技能根目录的路径:

markdown 复制代码
See [the reference guide](references/REFERENCE.md) for details.

Run the extraction script:
scripts/extract.py

文件引用请保持在距 SKILL.md 一层以内。避免过深的嵌套引用链。

验证

使用 skills-ref 参考库来验证你的技能:

bash 复制代码
skills-ref validate ./my-skill

它会检查你的 SKILL.md frontmatter 是否有效,并遵循所有命名约定。

相关推荐
神奇霸王龙11 小时前
国产音乐视频 Prompt 三段式屠夫榜:5 个国产视频模型实测对比
人工智能·ai·prompt·音视频·agent·ai编程·agi
JaydenAI11 小时前
[A2A协议与实现-06]如何将一个MAF Agent发布为A2A服务[JSON-RPC]
ai·agent·sse·a2a·maf
浮生望11 小时前
Workflow 与 Agent:一条流水线和一个思考者,AI 工程的两种范式
agent·workflow
码流怪侠15 小时前
GitHub 2026年7月热门项目全景盘点:Agent Skills 生态炸裂,开源世界正在重写规则
程序员·github·agent
Jackson__15 小时前
AI Agent 的能力从哪里来?一文讲清后训练、上下文学习和外部能力
前端·agent·ai编程
冬奇Lab16 小时前
AI 评测系列(05):Agent 评测——工具调用准确率与轨迹质量
人工智能·agent
DeepAgent16 小时前
AI Agent 工程实践(17):Agent 为什么需要可观测性(Observability)?
android·llm·agent
冬奇Lab16 小时前
开源项目第167期:Buzz — Block 开源的人机协作工作空间,Agent 是成员不是 Bot
人工智能·开源·agent
KaneLogger17 小时前
花了2天写了个全平台的技能管理工具
aigc·agent·ai编程