skill-creator:將寫 prompt 從手工作業納入工程流程。
Claude Agent Skills 是 Anthropic 在 2025 年推出的格式:一份 SKILL.md(YAML frontmatter + Markdown 正文),Claude 在偵測到對應場景時自動將這份文件拉進對話。「怎麼寫一份好的 SKILL.md」本身是個技術問題:description 怎麼寫才會在對的時機觸發?名字怎麼取才不會跟既有 skill 衝突?你寫的 skill 真的比沒裝時表現更好嗎?這就是 skill-creator 解決的問題。
skill-creator 是一個 meta skill,專門用來生成其他 skill。它是一份 SKILL.md,當使用者說「我想寫個新 skill」時由 Claude 自動觸發。觸發後接管整個流程:訪談使用意圖、撰寫 SKILL.md、生成 2-3 條測試 prompt、分別在「有裝 / 沒裝」的 Claude 上各跑一遍、量化 token 數與時間、開啟瀏覽器讓使用者評分,最後用評分結果優化 description,最多執行 5 輪。
它的重要性在於將 prompt engineering 納入工程流程:每個 skill 都附 eval、都有 baseline 比較、都能跑回歸測試。Anthropic 將這個 meta skill 開源在 anthropics/skills/skills/skill-creator/ 路徑下,母倉庫 134K 顆星,是整個 Claude Skill 生態的官方參考。skills.sh 上累計安裝超過 20 萬次。
Capture Intent
Interview
Write SKILL.md
Test Cases
Run + Evaluate
Iterate
Optimize Description
Create new skills, modify and improve existing skills, and measure skill performance.
安裝 skill-creator 至 Claude Code 的三種方法。
skill-creator 不是 npm 套件,是一份 SKILL.md。將它放到 Claude Code 識別的 skill 目錄即可。最快的方式是透過 vercel-labs 的 skills CLI 從 anthropics/skills 倉庫拉取,它會挑出指定的 sub-skill 並寫入 .claude/skills/。
# 用 vercel-labs/skills CLI 從 anthropics/skills 倉庫挑 skill-creator
npx skills add https://github.com/anthropics/skills --skill skill-creator
# 看裝在哪
npx skills list手動裝 · 整個倉庫 clone
如果你想看完整 anthropics/skills 結構,也可以直接 clone。skill-creator 在 skills/skill-creator/ 子目錄,把它複製到你本機的 skill 目錄即可。
git clone https://github.com/anthropics/skills
# 把 skill-creator 複製進 Claude Code 的 skill 目錄
cp -r skills/skills/skill-creator ~/.claude/skills/
# 確認檔案在
ls ~/.claude/skills/skill-creator/SKILL.md觸發 · 在對話裡開口
skill-creator 沒有命令,是一份 SKILL.md。它的 description 設定觸發語包括「create skill」「edit skill」「run evals」「optimize description」等等。你只要在 Claude Code 對話裡說想造 skill,它會自動把這份 SKILL.md 拉進對話、接管流程。
# 任何一句意圖都會觸發
create a skill for generating release notes
help me write a skill that translates code comments to Traditional Chinese
optimize the description of my existing skill
run evals on this skill against baselineskill-creator 的12 項核心功能:七步驟流程與支援能力。
skill-creator 是 Claude 在背後執行的多步驟工作流。以下 12 張卡片列出它的各項功能:前 7 張對應核心七步,後 5 張是支援這七步的子能力。所有命名均對應 anthropics/skills 的 README 與 skill-creator 的 SKILL.md。
Step · 01
capture-intent
捕捉使用意圖
你用一句話描述 skill 想做什麼,它先確認:這是 skill 還是 prompt?是 one-shot 還是要被多次呼叫?定義清楚再開始。
Step · 02
interview
澄清模糊需求
針對輸入、輸出、邊界、失敗模式做訪談。你回答的每一輪會直接寫進 SKILL.md 的 description 與 instructions 區塊。
Step · 03
write-skill-md
產出 YAML + Markdown
產一份合規的 SKILL.md:YAML frontmatter 帶 name、description,正文是 instructions。檔名與目錄結構也一併建立。
Step · 04
generate-tests
寫出測試案例
基於你描述的使用情境,自動產 5–10 個測試 prompt。這些 prompt 後面會拿去跑 baseline 與 skill-loaded 對照。
Step · 05
run-evaluate
跑雙組對照
同一組測試,一次不載入 skill、一次載入。輸出 side-by-side 比較,讓你看到 skill 是真的有幫助,還是只是看起來像。
Step · 06
iterate
針對失敗逐條修
把 eval 不過的測試挑出來,逐條改 instructions 與 examples,再跑一輪。改一條、測一條,不是亂改一通。
Step · 07
optimize-description
最後一哩 5 輪迭代
YAML 的 description 決定 Claude 何時挑這個 skill。skill-creator 會跑 5 輪 description 改寫 + 召回測試,挑命中率最高的版本。
Spec · 08
SKILL.md format
官方檔案格式
YAML frontmatter 兩個必要欄位:name(短 slug)與 description(觸發條件)。正文是給 Claude 看的 instructions 與 examples。
Asset · 09
scripts/
可執行輔助腳本
skill 可以帶 scripts/ 資料夾,Claude 在執行 skill 時可以呼叫這些腳本,例如格式驗證、API 呼叫、檔案產出。
Asset · 10
references/
補充知識庫
放規格、範例、style guide 等參考文件。Claude 跑 skill 時會被引導去查這裡,而不是只憑 SKILL.md 正文判斷。
Asset · 11
assets/
範本與素材
圖片、HTML 範本、字體、JSON 範例都可以放這裡。skill 在執行時直接讀檔,不必每次都從零生成。
UI · 12
visual-review
eval 視覺化介面
eval 結果以 side-by-side 表格呈現,每個測試都能看到 baseline vs skill-loaded 的差異,作為判斷 skill 是否可交付的依據。
你的需求落在哪一步?
| 場景 | 用哪一步 | 結果產物 |
|---|---|---|
| 有想法,但不確定該不該做成 skill | capture-intent + interview | 需求邊界釐清,決定要不要繼續 |
| 需求清楚,要快速生出第一版 | write-skill-md | 合規 SKILL.md + 目錄結構 |
| 已經有 skill,想確認它真的有幫助 | generate-tests + run-evaluate | baseline vs skill-loaded 對照表 |
| eval 不過想針對性修 | iterate | 修過版本 + 第二輪 eval |
| skill 沒被 Claude 挑中 | optimize-description | 5 個 description 候選 + 召回率 |
| skill 需要呼叫外部腳本 | scripts/ | 可執行檔嵌進 skill |
| skill 要參考大量規格 | references/ | 知識庫資料夾,Claude 自己查 |
六條SKILL.md 編寫規則:來自官方文件的常見踩雷點。
以下六條均來自 anthropics/skills 的 README、skill-creator 的 SKILL.md 與官方 Skills 文件,是初次編寫 skill 時常見的失誤,也是 skill-creator 內建流程主動處理的細節。
description 寫的是「何時用」,不是「做什麼」
YAML 的 description 是 Claude 決定是否載入 skill 的依據。寫「處理 X 情境時」比寫「這是一個處理 X 的 skill」命中率高,skill-creator 第七步即針對這個欄位反覆優化。
來源 · skill-creator SKILL.md
baseline 對照才有意義
只跑 skill-loaded 看「結果還不錯」不足以判斷效益,需要對照「不載入 skill 時 Claude 的表現」。如果兩者結果相近,該 skill 沒有附加價值,應重新設計 instructions。
來源 · skill-creator run-evaluate
scripts/ 走可重用,不是 one-shot
scripts/ 適合放會被反覆呼叫的小工具:格式驗證、API 包裝、檔案讀寫。每次都用 prompt 重新生成同樣的程式很浪費,寫一份 .py 或 .sh 讓 skill 直接呼叫。
來源 · skills repo · scripts/ 目錄
references/ 比塞長 SKILL.md 聰明
SKILL.md 過長會佔滿上下文。將大量規格、範例、style guide 拆進 references/,SKILL.md 只寫「需要時查 references/style-guide.md」,上下文較短,Claude 的判斷精度反而提高。
來源 · skill-creator references 設計
用 trigger phrases 反推 description
先列你希望 Claude 何時觸發這個 skill 的「使用者會講什麼」清單,再用這些句子當召回測試的 query,反向去寫 description。比憑空寫描述命中率高 2–3 倍。
來源 · skill-creator optimize-description
skill-creator 本身就是參考實作
不確定 SKILL.md 怎麼寫,直接讀 skills/skill-creator/SKILL.md。它本身就是以自己的格式撰寫的官方範例,其分段方式、examples 與 instructions 寫法可作為編寫參考。
來源 · anthropics/skills/skills/skill-creator
實作範例:從「整理 PDF 發票的 skill」到 eval 全數通過。
假設你想做一個 skill:輸入 PDF 發票檔案,輸出標準 JSON(發票號、日期、賣方、金額、品項)。下面是真實情境改寫,跑在已經把 anthropics/skills 裝好的 Claude Code 上。一句意圖,skill-creator 帶你走完七步。
$ You ›
create a skill for parsing PDF invoices to JSON
是,輸入 PDF,輸出 invoice schema
> [step 2 / 7 · interview]
繁體中文為主,偶有英文發票
不要,只處理可選文字的 PDF
含稅與不含稅都要,分開兩個欄位
> [step 3 / 7 · write-skill-md]
ok: → 產出 skills/invoice-parser/SKILL.md
ok: → 建立 references/invoice-schema.json
ok: → 建立 assets/sample-invoice.pdf 範本連結
> [step 4 / 7 · generate-tests]
產 8 個測試 prompt · 涵蓋中英文、單品 / 多品、含稅 / 未稅
> [step 5 / 7 · run-evaluate]
> [step 6 / 7 · iterate]
補一條 instruction:多品項時逐行解析,不要合併
ok: → 第二輪 eval:8/8 通過
> [step 7 / 7 · optimize-description]
5 輪 description 改寫 + 召回測試
hl: → 最佳版本:「處理 PDF 發票檔案、需要結構化 JSON 輸出時使用」
hl: → 召回率 92%(原始版本 67%)
ok: 完成 · 7 步 · 共耗時 22 分鐘 · skill 可直接交付團隊
完整流程為:定義需求,撰寫 SKILL.md,執行對照驗證,優化 description,直到 skill 的召回率與準確率均優於 baseline。
這條流程值得拆解的點
**第二步要求回答關鍵問題。**OCR 是否支援、中英文混合如何處理、金額是否含稅,這些是未被明確詢問時容易遺漏的 instructions 細節,interview 步驟強制釐清這些邊界條件。
**baseline 對照確認 skill 的附加價值。**baseline 3/8、skill-loaded 7/8,這個差距是該 skill 存在的依據。若兩組結果相同(均 8/8),代表 skill 沒有附加價值,不應保留。
**description 召回率從 67% 拉到 92%。**第七步直接影響 Claude 何時觸發你的 skill。skill 內容再完整,description 描述不準確,Claude 也無法正確觸發。
skill-creator 的使用邊界與常見誤用。
將 skill-creator 客製為團隊 skill 標準流程。
skill-creator 本身就是一個用 SKILL.md 寫成的 skill。它的 prompt、interview 流程、eval 機制全部都是可讀、可修改、可 fork 的。因此可以將它客製為公司專屬的 skill 生成流程,而非只作為通用工具使用。
進階玩法地圖
**1. fork 一份內部 skill-creator。**將 interview 問題調整為公司流程相關,例如多加一輪「這個 skill 涉及哪個資料系統 / 哪個 PII 等級」。所有同事使用內部版本生成 skill,合規與安全規則統一。
**2. 把公司 style guide 灌進 references/。**新 skill 的 SKILL.md 自動引用內部的 voice、品牌字、技術命名規範。skill 一寫出來就符合公司規範,不必每次都另外提醒。
**3. 用 description 召回率當 KPI。**每個內部 skill 均記錄上線後三個月被 Claude 觸發的次數。若某個 skill 半年未被觸發,回頭跑 optimize-description,原因通常是 description 描述不準確,而非 skill 本身無用。
**4. 把 eval 結果存起來做迴歸。**每次修改 SKILL.md 都跑同一組 baseline 測試,結果存進版控。新版本若某些測試項退步,可立刻發現,這是 LLM 應用中常被忽略的迴歸測試機制。
**5. 把 scripts/ 變成公司工具箱。**多個 skill 共用的小工具(API 包裝、檔案處理)抽出來放共用目錄。skill repo 因此變薄,維護成本下降,新 skill 也能直接接共用工具。
最該讀的三份延伸閱讀
① skills/skill-creator/SKILL.md:skill-creator 自身的 SKILL.md,是官方格式的權威範例。 ② docs.claude.com · Agent Skills overview:Skills 官方文件,包含 SKILL.md 規格與 YAML 欄位定義。 ③ github.com/anthropics/skills:Anthropic 提供的所有官方 skills,可作為編寫時的參考實作。
目標是建立可交付給團隊的「定義 → 撰寫 → 測試 → 優化」標準工作流,而非一次性 prompt 產出。