Creating Skills
创建 Skills
Section titled “创建 Skills”Skills 教会 Agent 如何以及何时使用工具。每个 Skill 都是一个目录,其中包含一个带有 YAML frontmatter 和 markdown 指令的 SKILL.md 文件。
有关如何加载和确定 Skills 的优先级,请参阅 Skills。
创建您的第一个 Skill
Section titled “创建您的第一个 Skill”创建 Skill 目录
Skills 位于您的工作区中。创建一个新文件夹:
Terminal window mkdir -p ~/.openclaw/workspace/skills/hello-world编写 SKILL.md
在该目录内创建
SKILL.md。Frontmatter 定义元数据, 而 markdown 主体包含给 Agent 的指令。---name: hello_worlddescription: A simple skill that says hello.---# Hello World SkillWhen the user asks for a greeting, use the `echo` tool to say"Hello from your custom skill!".添加工具(可选)
您可以在 frontmatter 中定义自定义工具架构,或者指示 Agent 使用现有的系统工具(如
exec或browser)。Skills 也可以 随其记录的工具一起打包在插件中。加载 Skill
启动一个新的会话,以便 OpenClaw 获取该 Skill:
Terminal window # From chat/new# Or restart the gatewayopenclaw gateway restart验证 Skill 是否已加载:
Terminal window openclaw skills list测试它
发送一条应触发该 Skill 的消息:
Terminal window openclaw agent --message "give me a greeting"或者直接与 Agent 聊天并请求问候。
Skill 元数据参考
Section titled “Skill 元数据参考”YAML frontmatter 支持以下字段:
| 字段 | 是否必填 | 描述 |
|---|---|---|
name | 是 | 唯一标识符 (snake_case) |
description | 是 | 向 Agent 显示的单行描述 |
metadata.openclaw.os | 否 | 操作系统过滤器 (["darwin"], ["linux"] 等) |
metadata.openclaw.requires.bins | 否 | PATH 上需要的二进制文件 |
metadata.openclaw.requires.config | 否 | 必需的配置键 |
- 保持简洁 — 指示模型做什么,而不是如何成为 AI
- 安全第一 — 如果你的 Skill 使用
exec,请确保提示词不允许来自不受信任输入的任意命令注入 - 本地测试 — 在共享之前使用
openclaw agent --message "..."进行测试 - 使用 ClawHub — 在 ClawHub 上浏览和贡献 Skills
Skills 的存放位置
Section titled “Skills 的存放位置”| 位置 | 优先级 | 范围 |
|---|---|---|
\<workspace\>/skills/ | 最高 | 每个 Agent |
~/.openclaw/skills/ | 中等 | 共享(所有 Agents) |
| 捆绑(随 OpenClaw 附带) | 最低 | 全局 |
skills.load.extraDirs | 最低 | 自定义共享文件夹 |