ClawHub技能发布助手。在发布新技能前自动检查ClawHub/GitHub上的现有版本,对比实现思路,智能整合差异后发布/更新。Trigger on phrases like "发布技能", "publish skill", "ClawHub发布", "检查技能版本", "整合技能更新".
自动化ClawHub技能发布流程,确保版本一致性和代码质量。
"先检查后发布,智能整合,避免覆盖"
发布前必须:
# 1. 检查现有版本
bash scripts/check-existing.sh <skill-name>
# 2. 对比差异(如果存在)
bash scripts/compare-versions.sh <skill-name>
# 3. 智能整合(如果有差异)
# 手动审查并合并重要变更
# 4. 发布/更新
bash scripts/publish.sh <skill-name> <version>
# 跳过检查,直接发布(仅适用于新技能)
bash scripts/publish.sh <skill-name> 1.0.0
# 1. 检查+对比+下载
bash scripts/update.sh <skill-name>
# 2. 手动整合差异
# 3. 更新版本号后发布
bash scripts/publish.sh <skill-name> x.y.z
功能:
用法:
bash scripts/check-existing.sh <skill-name>
输出示例:
ClawHub: 已存在
- 版本: 3.4.0
- 所有者: zhaog100
- Package ID: k97d4m6m5hpwd33g64j2g12zxs82ezj1
GitHub: 未找到
退出码:
功能:
用法:
bash scripts/compare-versions.sh <skill-name>
输出示例:
=== 版本对比报告 ===
本地版本: 3.5.0
远程版本: 3.4.0
=== 文件差异 ===
+ scripts/new-feature.sh (新增)
~ SKILL.md (+45 -12)
~ scripts/main.sh (+120 -80)
=== 功能差异 ===
+ 新增功能A
- 移除功能B
~ 优化功能C
=== 建议 ===
需要整合:远程版本有重要的bug修复
功能:
用法:
bash scripts/publish.sh <skill-path> <version>
示例:
# 发布新技能
bash scripts/publish.sh ./skills/my-skill 1.0.0
# 更新现有技能
bash scripts/publish.sh ./skills/my-skill 2.1.0
注意事项:
/usr/lib/node_modules/clawhub/dist/cli/commands/publish.js 添加 acceptLicenseTerms: true功能:
用法:
bash scripts/update.sh <skill-name>
MAJOR.MINOR.PATCH
<功能名>(如:github、weather)miliger-<功能名>(如:miliger-playwright-scraper)clawhub install <slug>bash scripts/compare-versions.sh <slug>bash scripts/publish.sh <path> <version># 1. 检查是否存在
bash scripts/check-existing.sh my-skill
# 输出:不存在
# 2. 直接发布
bash scripts/publish.sh ./skills/my-skill 1.0.0
# 1. 检查现有版本
bash scripts/check-existing.sh my-skill
# 输出:存在,所有者是zhaog100
# 2. 对比差异
bash scripts/compare-versions.sh my-skill
# 3. 整合变更
# (手动审查并合并)
# 4. 发布更新
bash scripts/publish.sh ./skills/my-skill 2.0.0
# 1. 检查现有版本
bash scripts/check-existing.sh my-skill
# 输出:存在,所有者不是zhaog100
# 2. 选择方案
# 方案A:使用不同slug
bash scripts/publish.sh ./skills/my-skill 1.0.0 --slug miliger-my-skill
# 方案B:放弃发布(避免重复)
echo "已存在同名技能,放弃发布"
原因:ClawHub CLI v0.7.0 缺少此字段
解决:修改 publish.js 添加 acceptLicenseTerms: true
详细步骤见 references/clawhub-api.md
原因:包含venv、node_modules等大目录
解决:创建 .clawhubignore 文件
venv/
node_modules/
__pycache__/
*.log
logs/
原因:远程和本地都有重大变更
解决:
# 场景:发布 session-memory-enhanced v4.0.1
# 1. 检查现有版本
cd /root/.openclaw/workspace/skills/clawhub-publisher
bash scripts/check-existing.sh session-memory-enhanced
# 输出:存在,所有者zhaog100,版本4.0.0
# 2. 对比差异
bash scripts/compare-versions.sh session-memory-enhanced
# 输出:本地有新功能(+3个文件),远程无更新
# 3. 发布更新
bash scripts/publish.sh ../session-memory-enhanced 4.0.1
# 输出:发布成功,Package ID: k97carwxs0htme5y071ye69ykx82mmwg
# 4. 验证
clawhub inspect session-memory-enhanced
# 输出:版本4.0.1,已发布
ZIP package — ready to use