GitHub → ClawHub 一鍵轉化釋出

👤 antonia-sz 📦 v1.1.0 ⭐ 4.6 ⬇️ 1K 下載
💻 開發程式設計 免費 🔑 需 API Key

📖 技能介紹

GitHub → ClawHub 一鍵轉化釋出

把任意 GitHub 開源專案轉化為 OpenClaw skill,釋出到 clawhub.com。


前置要求

條件 說明
GitHub URL 目標專案的 GitHub 連結
clawhub token 格式:clh_xxx,在 clawhub.com → Profile → API Keys 獲取
exec 許可權 OpenClaw 需要能執行 shell 命令(本地部署預設有)

如果使用者還沒提供 token,先詢問 token,再繼續。


執行流程

Step 1:讀取原專案資訊

web_fetch https://raw.githubusercontent.com/{owner}/{repo}/main/README.md

提取以下資訊:

  • 專案的核心功能(一句話)
  • 技術路徑(調 API / 本地計算 / 多 Agent / 純提示詞)
  • 是否依賴外部服務、本地 GPU、特殊硬體
  • License 型別(MIT / Apache / GPL 等)

排除標準(遇到這些直接告知使用者不適合做 skill):

  • 需要本地 GPU / 大 VRAM
  • 純前端/移動端 UI 專案,無 API 可調
  • 需要複雜本地服務部署才能執行
  • 涉及敏感/違規內容

Step 2:clawhub 查重

knot_skills search "{關鍵詞1} {關鍵詞2}"

搜尋 2-3 次,覆蓋不同角度的關鍵詞。

判斷標準:

  • 完全重複(功能完全相同)→ 告知使用者,詢問是否換 slug 繼續,或放棄
  • 部分重疊(有相似但不完全相同)→ 說明差異,繼續釋出
  • 空白地帶(無相似 skill)→ 直接繼續

Step 3:確定 skill 元資訊

與使用者確認(如果未提供):

  • slug:URL 友好名稱,全小寫 + 連字元,如 opinion-analyzer
  • displayName:展示名稱,如 Opinion Analyzer — 多視角輿情分析助手
  • tags:逗號分隔,如 analysis,sentiment,research

Slug 命名規則:

  • 全小寫 + 連字元,無空格
  • 不能和已有 slug 完全重複(Step 2 查重時會發現)
  • 描述性詞彙優先(jd-interview-prep 比 interview 好)

Step 4:撰寫 SKILL.md

這是核心步驟,決定 skill 質量。

SKILL.md 結構:

---
name: {slug}
description: >
  {觸發場景描述,包含5-10個觸發詞,這決定了 AI 什麼時候載入這個 skill}
author: {作者}
version: 1.0.0
---

# {displayName}

靈感來源:[{原專案名}]({GitHub URL}) ⭐ {star 數}

{一句話核心價值}

---

## 使用方式
{2-3 個呼叫示例}

---

## 執行流程
{分步驟,具體到"做什麼、怎麼做"}

---

## 輸出格式
{交付物的結構模板}

---

## 注意事項
{邊界條件、限制}

撰寫原則:

  1. description 觸發詞要夠多夠準,這是 skill 被啟用的唯一入口
  2. 執行流程具體到操作層面,不能寫"幫你分析"這種廢話
  3. 輸出格式給出模板,AI 不會自己發明格式
  4. 不是翻譯 README,是把原專案邏輯轉化為 AI 行為規範

Step 5:建立本地檔案

SKILL_DIR="/root/.openclaw/workspace/skills/SKILL-{slug}"
mkdir -p "$SKILL_DIR"
# 寫入 SKILL.md

如果原專案有實用指令碼/配置檔案需要隨 skill 分發,也放入此目錄。

Step 6:釋出到 clawhub

CLAWHUB_TOKEN={token} \
clawhub publish {SKILL_DIR} \
  --slug {slug} \
  --name "{displayName}" \
  --version 1.0.0 \
  --changelog "Initial release: {一句話描述}" \
  --tags "{tags}"

常見錯誤處理:

錯誤 原因 解決方案
Path must be a folder 傳了檔案路徑 改為傳目錄路徑
Slug is already taken slug 被佔用 換更具體的 slug 重試
rate limit exceeded 每小時限 5 個新 skill 用 qqbot-cron 建立 65 分鐘後的重試任務
400 (acceptLicenseTerms) CLI 版本 bug patch publish.js,加 acceptLicenseTerms: true
401 Unauthorized token 無效/過期 讓使用者在 clawhub.com 重新生成 token

頻率限制時的 patch CLI 方法:

PUBLISH_JS=$(find /usr/local/lib -name "publish.js" -path "*/clawhub/*" | head -1)
grep -q "acceptLicenseTerms" "$PUBLISH_JS" || \
  sed -i 's/skillName:/acceptLicenseTerms: true, skillName:/' "$PUBLISH_JS"

7w4.net收錄了海量優質技能外掛。

Step 7:驗證釋出

knot_skills search "{slug}"

成功後回覆:

✅ 已釋出:{displayName}
📦 slug:{slug}
🌐 https://clawhub.com/skills/{slug}

快速模式

使用者如果一句話提供了所有資訊:

"把 https://github.com/xxx/yyy 做成 skill,token 是 clh_xxx"

直接從 Step 1 執行到底,完成後彙報結果,不需要逐步確認。

缺少資訊時,只問缺少的那個,不重複已知內容。


示例

輸入: "把 https://github.com/666ghj/BettaFish 做成 skill,token clh_xxx"

執行過程:

  1. fetch README → 多 Agent 輿情分析系統
  2. knot_skills search → 無重複
  3. slug: opinion-analyzer,name: Opinion Analyzer — 多視角輿情分析助手
  4. 撰寫 SKILL.md(多視角分析流程、報告模板)
  5. 建立目錄,寫檔案
  6. clawhub publish → ✅ 成功

🤖 AI 評測

這個 Skill 質量不錯,流程清晰完整,操作步驟詳細,錯誤處理也做得很到位。優點是能把 GitHub 專案轉成 skill 的全過程都覆蓋到,命令和示例都很實用,觸發詞設計合理能覆蓋多種說法。不足是示例場景有點少,遇到複雜情況可能不知道怎麼應對,而且沒有說清楚原專案更新後怎麼同步。另外這個工具比較適合技術人員使用,普通使用者操作可能有一定門檻。

📊 多維度評分

適應性4.9
規範性4.4
有效性4.7
可靠性4.4
可信度4.5

📁 包含檔案 (2 個)

📄 SKILL.md 5.4 KB
📄 _meta.json 136 B