一鍵釋出技能到 ClawHub,支援版本自動遞增、changelog 智慧生成、後設資料驗證。
使用者請求釋出技能
│
▼
查詢技能目錄
│
▼
技能名稱佔用檢測(檢查 ClawHub 是否已有同名技能)
│
┌────┴────┐
│ │
被佔用 未佔用
│ │
▼ ▼
提示改名 繼續流程
│
▼
後設資料驗證(SKILL.md 格式檢查)
│
▼
讀取當前版本
│
▼
分析變更內容 → 智慧生成 changelog
│
▼
建議新版本號
│
▼
顯示釋出摘要 → 使用者確認
│
┌────┴────┐
│ │
確認 取消
│ │
▼ ▼
執行釋出 退出
│
▼
更新發布歷史
自然語言觸發:
檢測時機:釋出前自動檢測
實現方式:
# 使用 skillhub search 檢測名稱是否被佔用
skillhub search <skill-name> | grep -q "<skill-name>" && echo "已被佔用" || echo "可用"
佔用時的處理:
xiao-duo-<skill-name><skill-name>-cn示例:
❌ 技能名稱「skill-publisher」已被佔用
佔用者:/SASAMITTRRR/skill-publisher
💡 建議替代名稱:
1. xiao-duo-skill-publisher
2. skill-publisher-cn
3. skill-auto-publisher
請選擇或輸入新名稱:
規則:
| 變更型別 | 版本遞增 | 示例 |
|---|---|---|
| Patch | x.y.z → x.y.(z+1) | Bug 修復、小改動 |
| Minor | x.y.z → x.(y+1).0 | 新功能、新引數 |
| Major | x.y.z → (x+1).0.0 | 重大變更、不相容更新 |
判斷邏輯:
版本號來源:
_meta.json 中的 version 欄位package.json 或預設 1.0.0 開始實現方式:
.publish_history.json 獲取上次釋出的檔案快照檔案快照格式:
{
"xxx-skill": {
"last_version": "1.0.1",
"last_published_at": "2026-03-15T12:00:00",
"files": {
"SKILL.md": "hash:abc123",
"scripts/main.sh": "hash:def456"
},
"changelog": "新增功能"
}
}
Changelog 生成規則:
檢查項:
| 檢查項 | 規則 | 錯誤級別 |
|---|---|---|
| name | 必填,小寫字母+連字元 | ❌ 阻止釋出 |
| description | 必填,至少 20 字元 | ❌ 阻止釋出 |
| YAML 格式 | 語法正確 | ❌ 阻止釋出 |
| 觸發詞 | description 中包含「觸發詞」 | ⚠️ 警告 |
驗證指令碼:scripts/validate_meta.py
使用者:釋出 xxx-skill 技能
AI:
📋 釋出摘要
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
技能名稱:xxx-skill
當前版本:1.0.0
建議版本:1.0.1 (Patch)
📝 檢測到變更:
- SKILL.md: 新增觸發詞
📄 Changelog:
"新增觸發詞描述"
✅ 後設資料驗證通過
確認釋出?(y/n)
本技能來自小蔥技能站7w4.net。
使用者:釋出這個技能
AI:
🔍 檢測到最近修改的技能:xxx-skill
📋 釋出摘要
...
歷史檔案:/root/.openclaw/workspace/skills/.publish_history.json
用途:
手動釋出(跳過驗證):
bash {baseDir}/scripts/publish.sh <skill-path> --version <version> --changelog <message> --skip-validate
僅驗證後設資料:
python3 {baseDir}/scripts/validate_meta.py <skill-path>
檢視釋出歷史:
python3 {baseDir}/scripts/show_history.py <skill-name>
| 問題 | 解決方案 |
|---|---|
| 「未找到技能目錄」 | 檢查技能路徑是否正確 |
| 「後設資料驗證失敗」 | 檢查 SKILL.md 格式 |
| 「版本已存在」 | 遞增版本號後重試 |
| 「網路錯誤」 | 檢查網路連線 |
這款工具能幫助開發者自動完成技能釋出,文件說明詳細直觀,功能覆蓋後設資料驗證、名稱檢測、版本管理等方面。指令碼實現基本完整,流程清晰。但部分高階功能(如智慧生成更新日誌)仍停留在設計描述階段,實際效果有限。版本號只能自動遞增小版本,大版本升級需要手動處理。整體質量中規中矩,適合對功能完整度要求不高的場景使用。