如何建置和審核 OpenClaw Skills
學習如何建立自訂 OpenClaw Skills,審核社群 Skill 的品質和安全性,以及將複雜任務拆解為可複用的 Skill 鏈。
最後更新: 2026-03-31
你將建置什麼
一套 Skill 開發和審核工作流:
- 建置自訂 Skill — 建立滿足特定需求的 OpenClaw Skill
- 審核社群 Skill — 檢查 ClawHub 上的 Skill 的品質、安全性和可靠性
- 拆解複雜任務 — 將多步驟工作流分解為可複用的 Skill 鏈
- 迭代改進 — 透過 AI 輔助回饋來測試、除錯和優化 Skill
完成本教學後,你可以建立生產級品質的 Skill,並自信地評估任何 Skill 的可用性。
為什麼要建置自訂 Skill
ClawHub 上有幾百個社群 Skill,但有時你需要更有針對性的方案:
- 內部工具 — 你公司的 API、儀表板和工作流不在公開 Skill 涵蓋範圍內
- 自訂整合 — 使用小眾工具或私有系統,需要自訂連接器
- 工作流優化 — 將多個 Skill 合併為一個精簡的 Skill,節省時間
- 品質控管 — 自己建置的 Skill,你完全清楚它做了什麼
- 競爭優勢 — 獨特的自動化工作流,競爭對手沒有
為什麼安裝前要審核 Skill
並非 ClawHub 上的每個 Skill 都是生產級的。安裝社群 Skill 前需要注意:
- 安全性 — Skill 可能以你意想不到的方式存取檔案系統、網路或憑證
- 品質 — 有些 Skill 是原型或概念驗證,不適合生產使用
- 維護 — 廢棄的 Skill 可能無法適配新版 OpenClaw
- 相依性 — Skill 可能需要你沒有的外部服務或 API 金鑰
- 權限 — 在授予存取之前,了解 Skill 請求了哪些權限
先決條件
- OpenClaw 已安裝並設定好(快速上手指南)
- 熟悉 YAML 和基礎腳本撰寫
- Node.js 18+
第 1 步:安裝 Skill 開發工具
# 1. Skill Builder — 引導你建立結構良好的 Skill npx clawhub@latest install skill-builder # 2. Skill Reviewer — 品質和結構分析 npx clawhub@latest install skill-reviewer # 3. Task Decomposer — 將複雜任務拆解為 Skill 鏈 npx clawhub@latest install task-decomposer
第 2 步:建立你的第一個自訂 Skill
理解 Skill 結構
OpenClaw Skill 以 SKILL.md 檔案為核心——這是告訴 AI Agent 如何執行任務的指令文件。Skill Builder 會引導你按照最佳實踐建立結構良好的 Skill。
典型的 Skill 結構如下:
my-custom-skill/ ├── SKILL.md # Agent 的核心指令 ├── [topic].md # 按需載入的詳細檔案 ├── references/ # 大量文件和範例 └── scripts/ # 選用的自動化腳本
撰寫 SKILL.md
SKILL.md 是 Skill 的核心。安裝 Skill Builder 後,讓 OpenClaw 幫你撰寫:
Help me create a skill that searches a custom API for products. The API is at https://api.example.com/search and requires an API key.
Skill Builder 會引導你完成:
- 模組化結構 — 保持主 SKILL.md 聚焦,詳細內容放到獨立檔案
- 漸進式載入 — 只在 Agent 需要時載入詳細檔案
- Token 效率 — 最小化上下文視窗佔用
- 明確的輸入/輸出 — 定義 Skill 預期什麼、回傳什麼
SKILL.md 範例
# Product Search Skill
Search the product catalog API for items matching a query.
## Configuration
- `API_URL`: Base URL of the product API
- `API_KEY`: API key for authentication (set as environment variable)
## Usage
When the user asks to search for products, use the API:
GET {API_URL}/search?q={query}
Authorization: Bearer {API_KEY}
## Response Format
Return results as a structured list with name, price, and URL for each product.
測試 Skill
在本機安裝並測試:
clawhub install ./my-custom-skill
然後在 OpenClaw 中使用它,驗證是否按預期運作。
第 3 步:審核社群 Skill
安裝任何 ClawHub 上的 Skill 之前,先審核:
clawhub run skill-reviewer --skill "clawhub-username/skill-name"
審核器分析 Skill 的 SKILL.md 和支援檔案,檢查:
=== Skill 審核:awesome-slack-bot === ## 結構評估 ✓ SKILL.md 組織清晰,分節合理 ✓ 描述具體且可操作 ✓ 輸入/輸出預期已文件化 ✓ 包含使用範例 ⚠ 缺少按需載入的詳細檔案——所有內容集中在一個大 SKILL.md 中 ## 品質評分 ✓ Frontmatter 完整(名稱、描述、版本) ✓ 指令 Token 效率高——使用了漸進式載入 ✓ 包含錯誤處理指引 ⚠ 缺少限流指引——高負載下可能觸發 API 限制 ## 描述品質:8.5/10 建議:結構良好的 Skill,可以使用
審核要點
危險信號
- Skill 請求了不該需要的權限(比如搜尋類 Skill 請求檔案寫入權限)
- 沒有測試或文件
- 超過 6 個月沒有更新
- 原始碼中寫死了 URL 或憑證
- 混淆或壓縮的程式碼
良好信號
- 權限宣告與實際使用一致
- 全面的測試覆蓋
- 積極維護和社群互動
- 透明的原始碼
- 完善的設定文件
第 4 步:拆解複雜任務
Task Decomposer Skill 幫助將複雜請求拆解為可執行的步驟。讓 OpenClaw:
Decompose this task: Monitor competitor pricing pages daily and alert me when prices change
輸出範例:
=== 任務拆解 === 任務:每日監控競品定價頁面,價格變化時告警 ## Skill 鏈 1. **browser-use** — 造訪每個競品的定價頁面 輸入:競品 URL 清單 輸出:頁面內容 / 截圖 2. **web-scraper** — 從每個頁面擷取定價資料 輸入:頁面內容 輸出:結構化定價資料 (JSON) 3. **file_read** — 載入昨天的定價資料用於對比 輸入:儲存資料的檔案路徑 輸出:歷史定價資料 4. **summarize** — 對比目前和歷史定價,識別變化 輸入:目前資料 + 歷史資料 輸出:變化報告 5. **telegram**(或 email)— 偵測到變化時傳送告警 輸入:變化報告 輸出:通知已傳送 ## 所需 Skills - browser-use (已安裝: yes) - web-scraper (已安裝: yes) - summarize (已安裝: yes) - telegram (已安裝: no — 安裝指令: npx clawhub@latest install telegram) ## 預計建置時間:20 分鐘
從拆解到工作流
將拆解結果轉化為可複用的工作流:
# .openclaw/price-monitor.yml
name: competitor-price-monitor
schedule: "0 9 * * *"
steps:
- skill: browser-use
action: navigate
urls:
- "https://competitor1.com/pricing"
- "https://competitor2.com/pricing"
- skill: web-scraper
action: extract
format: json
target: "pricing tables"
- skill: summarize
action: compare
current: "{{step_2.output}}"
previous: "./data/last-pricing.json"
- skill: telegram
action: send
condition: "changes_detected"
message: "{{step_3.output}}"
- action: save
data: "{{step_2.output}}"
path: "./data/last-pricing.json"
第 5 步:發佈你的 Skill
Skill 準備好後,發佈到 ClawHub:
clawhub publish my-custom-skill
發佈前確保:
- SKILL.md 完整且結構良好
- 描述具體且可操作
- 沒有寫死的密鑰
- 版本號遵循 semver 規範
疑難排解
Skill 行為不符合預期
- 檢查 SKILL.md 指令是否清晰具體
- 用不同的提示測試,看 Agent 是否正確理解 Skill
- 參考 Skill Builder 的指南了解常見的指令撰寫陷阱
執行時提示權限不足
- 審查 Skill 存取了哪些資源——檔案、網路、憑證
- 確保安裝時授予了所需權限
- 某些權限需要在首次執行時明確使用者核准
Skill Reviewer 誤報
- 審核器偏保守——有疑慮的地方都會標記
- 查看具體的警告,判斷是否適用於你的情境
- 不是每個警告都是真正的問題——用你的判斷力
發佈的 Skill 沒有出現在 ClawHub
- 發佈後可能需要幾分鐘同步
- 確認你的 ClawHub 帳號已驗證
- 檢查 Skill 名稱是否與既有 Skill 衝突
常見問題
不需要。大多數 OpenClaw Skill 圍繞 `SKILL.md` 檔案建置——一份 Markdown 文件,指導 AI Agent 如何執行任務。只需寫清楚指令和 API 文件就能建立有效的 Skill。如果需要更複雜的自動化,可以在 SKILL.md 旁邊放腳本(Python、Bash 等),但這是選用的。
可以。Skill 可以在本機安裝而不發佈。把 Skill 目錄放在專案中或私有儲存庫裡,用本機路徑安裝:`clawhub install ./my-custom-skill`。這在公司內部整合中很常見——這些 Skill 不應該公開。
在 Skill 中繼資料中升版本號,更新 README 中的變更日誌,然後再次執行 `clawhub publish`。ClawHub 管理版本——舊版本的使用者不會自動更新,除非他們執行 `clawhub update`。
遵循最小權限原則。只請求 Skill 實際需要的權限。常見的權限組合:僅網路(API 整合)、網路 + 檔案讀取(資料處理)、網路 + 憑證(需驗證的 API)。除非 Skill 需要把輸出儲存到磁碟,否則避免請求檔案寫入權限。
在 SKILL.md 中包含限流指引——指導 Agent 在呼叫 API 時實作指數退避。對於和限流 API 互動的 Skill,在 README 中記錄限流上限讓使用者知情,並在附帶的腳本中包含重試邏輯。
可以——這是最強大的模式之一。用 YAML 工作流定義把 Skill 串聯起來,或者用 Task Decomposer 識別合適的 Skill 鏈。產出的工作流可以儲存為一個新 Skill,內部委派給其他 Skill。這是建置進階自動化的典型方式。