🛠️

AI Agent 自主代理三王實戰

CH17 | 自己的技能自己寫

自己寫一個技能比你想像的簡單得多——一個 SKILL.md 檔案,用 Markdown 把「要做什麼」寫清楚,龍蝦就會知道怎麼做

📋 本章學習目標

  • 理解為什麼要自己開發技能
  • 熟悉 SKILL.md 的格式規範
  • 從零開始寫一個完整的技能
  • 學會測試和除錯技能
  • 知道怎麼發布和分享技能
1 / 11

17.1 為什麼要自己開發技能?

ClawdHub 上有 50+ 個技能,但它們是為「通用場景」設計的。以下情境可能找不到現成的:

你想做的事為什麼沒有現成技能
管理班上學生的成績太客製化,每個老師需求不同
查詢公司的內部系統每間公司的系統不一樣
自動整理特定論壇的文章每個網站的結構不同
用特定格式產生報表格式因人而異
操作你自己寫的程式只有你知道怎麼操作

自己寫沒有想像中難

一個技能的核心其實就是:

  1. 一個 SKILL.md 檔案——告訴龍蝦這個技能是什麼、能做什麼
  2. (可選)腳本檔案——如果需要執行程式碼
✅ 最簡單的技能甚至不需要任何程式碼——只要 SKILL.md 寫得夠清楚,龍蝦的 AI 就能照做!
2 / 11

17.2 SKILL.md 格式規範

Skill 資料夾結構

基本結構

---
name: 技能名稱(英文,用小寫和連字號)
description: 一句話描述這個技能做什麼
---

# 技能的完整名稱

目標:用一兩句話說明這個技能的目的。

## 功能
列出這個技能能做的事情。

## 使用方式
說明使用者可能怎麼觸發這個技能。

## 執行方式(給龍蝦看的)
詳細說明龍蝦該怎麼執行——步驟、規則、限制。

## 需要的設定(如果有的話)
列出需要什麼 API Key 或設定。
💡 前置資料(Front Matter):最上面用 --- 包起來的部分,namedescription 是必填的。
3 / 11

好的 SKILL.md 長什麼樣?

關鍵原則:寫給 AI 看,不是寫給人看。

龍蝦的 AI 大腦會讀 SKILL.md 來理解技能。所以你要把「怎麼做」寫得非常清楚,就像你在教一個很聰明但完全不知道背景的新同事。

✅ 好的寫法

  • 「查詢 OpenWeatherMap API,用 GET 請求,endpoint 是 /data/2.5/weather」
  • 「如果使用者沒有指定城市,用 TOOLS.md 裡的預設城市」
  • 「紀錄存在 data/attendance/2026-03-07.md,用表格格式」

❌ 不好的寫法

  • 「去查天氣 API」(哪個 API?怎麼查?)
  • 「用預設值」(什麼預設值?在哪裡?)
  • 「把資料存起來」(存在哪?什麼格式?)
記住:越詳細龍蝦越知道該怎麼做。但建議控制在 100 行以內,太長會佔用 AI 的上下文空間。
4 / 11

17.2.4 SKILL.md 是通用格式!

本書教的三個 AI 工具中,OpenClaw 和 Claude Code 都使用 SKILL.md 來定義技能。這不是巧合——它們共享同一個設計理念:

用一份 Markdown 文件,告訴 AI「你會做什麼」和「怎麼做」

相同的地方

共同點說明
檔案名稱都叫 SKILL.md
前置資料都用 YAML --- 包起 namedescription
主體內容都用 Markdown 描述功能、使用方式、執行步驟
核心原則都是「寫給 AI 看」,讓 AI 讀懂後自動執行

不同的地方

面向OpenClawClaude Code
執行環境聊天通道(LINE、Telegram)開發者的電腦終端機
觸發方式自然語言聊天觸發CLI 中觸發或自動判斷
設定存放TOOLS.md各 Skill 的 assets/
存放位置~/.openclaw/workspace/skills/~/.claude/skills/
💡 學會一套,兩邊都能用!技能開發的核心概念是通用的——把需求寫清楚、步驟寫具體,AI 就能照做。只要注意放到不同的資料夾、搭配不同的設定方式即可。
5 / 11

17.3 實戰:出缺席管理技能

假設你是一位老師,想讓龍蝦幫你記錄學生的出缺席。讓我們從零開始寫一個完整的技能。

步驟一:建立技能資料夾

mkdir ~/.openclaw/workspace/skills/attendance

步驟二:撰寫 SKILL.md

---
name: attendance
description: 記錄和查詢學生出缺席狀況,支援請假、遲到、曠課的紀錄與統計。
---

# Attendance(學生出缺席管理)

目標:幫老師記錄班上學生的出缺席狀況,並能查詢統計資料。

## 功能
1. 記錄學生的出缺席(出席、請假、遲到、曠課)
2. 查詢某位學生的出缺席紀錄
3. 查詢某天的全班出缺席狀況
4. 統計一段時間內的出缺席報表

## 使用方式
- 「今天王小明請假」
- 「記錄一下,李小華遲到」
- 「張大偉這個月的出缺席紀錄」
- 「今天有誰請假?」

## 資料儲存
每天一個檔案:data/attendance/2026-03-07.md

## 安全原則
- 不要刪除已有的紀錄,只能新增和修改
- 修改紀錄時要先跟使用者確認
💡 這個技能完全不需要寫任何程式碼——只靠 SKILL.md 就能運作!
6 / 11

步驟三:重啟並測試

openclaw gateway restart

然後在 LINE 上測試:

出缺席管理對話
今天王小明請假,感冒
龍蝦
✅ 已記錄:
📅 2026/03/07
👤 王小明
📋 狀態:請假
📝 備註:感冒
李小華遲到了十分鐘
龍蝦
✅ 已記錄:
📅 2026/03/07
👤 李小華
📋 狀態:遲到
📝 備註:遲到 10 分鐘
今天有誰請假?
龍蝦
📋 今天(3/7)請假名單:
1. 王小明(感冒)
其他同學都有出席。
7 / 11

17.4 測試與除錯

步驟四:根據實測微調

  • 龍蝦把學生名字辨識錯了 → 在 SKILL.md 裡加一份學生名單
  • 格式不是你要的 → 修改「資料儲存」的格式說明
  • 龍蝦不理解某些說法 → 在「使用方式」裡加更多範例

測試的三個層次

🟢 基本功能

能不能記錄資料?能不能查詢?回覆格式對不對?

🟡 邊界情境

「今天請假」(沒說是誰)、「三年前的紀錄」(資料不存在)

🔴 長期使用

用一兩週確認:資料累積正確嗎?統計報表準不準確?

常見問題排查

問題可能原因解決方法
龍蝦不理解要用這個技能description 太模糊改得更具體
龍蝦不知道怎麼做「執行方式」不夠詳細補充步驟細節
存檔格式不對格式說明不清楚給完整範例
存檔位置找不到路徑沒寫清楚用絕對路徑
💡 用 openclaw doctor 可以檢查所有技能的 SKILL.md 是否有格式錯誤。
8 / 11

17.5 發布與分享

📦 分享給朋友

最簡單——把技能資料夾打包成 ZIP:

Compress-Archive `
  -Path skills\attendance `
  -DestinationPath `
  attendance-skill.zip

朋友解壓縮到 skills/,重啟就能用。

🌐 發布到 ClawdHub

讓全世界都能安裝:

clawdhub publish attendance

系統會引導你填寫技能名稱、作者、版本號、分類標籤。

發布後別人用 clawdhub install 即可安裝。

🐙 放到 GitHub

建立 GitHub Repo,推上技能內容:

clawdhub install `
  github:你的帳號/你的Repo

在 README 裡寫安裝說明,方便別人使用。

✅ 從「使用者」到「開發者」只差一步——寫一個 SKILL.md 檔案,你就能成為 OpenClaw 社群的貢獻者!
9 / 11

17.6 常見問題

問題解答
完全不會寫程式,可以開發技能嗎?可以!最簡單的技能只需要一個 SKILL.md 文字檔,不需要任何程式碼。用自然語言把「要做什麼」寫清楚就好。
什麼時候需要寫程式碼?當技能需要呼叫外部 API 或執行複雜的資料處理時,可能需要搭配腳本(JavaScript 或 PowerShell)。但大部分自用技能純 SKILL.md 就夠了。
SKILL.md 寫得越詳細越好嗎?大部分情況是的。但太長會佔用 AI 上下文空間,建議控制在 100 行以內。複雜技能可以拆成多個搭配使用。
修改了 SKILL.md 但龍蝦行為沒變① 每次修改都要重啟 openclaw gateway restart
② 開一段新對話再試(舊對話可能記得舊方式)
可以用 ChatGPT / Claude 幫忙寫嗎?當然可以!把功能描述給 AI,請它幫你寫 SKILL.md。它們很擅長這種結構化文件撰寫,你拿到初版後再根據實測微調。
10 / 11

17.7 小結與展望

📝 SKILL.md 格式

前置資料 + 功能描述 + 使用方式 + 執行方式——結構清楚,龍蝦就能理解

🎯 從零建立技能

用出缺席管理的完整範例走過全流程——建資料夾、寫 SKILL.md、測試、微調

🔍 測試與除錯

三個層次的測試(基本、邊界、長期)+ 常見問題排查表

🌐 發布與分享

ZIP 打包、ClawdHub 發布、GitHub 分享——三種方式讓別人也能用你的技能

⚡ 自己寫技能的最大好處是:你的龍蝦可以做到任何你想得到的事。不再受限於別人做了什麼技能。

📖 下一章預告:CH18 用 LINE 遙控你的電腦
技能篇到此結束,接下來進入最後的「進階篇」。龍蝦不只住在聊天室裡——它可以幫你操作瀏覽器、管理檔案、甚至自動化你的日常電腦工作

前往 CH18 ➡️
11 / 11