- 5 agent frameworks: Qoder, Claude Code, Codex, OpenClaw, Hermes Agent - 9 lifecycle skills: lifecycle router, discover, create, test, audit, debug, update, publish, retire - 5 framework-specific meta-skills with specs and guides - OpenClaw meta-skill enriched with ClawHub official ecosystem data - Per-framework directories with skills/, versions/, publish/, docs/
5.3 KiB
5.3 KiB
如何创建 OpenClaw 技能
本技能指导你为 OpenClaw 框架创建符合规范的技能,基于 ClawHub 官方生态和多个高人气参考技能的最佳实践。
核心概念
OpenClaw 技能(Skill)是一个自包含的指令包,由 SKILL.md(核心指令文件)和 _meta.json(元数据文件)组成,支持模块化结构、渐进式披露和 Token 高效设计。
创建流程
1. 前置准备
- 检查是否已有同类技能:在 ClawHub 搜索,避免重复
- 明确技能功能边界、适用场景和触发条件
- 参考
spec.md了解完整规范
2. 创建技能目录
# 方式一:手动创建
mkdir -p openclaw/skills/<skill-name>
touch openclaw/skills/<skill-name>/SKILL.md
touch openclaw/skills/<skill-name>/_meta.json
# 方式二:使用脚手架工具(推荐)
npm install -g skill-scaffold
skill-scaffold <skill-name> --author <your-name> --description "描述"
3. 编写 SKILL.md
SKILL.md 是技能的核心,结构如下:
---
name: my-skill-name
description: Process, merge, and extract PDF content
---
## When to Use
- 用户提到 X 时触发
- 用户需要 Y 时触发
## Core Rules
1. 规则一
2. 规则二
3. 规则三
## Quick Start
最小可行示例...
## Workflow
复杂任务的步骤清单...
## Advanced
链接至独立参考文件...
4. 编写 _meta.json
{
"name": "my-skill-name",
"version": "1.0.0",
"description": "Process, merge, and extract PDF content",
"tags": ["pdf", "extraction", "utility"]
}
5. 按需添加辅助文件
references/— 详细参考文档(按需加载)scripts/— 辅助脚本examples/— 使用示例
6. 本地验证
# 重启 OpenClaw 网关以识别新技能
openclaw gateway restart
7. 发布到 ClawHub
# 认证(需 GitHub 账号,注册满 2 周)
openclaw auth login
# 发布
openclaw skills publish <local-path> \
--slug <skill-slug> \
--name <skill-name> \
--version 1.0.0 \
--tags "tag1,tag2"
关键规范
描述(Description)编写规范
描述是代理识别并加载技能的唯一依据,至关重要:
- 上限 1024 字符
- 采用第三人称
- 首句阐述核心能力(15-25 词,以动作动词开头)
- 次句明确触发条件,必须包含
"Use when..."
| 错误示例 | 正确示例 |
|---|---|
| "Use when user needs PDFs" | "Process, merge, and extract PDF content" |
| "Helper for Docker" | "Build, deploy, and debug Docker containers" |
| "Helps with documents." | "Extract text and tables from PDF files. Use when processing PDFs or when user mentions form extraction." |
核心规则
- 保持简短:核心文件 30-50 行,上限 80 行
- 渐进式披露:元数据始终加载 → 核心主体触发时加载 → 辅助文件按需加载
- 辅助文件优先:超过 20 行的内容拆分至独立文件
- 避免冗余:信息仅存一处,通过引用避免重复
- 发布前测试:以全新代理视角审查指令是否清晰且必要
常见陷阱
| 陷阱 | 说明 |
|---|---|
| 解释基础概念 | 模型已知,应说明何时及如何使用 |
| 描述中使用触发条件 | 浪费字符,仅用动作动词 |
| 描述中堆砌关键词 | 像垃圾邮件,写精炼的一句话 |
| 模板内联 | 核心文件臃肿,分离到独立文件 |
| 模糊的"观察"指令 | 易被标记可疑,需明确具体数据 |
| 未声明的文件创建 | 触发安全警告,需添加数据存储说明 |
安全验证标准
技能发布需通过:
- 静态扫描:检查格式、字段完整性
- LLM 分析:审查用途匹配度、安装机制、权限需求
- 触发词范围:避免过宽导致意外激活
- 文件操作:修改工作区前需获取用户明确批准
工具链
| 工具 | 用途 |
|---|---|
| skill-scaffold | CLI 脚手架工具,快速生成技能目录结构 |
| skill-builder | 交互式技能构建引导,审查质量 |
| skill-factory | 程序化批量创建技能 |
openclaw skills install |
安装技能 |
openclaw gateway restart |
重启网关识别新技能 |
openclaw skills publish |
发布技能到 ClawHub |
官方参考技能
| 技能名称 | 作者 | 说明 |
|---|---|---|
| Skill Builder / Creator | ivangdavila | 模块化与渐进式披露设计,质量把控 |
| Skill Scaffold | nextfrontierbuilds | 多平台兼容 CLI 脚手架工具 |
| OpenClaw Skill Creator | yejay7 | OpenClaw 专属创建指南 |
| Write A Skill | liyafeichina | 技能编写规范与渐进式披露 |
| Skill 创建工厂 | smallkeyboy | 程序化批量创建 |
| Create Skills | ryanallen | 技能文档编写指导 |
| Clawhub Skill Creator | erview | ClawHub 平台发布指南 |