OpenClaw 自訂 Skill 開發指南
把你的獨特工作流封裝成 Skill,讓 AI 真正替你幹活。
為什麼要自己寫 Skill?
OpenClaw 內置了很多通用 Skill,但每個人的工作流都不一樣。自訂 Skill 讓你可以:
- 🎯 封裝獨特工作流:你公司內部的審批流程、報表格式、資料來源,別人的 Skill 不可能涵蓋
- 🔗 對接內部工具:連接公司的 CRM、ERP、OA 系統,讓 AI 直接操作你的業務系統
- ⚡ 提高執行效率:把 10 步手動操作壓縮成一個 Skill 呼叫,AI 一句話就能完成
- 🔄 標準化團隊協作:團隊成員共享同一套 Skill,確保 AI 輸出的格式和品質一致
Skill 架構概覽
一個 Skill 的核心結構非常簡單,由三個部分組成:
聲明層(Manifest)
告訴 OpenClaw 這個 Skill 是什麼、需要什麼輸入、產生什麼輸出。包括名稱、描述、參數定義、權限要求等後設資料。
執行層(Handler)
Skill 的核心邏輯。接收輸入參數,執行具體操作(呼叫 API、讀寫檔案、處理資料),傳回結果。支援同步和非同步兩種模式。
生命週期鉤子(Hooks)
可選的擴展點:初始化(載入設定、建立連接)、校驗(檢查輸入合法性)、清理(釋放資源、關閉連接)。不寫也沒關係,系統有預設行為。
實戰:構建一個「客戶跟進提醒」Skill
我們用一個真實場景來走一遍完整的開發流程:
明確需求
場景:銷售團隊需要 AI 每天檢查 CRM 中超過 7 天未聯繫的客戶,生成跟進清單,傳送到企業微信群。
- 輸入:天數閾值(預設 7 天)、目標群組 ID
- 輸出:跟進清單(客戶名、上次聯繫時間、建議動作)
- 權限:需要 CRM API 訪問權限、企業微信傳送權限
編寫 Manifest
定義 Skill 的後設資料:名稱叫 customer-followup,描述清楚功能,聲明兩個輸入參數和它們的型別、預設值。這一步決定了 AI 什麼時候會呼叫你的 Skill。
實現 Handler
核心邏輯分三步:① 呼叫 CRM API 查詢超期客戶 → ② 用 AI 生成每個客戶的跟進建議 → ③ 格式化成訊息傳送到企業微信。每一步都可以呼叫 OpenClaw 的內置工具。
本地測試
用 OpenClaw 的開發模式載入 Skill,對 AI 說「檢查一下超過 3 天沒聯繫的客戶」。觀察 AI 是否正確識別意圖、傳入正確參數、傳回預期結果。
部署上線
測試通過後,將 Skill 安裝到生產環境。團隊中的任何人都可以通過自然語言觸發它。
常見開發模式
大多數自訂 Skill 都屬於以下幾類:
🌐 API 整合類
對接外部服務的 API,讓 AI 可以操作第三方系統。
- 連接企業微信 / 釘釘 / 飛書,傳送訊息和通知
- 對接 Jira / Notion / 飛書多維表格,管理專案和任務
- 呼叫支付閘道查詢訂單狀態
- 連接自建的內部 API 服務
📄 檔案處理類
批量處理檔案、轉換格式、提取資訊。
- 批量將 Word 轉 PDF 並新增浮水印
- 從發票圖片中提取金額和日期(結合 OCR)
- 合併多個 Excel 並生成彙總報表
- 掃描目錄中的檔案並按規則整理歸檔
🔔 通知和報告類
定時生成報告或在特定條件下發出通知。
- 每日站會摘要:彙總昨天的 Git 提交和 Jira 異動
- 異常告警:監控指標超閾值時自動通知
- 週報生成:從多個資料來源拉取資料並格式化
🔄 資料處理類
ETL、資料清洗、格式轉換等資料密集型任務。
- 從資料庫匯出 → 清洗 → 寫入另一個系統
- CSV/JSON 格式互轉並做資料校驗
- 多源資料合併去重
測試和除錯技巧
- 🐛 開發模式執行:載入 Skill 時開啟 debug 模式,可以看到 AI 傳入的完整參數和 Skill 傳回的完整結果
- 🧪 模擬輸入測試:準備幾組典型輸入(正常值、邊界值、異常值),逐個驗證 Skill 的行為
- 📋 檢查 Manifest 描述:如果 AI 不呼叫你的 Skill,通常是 Manifest 中的描述不夠清晰。試著用更自然的語言描述功能
- 🔍 日誌追蹤:在 Handler 中新增日誌輸出,追蹤每一步的執行情況
- ⏱️ 逾時處理:外部 API 呼叫一定要設置逾時,避免 Skill 卡死
- 🛡️ 錯誤處理:傳回清晰的錯誤資訊,而不是讓 Skill 直接當機。AI 需要錯誤資訊來決定下一步怎麼做
發佈和分享
寫好的 Skill 不要藏著,分享給社群讓更多人受益:
- 📦 打包:按照標準目錄結構組織檔案,包含 Manifest、Handler、README、示例設定
- ✅ 審核:提交到 OpenClaw Skill 倉儲前,確保程式碼無硬編碼金鑰、有基本的錯誤處理、描述清晰
- 🌍 發佈:通過 PR 提交到官方 Skill 倉儲,審核通過後所有用戶可以一鍵安裝
- 🏢 企業內部分享:也可以搭建私有 Skill 倉儲,僅在團隊內部使用
daily-report-generator 比 tool-v2-final 好一萬倍。AI 也靠名字和描述來決定是否呼叫。開發最佳實踐清單
- ✅ 單一職責:一個 Skill 只做一件事。「發信件」和「生成報表」應該是兩個 Skill,而不是一個
- ✅ 參數有預設值:盡量給參數設預設值,減少 AI 需要確認的資訊
- ✅ 描述寫給 AI 看:Manifest 中的描述是寫給 AI 的,要讓 AI 能判斷什麼場景下該呼叫
- ✅ 冪等設計:同樣的輸入執行多次,結果應該一樣。避免重複發信件、重複建立記錄
- ✅ 敏感資訊用環境變數:API Key、密碼等絕對不要硬編碼在 Skill 裡
- ✅ 傳回有意義的結果:不要只傳回「成功」,傳回具體做了什麼(如「已傳送 3 封信件給 張三、李四、王五」)
相關搜尋
OpenClaw Skill 開發 · 自訂 AI 技能 · OpenClaw 外掛開發 · AI Agent 擴展開發 · OpenClaw Skill 發佈 · 企業 AI 自動化