OpenClaw
應用場景高級20 min

如何建置和審核 OpenClaw Skills

學習如何建立自訂 OpenClaw Skills,審核社群 Skill 的品質和安全性,以及將複雜任務拆解為可複用的 Skill 鏈。

最後更新: 2026-03-31

你將建置什麼

一套 Skill 開發和審核工作流:

  1. 建置自訂 Skill — 建立滿足特定需求的 OpenClaw Skill
  2. 審核社群 Skill — 檢查 ClawHub 上的 Skill 的品質、安全性和可靠性
  3. 拆解複雜任務 — 將多步驟工作流分解為可複用的 Skill 鏈
  4. 迭代改進 — 透過 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 開發工具

bash
# 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 範例

markdown
# 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

在本機安裝並測試:

bash
clawhub install ./my-custom-skill

然後在 OpenClaw 中使用它,驗證是否按預期運作。

第 3 步:審核社群 Skill

安裝任何 ClawHub 上的 Skill 之前,先審核:

bash
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 分鐘

從拆解到工作流

將拆解結果轉化為可複用的工作流:

yaml
# .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:

bash
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。這是建置進階自動化的典型方式。

相關場景