Skip to content

自定义 Skill 开发

创建自己的 Skill 扩展 Agent 能力。一个 Skill 就是一个包含 SKILL.md 的文件夹。

最小结构

my-skill/
└── SKILL.md

SKILL.md 格式

markdown
---
name: my-skill
description: 简短描述这个 Skill 做什么
---

# My Skill

## 使用场景

描述什么时候应该使用这个 Skill。

## 操作步骤

Agent 看到这些指令后会按照步骤执行。

### 示例

提供具体的使用示例。

进阶结构

my-skill/
├── SKILL.md              # 主文件(必须)
├── _meta.json            # 元数据(可选)
├── references/           # 参考文档
│   └── api-docs.md
└── scripts/              # 辅助脚本
    └── helper.py

Gating(条件加载)

在 SKILL.md frontmatter 中配置加载条件:

markdown
---
name: my-tool
description: 需要 Python 的工具
metadata: {"openclaw": {"requires": {"bins": ["python3"], "env": ["MY_API_KEY"]}}}
---
条件说明
requires.binsPATH 中必须有这些二进制文件
requires.anyBins至少有一个即可
requires.env必须设置的环境变量
requires.config配置中必须有的路径
always: true始终加载
os限定操作系统 (darwin, linux, win32)

安装位置

位置作用域优先级
<workspace>/skills/当前 Agent最高
~/.openclaw/skills/所有 Agent
内置 skills全局最低

发布到 ClawHub

bash
cd my-skill/
clawhub publish

首次发布需要 clawhub login

引用 Skill 目录

在 SKILL.md 中用 {baseDir} 引用 Skill 文件夹路径:

markdown
运行脚本:`python3 {baseDir}/scripts/helper.py`

基于 OpenClaw 开源项目