乐于分享
好东西不私藏

OpenClaw 技能开发从 0 到 1:手把手教你发布第一个 ClawHub 技能

OpenClaw 技能开发从 0 到 1:手把手教你发布第一个 ClawHub 技能

📌 核心摘要:OpenClaw 原生功能有限,但通过技能可以无限扩展。本文从零开始教你开发并发布第一个 ClawHub 技能,包含3 个可复用的技能模板(天气查询、待办管理、GitHub 监控),读完就能动手实践。

"ClawHub 已有 3000+ 技能,但高质量模板依然稀缺。"—— ClawHub 官方数据

上周我们分析了 OpenClaw 创始人的方法论,很多读者问:"知道了 Peter 的思维,但具体怎么开始?"

今天这篇就是答案。不讲大道理,只讲实操——从 SKILL.md 结构到 clawhub 发布命令,每一步都有截图和代码。

📚 读完本文你将获得

✅ 完整的技能开发流程(环境搭建 → 编写 → 测试 → 发布)

✅ 3 个可复用的技能模板(直接 fork 修改)

✅ 发布避坑指南(审核被拒的常见原因)

✅ 技能运营建议(如何让更多人使用你的技能)

准备好了吗?让我们开始~ 🚀


01   前置准备:5 分钟搭建开发环境

✅ 必要条件检查清单

☐ Node.js 18+ 已安装(node -v 验证)

☐ GitHub 账号已注册(需满 1 周才能发布)

☐ OpenClaw 工作区已配置

☐ 文本编辑器(VS Code / Sublime / 任意)

Step 1: 安装 ClawHub CLI

# 全局安装 clawhub

npm i -g clawhub

# 浏览器登录

clawhub login

# 验证登录状态

clawhub whoami

⚠️ 注意:首次登录会打开浏览器授权,确保使用与 GitHub 关联的账号。

Step 2: 创建工作区目录

my-openclaw-workspace/

├── skills/ # 技能存放目录

├── .clawhub/ # CLI 配置

└── .openclaw/ # OpenClaw 配置

mkdir -p my-openclaw-workspace/skills

cd my-openclaw-workspace


02   SKILL.md 深度解析:技能的核心文件

SKILL.md 是技能的"身份证",ClawHub 通过它理解你的技能是什么、能做什么。

📄 SKILL.md 完整结构

--- name: weather-check version: 1.0.0 description: 查询任意城市当前天气和空气质量 tags: [weather, api, utility, daily] requirements:   - node >= 18   - npm packages: axios ---  # Weather Check Skill  ## 功能描述 调用 wttr.in API 返回指定城市的当前天气,包括: - 温度、湿度、风速 - 天气状况(晴/雨/雪等) - 空气质量指数(可选)  ## 使用方法 /weather 北京 /weather Shanghai  ## 配置变量 - WTTR_LANG: 选填,语言设置(默认 zh-cn) - INCLUDE_AQI: 选填,是否包含空气质量(默认 false)  ## 示例 用户:/weather 北京 助手:北京当前天气:晴,温度 25°C,湿度 45%...

📊 YAML Frontmatter 字段详解

字段
必填
说明
示例
name
技能唯一标识(kebab-case)
calendar-reminder
version
语义化版本
1.0.0
description
搜索关键词来源
自动日历提醒
tags
分类标签(影响发现)
["automation"]
requirements
运行依赖
node >= 18

💡 最佳实践

命名规范:小写 + 连字符,避免下划线(weather-check ✅,weather_check ❌)

描述优化:包含用户可能搜索的自然语言(不仅写"天气查询",还写"今天会下雨吗")

标签策略:2-5 个标签,包含 1 个宽泛分类 + 具体场景(["utility", "weather", "daily"]


03   实战:3 个渐进式技能模板从入门到高级

我们准备了 3 个模板,难度递进。建议从模板 1 开始,熟悉后再挑战后面的。

1

天气查询技能(入门级)

🎯 功能

调用 wttr.in API 返回指定城市的当前天气

📚 学习点

• 基础 SKILL.md 结构

• API 调用方法

• 环境变量使用

# 创建技能目录

mkdir -p skills/weather-check

# 编写 SKILL.md(内容见上方示例)

cd skills/weather-check

# 测试技能

openclaw --workdir .

💡 提示:wttr.in 是免费 API,无需密钥。测试命令:curl wttr.in/北京

2

待办事项管理(进阶级)

🎯 功能

本地文件存储待办,支持增删改查

📚 学习点

• 文件操作(读写 JSON)

• 状态管理

• 命令解析

📋 支持命令

/todo add "买牛奶"

/todo list

/todo complete 1

/todo delete 1

💡 提示:数据存储在用户工作区的 .openclaw/todos.json,注意路径权限。

3

GitHub 仓库监控(高级)

🎯 功能

监控 repo star 变化,超阈值自动通知

📚 学习点

• 定时任务(Heartbeat)

• API 认证(GitHub Token)

• 条件触发与通知

--- name: github-watcher version: 1.0.0 description: 监控 GitHub 仓库 Star 变化,超阈值通知 tags: [github, monitoring, notification, developer] requirements:   - GITHUB_TOKEN 环境变量   - node >= 18 ---  # GitHub Watcher  ## 配置 - REPO: 必填,仓库地址(如:openclaw/openclaw) - THRESHOLD: 必填,通知阈值(如:100) - GITHUB_TOKEN: 必填,GitHub Personal Access Token  ## 使用 /github-watch start /github-watch status /github-watch stop

⚠️ 安全提示:GITHUB_TOKEN 不要硬编码在 SKILL.md 中,使用环境变量或 OpenClaw 的 secrets 管理。


04   发布到 ClawHub:让全世界使用你的技能

✅ 发布前检查清单

☐ SKILL.md 元数据完整(name/version/description/tags)

☐ 本地测试通过(所有命令能正常执行)

☐ 无敏感信息(API Key、密码等)

☐ README 清晰(使用说明、配置变量、示例)

☐ 版本号符合语义化(1.0.0 格式)

📤 首次发布流程

clawhub publish ./skills/weather-check \

--slug weather-check \

--name "Weather Check" \

--version 1.0.0 \

--changelog "Initial release" \

--tags latest,weather,utility

✅ 发布成功输出:✓ Skill published successfully!✓ Slug: weather-check✓ Version: 1.0.0✓ URL: https://claw-hub.net/skills/weather-check

🔄 版本管理与更新

# 查看已发布版本

clawhub list

# 更新版本

clawhub publish ./skills/weather-check \

--version 1.1.0 \

--changelog "Added humidity display"

# 批量同步(多技能场景)

clawhub sync --all --bump patch \

--changelog "Bug fixes"

📈 发布后的运营建议

1. 监控下载量:ClawHub 后台查看技能使用数据

2. 收集反馈:及时回复评论,修复报告的问题

3. 版本迭代:根据用户需求定期更新(建议每月 1 次小版本)

4. 推广策略:Twitter/Discord/技术社区分享,写使用教程


05   常见问题与排错指南避坑必看

Q1: 发布失败"Account too new"

解决:GitHub 账号需满 1 周才能发布技能。先用旧账号或等待一周后再试。这是防滥用机制。

Q2: 技能安装后不生效

排查步骤:1. 检查 skills 目录路径是否正确2. 重启 OpenClaw 会话(openclaw restart3. 查看日志报错(tail -f ~/.openclaw/logs/session.log

Q3: 搜索不到自己的技能

原因:向量索引有延迟,约 5-10 分钟。解决:等待后重试,或用精确 slug 安装(clawhub install weather-check

Q4: 如何调试技能执行?

方法:export OPENCLAW_DEBUG=1tail -f ~/.openclaw/logs/session.log查看详细执行日志,定位问题。

Q5: 技能审核被拒,常见原因?

常见原因:• 描述模糊或不完整• 缺少必要标签• 包含敏感信息(API Key 等)• 本地测试未通过• 与现有技能重名


06   进阶技巧:让技能更好用

🔍 向量搜索优化

ClawHub 使用向量搜索,描述中包含用户可能搜索的自然语言能提高被发现概率。

示例:天气技能不仅写"天气查询",还写"今天会下雨吗""出门需要带伞吗""北京上海天气"

🔗 技能组合使用

技能间可以通过文件环境变量通信,实现复杂工作流。

示例:天气技能 + 提醒技能 = 雨天自动提醒带伞

⚡ 性能优化

• 避免频繁 API 调用:加缓存(如天气数据缓存 30 分钟)

• 大文件操作分块处理:避免一次性读取大文件

• 超时设置合理:API 调用设置 5-10 秒超时

🔒 安全最佳实践

• 不硬编码密钥:使用环境变量或 OpenClaw secrets

• 验证用户输入:防止命令注入

• 限制文件操作范围:只访问工作区内的文件

• 提供漏洞报告渠道:在 SKILL.md 中留下联系方式


写在最后

🎯 核心收获

1. 技能开发门槛低

只需 Markdown + 基础脚本,无需复杂框架

2. 生态价值大

每个技能都可能帮助成千上万用户

3. 成长路径清晰

从模仿模板 → 修改优化 → 原创技能

下一步行动

📝 今天就开始:

1. Fork 本文提供的 3 个模板

2. 修改一个满足自己需求

3. 发布到 ClawHub

📚 相关资源

🔗 OpenClaw 官方文档

🔗 ClawHub 技能市场

🔗 OpenClaw Discord 社区

💬 互动话题

你在技能开发中遇到了什么问题?或者已经发布了什么技能?在评论区分享👇

📌 系列文章

上一篇

《OpenClaw 创始人 3 天 15K Star:从 Peter 身上能学到什么?》

下一篇:

评论区可以告诉我你想要了解哪些内容

本文基于 OpenClaw v2026.3.2 编写

技能模板代码:GitHub @openclaw/skill-templates

© 2026 智物纪 | 专注探索美好、分享技能