🎯 什麼情境該想到我
當你發現「這段指示我每次開新對話都要再打一遍」的時候——那就是該把它包成 skill 的訊號。
⚙️ 怎麼用(步驟 / 公式)
- 判斷值不值得包:判準只有一條——你是不是一直在重下同一種 prompt。是就包。成本很低:skill 本體就是一個資料夾裡的
SKILL.md(markdown),不用寫程式——但它不是完全沒有格式,開頭要有一段 YAML frontmatter(至少description),見下方「最小結構」。 - 寫起始 prompt 給 skill-creator(Claude Code 內建)。不要描述你要的輸出,要給這兩樣:
- 變數有哪些維度——例如 eli5 給的是「聽眾」的四個維度:年齡/學程/職務/關係。
- 幾句真實的觸發例句——例如「ELI5 什麼是 database index」「解釋這個給我主管聽」。
維度與例句給足,草稿的品質就決定了大半。
- 審它提的測試案例:skill-creator 會提幾題,跑之前先改成真正涵蓋不同維度的題目(不同對象 × 不同素材類型)。這步別跳。
- 跑對照評測收尾:帶 skill vs 不帶 skill 各跑一輪比較——細節見 工具-AI改動的AB對照評測。
- 把 eval 腳本留在本地:之後每改一次
SKILL.md就重跑一次比較,不用每次都走完整 skill-creator 流程。沒有這步就迭代不動。
最小結構:一個資料夾+一個 SKILL.md(查證 2026-10-15)
以下依 Claude Code 官方文件 Skills 頁與 Agent Skills 開放標準(agentskills.io specification)整理,非來源文章內容。來源文章原句說「沒有特殊格式或 schema」,應理解為「不用寫程式、就是 markdown」,不是「完全沒有格式」。
- 檔案結構:一個 skill = 一個資料夾,裡面必須有
SKILL.md;需要時可再放scripts/、references/、assets/等輔助檔(選用)。 SKILL.md分兩段:- 開頭用
---包起來的 YAML frontmatter——告訴模型「什麼時候該用我」; - 底下的 markdown 正文——被啟用後模型要照做的指示。
- 開頭用
- 兩個關鍵欄位:
name:skill 名稱,也是在 Claude Code 裡輸入/名稱的指令名。開放標準規定必填、最多 64 字元、只能小寫英數與連字號、必須與資料夾同名;Claude Code 則允許省略,省略時預設用資料夾名稱。description:做什麼+什麼時候用。開放標準規定必填(最多 1024 字元);Claude Code 標為「建議」,省略時拿正文第一個非空行頂替。它決定模型會不會自動觸發這個 skill——因為啟動時模型只載入每個 skill 的name+description(約 100 tokens),正文要等被選中才載入。所以 description 要把「使用者會怎麼說」寫進去(例:「使用者說 ELI5、解釋給主管聽、講白話一點時使用」)。Claude Code 會把description+when_to_use合併後截斷在 1,536 字元,最關鍵的使用情境放最前面。
- 放在哪(Claude Code):
- 個人(所有專案可用):
~/.claude/skills/<skill名>/SKILL.md - 專案(commit 進 repo 給團隊):
<repo>/.claude/skills/<skill名>/SKILL.md - 同名時個人版優先於專案版;舊式的
.claude/commands/<名稱>.md仍可用,但新的建議做成 skill。
- 個人(所有專案可用):
最小骨架(自寫範例,存成 ~/.claude/skills/explain-simple/SKILL.md):
---
name: explain-simple
description: 依聽眾程度用白話解釋概念或程式碼。使用者說「ELI5」「解釋給我主管聽」「講白話一點」時使用。
---
# 依聽眾解釋
1. 先確認聽眾(年齡/職務/和使用者的關係),沒給就只問一句。
2. 先用一個生活類比開場,再給一句精確定義。
3. 全文 150 字內;非用不可的術語後面附一句白話。驗證方式:開新的 Claude Code session,打 /explain-simple 測「手動叫得到」;再直接說「ELI5 什麼是 database index」測「自動觸發得到」——後者失敗通常是 description 寫得不像使用者的說法。
🧪 我實際套用的紀錄
- 2026-08-23:(待填)
⚠️ 注意 / 什麼時候不適用
- 只用一次的東西不要包。判準是「重複」,不是「複雜」——複雜但只做一次的事,直接下 prompt 就好。
- skill-creator 的初次評測是人工評分,跟你之後本地跑的 auto-grader 結果會不一樣(原作者實測兩者對「超過字數」與「類比夠不夠白話」的鬆緊剛好相反)。別把兩份數字混著比。
- 測到的是內容、不是觸發:評測是把 skill 內容直接餵進 prompt 跑的,
description的觸發詞寫得好不好沒被測到——而那是實際使用時最常失敗的一環,要自己另外試。 - 格式小錯會讓 skill 在別的工具上失效(查證 2026-10-15):Claude Code 對
name很寬鬆(可省略、預設用資料夾名),但開放標準要求name必填、小寫連字號、與資料夾同名。只在 Claude Code 測過就拿去別的支援 Agent Skills 的工具用,可能直接載不進來——要跨工具共用就照標準寫滿name+description(推測:實際行為依各工具實作而定)。
🔗 相關工具
- 工具-AI改動的AB對照評測 —— 這張講「怎麼做出來」,那張講「怎麼證明做出來的真的有用」,是同一條流程的前後段
- 工具-提示工程 —— skill 本質就是把調好的 prompt 固定下來;prompt 還沒調到穩就急著包成 skill,只是把不穩定固定住