协议与标准

SKILL.md(Claude Skills)

SKILL.md 是一种文件格式,用来把一项可复用的能力——包括操作说明,以及可选的脚本或参考资料——打包起来,让 Agent 只在遇到匹配任务时才加载它。

就算一个 Agent 什么都会一点,也不代表应该把所有可能用到的说明一次性都塞进上下文里。SKILL.md 解决的正是这个问题:把某项具体能力——比如怎么填某一类表单,或者怎么处理某种特定文件格式——打包成一个独立单元,只有真正相关时 Agent 才去加载它。

这是 Anthropic 为 Claude Skills 定义的格式:文件开头是一段 YAML frontmatter(通常包含 namedescription,其中 description 同时也是触发条件——描述什么样的请求应该让这个技能被加载),后面才是正文里真正的操作说明。这个 description 其实比看上去重要得多,因为 Agent 就是靠它来判断当前任务是否匹配这个技能。

简单的技能,SKILL.md 文件本身就够了;复杂一点的,还可以在同一个技能文件夹里搭配脚本、模板或参考资料。不管哪种形式,目的都是一样的:把专门化的说明挡在 Agent 默认上下文之外,只在任务真正需要的时候才加载进来。

举个例子

---
name: pdf-form-filler
description: 根据提供的数据填写 PDF 表单字段。当用户要求填写、补全或录入 PDF 表单时使用。
---

填写 PDF 表单前,先列出所有可填写字段,如果某个字段名称含义不明确,要先和用户确认再填写。

常见误解

常被以为: SKILL.md 文件会一直被加载在 Agent 的上下文里。
实际上: 通常是按需加载的,只有当前任务匹配上这个技能的 description 时才会加载,默认并不会常驻在上下文中。
常被以为: SKILL.md 和 AGENTS.md 做的是同一件事。
实际上: AGENTS.md 提供的是某个具体项目仓库特有的说明;SKILL.md 打包的是一项不依赖具体项目的可复用能力。

常见问题

SKILL.md 有什么用?
它把一项可复用的能力——操作说明加上可选的配套文件——打包起来,只有遇到匹配的任务时 Agent 才会加载它,而不是一直放在上下文里。
SKILL.md 的 frontmatter 里一般写什么?
通常是 name 和 description;description 同时也是触发条件,Agent 靠它判断当前任务是否和这个技能相关。
一个技能可以包含多个文件吗?
可以——复杂一些的能力,SKILL.md 可以和同一个技能文件夹里的脚本、模板或参考资料搭配使用。

最近核实: 2026-08-28

相关术语