🛠️ OpenClaw Skill Workshop 创建完全教程
从零到发布:手把手教你创建高质量 Agent Skill
TL;DR:Skill Workshop 是 OpenClaw 社区的 Skill 协作开发流程。本文教你从提案、开发、测试到发布到 ClawHub 的完整流程,包含 SKILL.md 编写规范和社区审查要点。
🎯 什么是 Skill Workshop?
Skill Workshop 是 OpenClaw 社区用于协作开发和审查 Agent Skill 的机制。它类似于 Python 的 PEP 流程,确保每个发布到 ClawHub 的 Skill 都经过充分审查。
| 阶段 | 说明 | 时间 |
| 提案 (Proposal) | 提交 Skill 设计文档 | 1-3天 |
| 审查 (Review) | 社区成员审查代码和设计 | 3-7天 |
| 修订 (Revision) | 根据反馈修改 | 1-3天 |
| 批准 (Approval) | 至少2个维护者批准 | 1天 |
| 发布 (Publish) | 发布到 ClawHub | 即时 |
📁 Skill 项目结构
my-awesome-skill/
├── SKILL.md # 核心指令文件(必需)
├── README.md # 项目说明(可选但推荐)
├── examples/ # 示例文件
│ ├── basic-usage.md
│ └── advanced-usage.md
├── templates/ # 模板文件
│ └── report-template.md
├── scripts/ # 辅助脚本
│ └── setup.sh
└── tests/ # 测试用例
└── test-skill.md
📝 SKILL.md 编写规范
SKILL.md 是 Skill 的核心,它告诉 Agent 如何使用你的 Skill。以下是完整模板:
# Skill Name
简短描述这个 Skill 做什么(1-2句话)。
## 何时使用
描述 Agent 应在什么场景下使用这个 Skill。
- 用户请求 XXX 时
- 需要处理 YYY 时
- 检测到 ZZZ 时
## 使用方法
### 基本用法
描述最基本的使用方式。
### 高级用法
描述高级功能和配置。
## 参数说明
| 参数 | 类型 | 必需 | 说明 |
|------|------|------|------|
| --format | string | 否 | 输出格式 (json/text/html) |
| --verbose | boolean | 否 | 详细输出模式 |
## 示例
### 示例1:基本使用
\`\`\`bash
openclaw skills run my-skill --input="hello"
\`\`\`
### 示例2:高级配置
\`\`\`bash
openclaw skills run my-skill --format=json --verbose
\`\`\`
## 最佳实践
1. 始终检查输入参数
2. 使用错误处理机制
3. 记录操作日志
## 注意事项
- 不要在生产环境使用 --debug 模式
- 大文件处理时注意内存限制
## 相关 Skill
- [another-skill](link) - 相关功能
🔧 开发流程
1 创建 Skill 骨架
# 使用 OpenClaw CLI 创建新 Skill
openclaw skills create my-awesome-skill
# 或手动创建目录
mkdir -p my-awesome-skill
cd my-awesome-skill
touch SKILL.md
2 编写 SKILL.md
按照上面的规范编写 SKILL.md。关键要点:
- 语言简洁明了,Agent 需要能理解
- 提供足够的上下文和示例
- 明确说明何时使用、何时不使用
- 包含错误处理说明
3 本地测试
# 安装本地 Skill 进行测试
openclaw skills install ./my-awesome-skill --local
# 测试 Skill 是否正确加载
openclaw skills list | grep my-awesome-skill
# 实际使用测试
openclaw chat "请使用 my-awesome-skill 处理这个任务"
4 提交到 Workshop
# Fork ClawHub 仓库
gh repo fork openclaw/clawhub
# 创建分支
git checkout -b skill/my-awesome-skill
# 添加 Skill 文件
cp -r ../my-awesome-skill ./skills/
# 提交 PR
git add .
git commit -m "feat: add my-awesome-skill"
git push origin skill/my-awesome-skill
gh pr create --title "New Skill: my-awesome-skill"
5 社区审查
提交 PR 后,社区会审查以下方面:
| 审查项 | 要求 |
| SKILL.md 质量 | 清晰、完整、有示例 |
| 安全性 | 无恶意代码、无敏感信息泄露 |
| 功能完整性 | 功能描述与实际一致 |
| 命名规范 | 小写字母+连字符,无冲突 |
| 许可证 | 兼容的开源许可证 |
🎨 Skill 设计最佳实践
✅ DO - 推荐做法
- 单一职责:一个 Skill 做一件事,做好
- 清晰的触发条件:明确告诉 Agent 何时使用
- 丰富的示例:至少3个不同场景的示例
- 错误处理:说明常见错误和解决方案
- 版本控制:使用语义化版本号
❌ DON'T - 避免的做法
- 不要在 SKILL.md 中写过多的代码逻辑
- 不要依赖外部服务的可用性(除非有 fallback)
- 不要硬编码路径或配置
- 不要忽略安全考虑
- 不要使用模糊的描述(如"做一些处理")
📊 已发布的 Skill Workshop 案例
| Skill 名称 | 功能 | 下载量 | 评分 |
| openclaw-mcp-stateless-migrator | MCP无状态化迁移检测 | 2.8K | 4.8/5 |
| openclaw-ai-seo-optimizer | SEO自动优化 | 3.5K | 4.7/5 |
| openclaw-browser-automation | 浏览器自动化 | 5.2K | 4.9/5 |
| openclaw-rss-aggregator | RSS内容聚合 | 1.9K | 4.6/5 |