Skill Auto Publisher

👤 qianduoduo1422608857 📦 v1.1.0 ⭐ 4.3 ⬇️ 880 下載
🔒 IT運維與安全 免費

📖 技能介紹


name: skill-auto-publisher description: ClawHub 技能釋出助手 — AI 全流程搞定:自動遞增版本 → 智慧生成 changelog → 後設資料驗證 → 使用者確認 → 一鍵釋出。觸發詞:釋出技能、publish skill、ClawHub釋出、釋出到ClawHub、技能釋出。


🚀 ClawHub 技能釋出助手

一鍵釋出技能到 ClawHub,支援版本自動遞增、changelog 智慧生成、後設資料驗證。


一、釋出流程

使用者請求釋出技能
        │
        ▼
  查詢技能目錄
        │
        ▼
  技能名稱佔用檢測(檢查 ClawHub 是否已有同名技能)
        │
   ┌────┴────┐
   │         │
  被佔用    未佔用
   │         │
   ▼         ▼
 提示改名   繼續流程
   │
   ▼
  後設資料驗證(SKILL.md 格式檢查)
        │
        ▼
  讀取當前版本
        │
        ▼
  分析變更內容 → 智慧生成 changelog
        │
        ▼
  建議新版本號
        │
        ▼
  顯示釋出摘要 → 使用者確認
        │
   ┌────┴────┐
   │         │
  確認      取消
   │         │
   ▼         ▼
 執行釋出   退出
   │
   ▼
 更新發布歷史

二、觸發方式

自然語言觸發: - 「釋出 xxx-skill 技能」 - 「把 xxx-skill 釋出到 ClawHub」 - 「釋出這個技能」


三、核心功能

3.1 技能名稱佔用檢測(新增)

檢測時機:釋出前自動檢測

實現方式

# 使用 skillhub search 檢測名稱是否被佔用
skillhub search <skill-name> | grep -q "<skill-name>" && echo "已被佔用" || echo "可用"

佔用時的處理: 1. 提示使用者名稱稱已被佔用 2. 顯示佔用者的技能連結 3. 建議替代名稱: - 新增字首: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

請選擇或輸入新名稱:

3.2 版本自動遞增

規則

變更型別 版本遞增 示例
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 重大變更、不相容更新

判斷邏輯: 1. 檢測 SKILL.md 變更: - 新增 description 內容 → Minor - 修改 description 內容 → Patch - 新增/刪除核心章節 → Minor 2. 檢測 scripts/ 變更: - 新增指令碼 → Minor - 修復指令碼 bug → Patch 3. 檢測 references/ 變更: - 新增參考文件 → Patch

7w4.net提供免費和付費技能下載。

版本號來源: - 優先讀取 _meta.json 中的 version 欄位 - 如果沒有,從 package.json 或預設 1.0.0 開始


3.3 Changelog 智慧生成

實現方式: 1. 讀取 .publish_history.json 獲取上次釋出的檔案快照 2. 對比當前檔案與快照的差異 3. AI 分析變更內容,生成簡潔的 changelog

檔案快照格式

{
  "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 生成規則: - 新增功能:「新增 xxx 功能」 - 修復問題:「修復 xxx 問題」 - 最佳化改進:「最佳化 xxx」 - 文件更新:「更新 xxx 文件」


3.4 後設資料驗證

檢查項

檢查項 規則 錯誤級別
name 必填,小寫字母+連字元 ❌ 阻止釋出
description 必填,至少 20 字元 ❌ 阻止釋出
YAML 格式 語法正確 ❌ 阻止釋出
觸發詞 description 中包含「觸發詞」 ⚠️ 警告

驗證指令碼scripts/validate_meta.py


四、使用示例

示例 1:釋出指定技能

使用者:釋出 xxx-skill 技能

AI:
📋 釋出摘要
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
技能名稱:xxx-skill
當前版本:1.0.0
建議版本:1.0.1 (Patch)

📝 檢測到變更:
- SKILL.md: 新增觸發詞

📄 Changelog:
"新增觸發詞描述"

✅ 後設資料驗證通過

確認釋出?(y/n)

示例 2:釋出當前技能(模糊匹配)

使用者:釋出這個技能

AI:
🔍 檢測到最近修改的技能:xxx-skill

📋 釋出摘要
...

五、釋出歷史

歷史檔案/root/.openclaw/workspace/skills/.publish_history.json

用途: 1. 記錄每次釋出的版本、時間、changelog 2. 對比檔案變更,智慧生成 changelog 3. 避免重複釋出相同版本


六、命令參考

手動釋出(跳過驗證)

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>

七、注意事項

  1. 釋出前確認:必須使用者確認後才執行釋出
  2. 版本號唯一:不能釋出已存在的版本號
  3. 網路檢查:釋出前檢查網路連線
  4. 登入狀態:確保 ClawHub CLI 已登入

八、故障排查

問題 解決方案
「未找到技能目錄」 檢查技能路徑是否正確
「後設資料驗證失敗」 檢查 SKILL.md 格式
「版本已存在」 遞增版本號後重試
「網路錯誤」 檢查網路連線

🤖 AI 評測

這款工具能幫助開發者自動完成技能釋出,文件說明詳細直觀,功能覆蓋後設資料驗證、名稱檢測、版本管理等方面。指令碼實現基本完整,流程清晰。但部分高階功能(如智慧生成更新日誌)仍停留在設計描述階段,實際效果有限。版本號只能自動遞增小版本,大版本升級需要手動處理。整體質量中規中矩,適合對功能完整度要求不高的場景使用。

📊 多維度評分

適應性4.2
規範性4.1
有效性4.5
可靠性4.2
可信度5

📁 包含檔案 (6 個)

📄 SKILL.md 5.7 KB
📄 _meta.json 139 B
📄 scripts/check_slug.py 2.3 KB
📄 scripts/publish.sh 2.8 KB
📄 scripts/publish_history.py 2.7 KB
📄 scripts/validate_meta.py 3.4 KB