跳转到内容

Creating Skills

Skills 教会 Agent 如何以及何时使用工具。每个 Skill 都是一个目录,其中包含一个带有 YAML frontmatter 和 markdown 指令的 SKILL.md 文件。

有关如何加载和确定 Skills 的优先级,请参阅 Skills

  1. 创建 Skill 目录

    Skills 位于您的工作区中。创建一个新文件夹:

    Terminal window
    mkdir -p ~/.openclaw/workspace/skills/hello-world
  2. 编写 SKILL.md

    在该目录内创建 SKILL.md。Frontmatter 定义元数据, 而 markdown 主体包含给 Agent 的指令。

    ---
    name: hello_world
    description: A simple skill that says hello.
    ---
    # Hello World Skill
    When the user asks for a greeting, use the `echo` tool to say
    "Hello from your custom skill!".
  3. 添加工具(可选)

    您可以在 frontmatter 中定义自定义工具架构,或者指示 Agent 使用现有的系统工具(如 execbrowser)。Skills 也可以 随其记录的工具一起打包在插件中。

  4. 加载 Skill

    启动一个新的会话,以便 OpenClaw 获取该 Skill:

    Terminal window
    # From chat
    /new
    # Or restart the gateway
    openclaw gateway restart

    验证 Skill 是否已加载:

    Terminal window
    openclaw skills list
  5. 测试它

    发送一条应触发该 Skill 的消息:

    Terminal window
    openclaw agent --message "give me a greeting"

    或者直接与 Agent 聊天并请求问候。

YAML frontmatter 支持以下字段:

字段是否必填描述
name唯一标识符 (snake_case)
description向 Agent 显示的单行描述
metadata.openclaw.os操作系统过滤器 (["darwin"], ["linux"] 等)
metadata.openclaw.requires.binsPATH 上需要的二进制文件
metadata.openclaw.requires.config必需的配置键
  • 保持简洁 — 指示模型做什么,而不是如何成为 AI
  • 安全第一 — 如果你的 Skill 使用 exec,请确保提示词不允许来自不受信任输入的任意命令注入
  • 本地测试 — 在共享之前使用 openclaw agent --message "..." 进行测试
  • 使用 ClawHub — 在 ClawHub 上浏览和贡献 Skills
位置优先级范围
\<workspace\>/skills/最高每个 Agent
~/.openclaw/skills/中等共享(所有 Agents)
捆绑(随 OpenClaw 附带)最低全局
skills.load.extraDirs最低自定义共享文件夹