Skill 规范 / Skill Specification
最后更新:2026-06-29
概述
Skill 是 Agent 的能力单元,定义 Agent 可以执行的具体任务、触发条件和输出格式。每个 Agent 包可包含一个或多个 Skill 定义。
Skill 包结构 / Package Structure
- system_prompt.md — 核心行为定义,描述 Agent 的角色、能力和约束
- workflow.md — 标准工作流,定义多步骤任务的执行顺序
- examples/ — 输入/输出示例,帮助理解 Agent 的行为模式
- evals/ — 评估用例,用于验证 Agent 的输出质量
- knowledge/ — 领域知识文件,Agent 可引用的参考资料
元数据 / Metadata
Skill 元数据在 agent.yaml 中声明,包括:
- 能力边界 — 哪些任务在范围内、哪些明确排除
- 触发条件 — 用户输入中触发此 Skill 的关键词或模式
- 输出格式 — 期望的输出结构(JSON、Markdown、纯文本等)
- 依赖工具 — 执行此 Skill 需要的外部工具或平台
校验规则 / Validation Rules
- system_prompt.md 必须存在且非空
- system_prompt.md 不得包含可执行脚本或系统命令
- workflow.md 如存在,步骤必须用序号或复选框标注
- examples/ 中的文件必须是纯文本或 Markdown 格式
- knowledge/ 不得包含二进制文件或可执行文件
接收/拒绝标准 / Accepted vs Rejected
| 标准 | Accepted | Rejected |
|---|---|---|
| system_prompt.md | 清晰、完整、无歧义 | 为空、含恶意指令、含系统命令 |
| workflow.md | 步骤可验证、有明确输出 | 步骤循环引用、无终止条件 |
| examples/ | 格式正确、输入输出对应 | 示例与实际能力不符 |
| knowledge/ | 格式合规、内容不敏感 | 含个人隐私数据或商业机密 |
Mock 边界 / Mock Boundary
在 pre-cloud 阶段,Skill 的校验为纯静态分析:
- 不执行 system_prompt.md 中的任何指令
- 不运行 examples/ 中的示例代码
- 不加载 knowledge/ 中的知识文件到 LLM 上下文
- 不调用任何外部 API 验证 Skill 声明
所有 Skill 校验仅检查文件结构、格式合规性和基础安全规则。