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-z、0-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.md、legal.md 等)

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

assets/

存放静态资源:

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

渐进性披露

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

  1. 元数据 (约 100 tokens):所有技能的 name 与 description 字段在启动时加载
  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 是否有效,并遵循所有命名约定。

相关推荐
vjmap15 小时前
AI 智能体调用绘图工具画矢量地图:唯杰 AI 地图绘制上线,支持 MCP 接入 Cursor、Claude Code
gis·agent·mcp
review4454315 小时前
Codex Hooks 入门实战:生命周期事件、matcher 与5分钟跑通一个钩子
前端·agent·vibecoding
GoodTime16 小时前
一件一屏:用 AIUI 把「快递上门」做成一条会自己往下走的任务线
agent
武子康16 小时前
Agent 说“3 passed”就算修好了?先检查是谁判的通过
人工智能·agent
杨杨杨大侠17 小时前
AI 怎么知道自己改对了?从 Astra 修千问说到 Harness²
人工智能·agent
小七-七牛开发者19 小时前
Agent 支线知识:Personal Agent 如何跨应用完成任务?
ai·agent·工具调用·aiagent·mcp
文谦南宁AI普工20 小时前
CVSS 10.0 沙箱逃逸 + 假扩展后门:给 Agent 开发者的供应链与沙箱安全复盘(附可跑的配置审计器)
安全·agent·ai编程
vivo互联网技术20 小时前
把 Agent 的判断与行动变成可恢复的软件事实|KDC 系列 工程篇
架构·agent·ai编程
武子康20 小时前
工作流 JSON 没变,为什么 ComfyUI 更新后仍可能跑出不同结果?
人工智能·agent
去伪存真20 小时前
高敏资产场景下的大模型协同设计架构
前端·agent