- 平台内置 Skill(type: zai):平台预置、开箱可用。当前两份:planning(拆步骤、跟 todo)、code-review(按正确性 / 安全 / 清晰度审代码)。列表会随平台更新,以 GET /v1/skills?source=zai 为准。
- 自定义 Skill(type: custom):你自己编写并上传的技能。
创建自定义 Skill
一个自定义 Skill 就是一个目录:根下必须有 SKILL.md(frontmatter 中的 description 不能为空),加上任意配套文件。通过 multipart 上传整个目录,每个文件 part 的字段名就是它的相对路径,所有文件必须位于同一个顶层目录下:- 所有文件总量 ≤ 20 MB,文件数 ≤ 200(超出的文件 part 会被静默丢弃,不报错)。
- 根目录必须包含 SKILL.md,且 frontmatter 含非空 description。
- display_title 是可选的 multipart 文本 part,作为展示名持久化。
- 同一账号下不能重复创建相同目录名的 Skill(返回 409 skill_directory_conflict);每个账号有 Skill 总数配额,超出返回 429。
版本管理
Skill 的版本是不可变的。要更新一个 Skill,向 POST /v1/skills/:id/versions 重新上传完整目录(约束同创建),生成一个新版本;版本号是服务端生成的 epoch 微秒串。相关接口:删除整个 Skill 时,只要仍有持久化配置引用它,就会返回 409。删除单个版本时,固定引用该版本的配置会阻止删除;跟随 latest 的引用通常可随最新版本指针迁移,但不能删除它依赖的最后一个版本。归档 Agent 不会解除历史版本中的引用。
把 Skill 挂载到 Agent
创建 Agent 时通过 skills 数组挂载,单个 Agent 最多 20 个 Skill。挂载 Skill 时必须同时配置 agent_toolset_20260601,否则创建或更新返回 400。每个条目的字段:planning)。需要自动使用后续新版本时可省略 version;需要稳定复现时,用 GET /v1/skills?source=zai 返回的 latest_version 显式固定。
Skill 也可以在创建会话时通过 agent.skills 覆盖,只影响该会话,见创建会话。
编写 Skill 的建议
- SKILL.md 是入口:frontmatter 写清 name 与 description(模型靠它判断何时使用),正文写工作流程与规范;大块参考资料放在子文件里,让模型按需读取,避免一次性占用上下文。
- 一个 Skill 解决一类任务:范围过宽的 Skill 会稀释触发信号;按领域拆分成多个 Skill 更有效。
- 附带可执行资产:模板、脚本、示例文件都可以放进目录,Agent 能在沙箱里直接使用它们。
下一步
定义 Agent
skills 数组的完整更新语义
创建会话
按会话覆盖 Skill 配置
本页对应 OpenAPI
Skill:创建、版本、下载