教程 03 — 自定義技能:給你的 AI 加一招
目標:寫一個自定義 Skill,讓 AI 在特定場景下自動套用你預設的行為。
什麼是 Skill?
Skill 是一段 Markdown 檔案(SKILL.md),它在你調用斜線命令時被注入到 AI 的上下文,告訴 AI「現在要做什麼、怎麼做」。
/代碼審查 → 注入 SKILL.md → AI 按預設規則審查代碼
Skills 存放在:
~/.openclaw/workspace/skills/<技能名>/SKILL.md
第一步:建立技能目錄
mkdir -p ~/.openclaw/workspace/skills/代碼審查第二步:寫 SKILL.md
新建 ~/.openclaw/workspace/skills/代碼審查/SKILL.md:
# 代碼審查專家
你現在是一位資深代碼審查專家。使用者會貼上代碼,你需要:
## 審查維度
1. **正確性** — 邏輯是否有 bug,邊界條件是否處理
2. **安全性** — 是否有 SQL 注入、XSS、不安全的反序列化等風險
3. **性能** — 是否有明顯的性能瓶頸或不必要的複雜度
4. **可讀性** — 命名是否清晰,注釋是否到位
5. **最佳實踐** — 是否符合該語言/框架的慣用寫法
## 輸出格式
用 Markdown 表格列出問題:
| 行號 | 嚴重程度 | 問題描述 | 建議修改 |
|------|----------|----------|----------|
| ... | 🔴高/🟡中/🟢低 | ... | ... |
最後給一個總體評分(1-10)和一句總結。
## 語氣
專業但友好,指出問題時同時給出修改示例。第三步:使用技能
在 WebChat 或 Telegram 中輸入:
/代碼審查
def login(username, password):
query = f"SELECT * FROM users WHERE name='{username}' AND pwd='{password}'"
return db.execute(query)
AI 會自動套用審查專家的角色,輸出結構化的審查報告。
更多 Skill 示例
每日簡報(/簡報)
# 每日簡報助手
將使用者提供的資訊整理成簡潔的每日簡報,格式如下:
## 📅 [日期]
### 重點事項
- ...
### 待辦事項
- [ ] ...
### 備註
...
語言簡潔,要點優先,不超過 300 字。翻譯潤色(/潤色)
# 專業翻譯潤色
你是一位中英雙語寫作專家。使用者會提供中文或英文文本,你需要:
1. 識別語言
2. 翻譯成另一種語言
3. 對翻譯進行潤色,使其更自然、地道
4. 給出原文、直譯、潤色版三個版本對比
保持專業術語準確,避免機器翻譯腔。圖表生成(/畫圖)
# Mermaid 圖表生成器
將使用者的文字描述轉換為 Mermaid 圖表代碼。
支援類型:
- flowchart(流程圖)
- sequenceDiagram(時序圖)
- classDiagram(類圖)
- gantt(甘特圖)
輸出格式:
\```mermaid
...圖表代碼...
\```
然後用文字解釋圖表結構。Skill 目錄結構
~/.openclaw/workspace/skills/
├── 代碼審查/
│ └── SKILL.md
├── 簡報/
│ └── SKILL.md
├── 潤色/
│ └── SKILL.md
└── 畫圖/
└── SKILL.md
查看已安裝的 Skills
pnpm openclaw skills list進階:Skills 裡調用工具
在 SKILL.md 裡可以指示 AI 使用特定工具:
# 網頁摘要
使用者提供 URL,你需要:
1. 使用 browser_navigate 打開頁面
2. 使用 browser_snapshot 取得內容
3. 提煉核心觀點,輸出 3-5 條要點摘要常見問題
/技能名 命令不生效怎麼排查?
首先執行 pnpm openclaw skills list 確認技能已被識別。常見原因:① 目錄名和斜線命令不一致(大小寫敏感);② SKILL.md 檔案名大小寫錯誤;③ 技能目錄層級不對,必須是 ~/.openclaw/workspace/skills/<技能名>/SKILL.md。修改後無需重啟網關,直接重新發送命令即可。
Skill 可以調用哪些內建工具?
SKILL.md 中可以指示 AI 使用任何 OpenClaw 內建工具,包括:瀏覽器工具(browser_navigate、browser_snapshot、browser_action)、檔案讀寫工具、以及通過配置啟用的其他工具。在 SKILL.md 中自然語言描述你想要的行為,AI 會自動選擇合適的工具。
SKILL.md 有字數或格式要求嗎?
沒有硬性限制,但建議控制在 500 字以內。過長的 SKILL.md 會佔用更多上下文 token,增加費用並可能降低 AI 的指令遵循準確性。格式上推薦使用清晰的 Markdown 層級(# 主標題、## 章節),讓 AI 更容易理解結構。
修改 Skill 後需要重啟網關嗎?
不需要。OpenClaw 每次調用斜線命令時都會重新讀取 SKILL.md 檔案,修改後直接使用即可。但如果你修改的是 openclaw.json 中的配置,則需要重啟網關。
能否讓多個技能組合使用?
可以。在一條訊息中先調用 /技能A,AI 會持續保持該技能的行為,直到你發 /new 開啟新會話。也可以在一個 SKILL.md 中整合多種能力,寫成「萬能助手」型技能。