Skip to content

创建技能

技能(Skills)教 Agent 何时以及如何使用工具。每个技能是一个目录,包含带 YAML frontmatter 和 Markdown 正文的 SKILL.md 文件。

关于技能的加载和优先级,见 Skills

创建第一个技能

第一步:创建技能目录

技能存放在你的 workspace 中,创建一个新文件夹:

bash
mkdir -p ~/.openclaw/workspace/skills/hello-world

第二步:编写 SKILL.md

在该目录中创建 SKILL.md。frontmatter 定义元数据,Markdown 正文包含 Agent 的指令。

markdown
---
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!".

第三步:添加工具(可选)

你可以在 frontmatter 中定义自定义工具 schema,或指示 Agent 使用已有的系统工具(如 execbrowser)。技能也可以作为插件的一部分,与其所描述的工具一同打包发布。

第四步:加载技能

启动新会话,让 OpenClaw 加载技能:

bash
# 在聊天中
/new

# 或重启 Gateway
openclaw gateway restart

验证技能已加载:

bash
openclaw skills list

第五步:测试

发送一条应该触发技能的消息:

bash
openclaw agent --message "give me a greeting"

或者直接与 Agent 对话,要求它打个招呼。

技能元数据参考

YAML frontmatter 支持以下字段:

字段必填说明
name唯一标识符(snake_case)
descriptionAgent 看到的单行描述
metadata.openclaw.osOS 过滤(["darwin"]["linux"] 等)
metadata.openclaw.requires.binsPATH 上必须存在的可执行文件
metadata.openclaw.requires.config必须存在的配置 key

最佳实践

  • 保持简洁 — 告诉模型_要做什么_,不要讲如何成为 AI
  • 安全第一 — 如果技能使用 exec,确保提示不允许来自不受信任输入的任意命令注入
  • 本地测试 — 使用 openclaw agent --message "..." 在分享前先行测试
  • 使用 ClawHub — 在 ClawHub 浏览和贡献技能

技能存放位置

位置优先级作用范围
<workspace>/skills/最高每个 Agent 独立
~/.openclaw/skills/共享(所有 Agent)
捆绑(随 OpenClaw 附带)最低全局
skills.load.extraDirs最低自定义共享目录

相关文档