skill-creator:Anthropic 官方「元技能」,教你從零寫出可評測的 Agent Skill

前言

Agent Skills 正在快速普及:Cursor、Claude Code、Codex CLI 等 AI 編程工具都支持用 SKILL.md 把領域知識打包成可複用能力。但很多人第一次動手時會卡在幾個地方——不知道 description 該怎麼寫才能被正確觸發、寫好的 Skill 沒有測試手段、改了幾版也不確定是否真的更好。

Anthropic 在開源倉庫 anthropics/skills 裏提供了一個專門解決這些問題的 Skill:skill-creator。它本身也是一個 Skill,但職責是「教你怎麼寫 Skill、怎麼測 Skill、怎麼迭代 Skill」。如果你打算系統入門 Agent Skills,從這裏開始比直接啃文檔更高效。

這是什麼

skill-creator 是 Anthropic 出品的 Agent Skill「元技能」——不直接幫你寫業務代碼,而是引導你完成 Skill 從構思、起草、評測到優化的完整閉環。

它的核心定位可以用官方 description 概括:

創建新 Skill、修改和優化已有 Skill,並通過 eval 評測與基準測試衡量 Skill 性能。適用於從零創建 Skill、編輯優化現有 Skill、運行 eval 測試、做方差分析基準測試,或優化 description 以提升觸發準確率。

Agent Skills 採用通用的 SKILL.md 格式:YAML frontmatter 聲明元數據,Markdown 正文寫操作指引,可選附帶 scripts/references/assets/ 等資源目錄。Claude Code、Cursor 等工具在會話啓動時加載各 Skill 的 name 與 description,在任務匹配時按需讀取完整 SKILL.md——這就是官方文檔所說的「漸進式披露」(Progressive Disclosure)。skill-creator 正是圍繞這套機制,幫你把 Skill 寫「對」、測「準」、改「穩」。

核心功能與亮點

1. 結構化創建流程

skill-creator 把 Skill 開發拆成可執行的步驟:

  1. Capture Intent(捕獲意圖):明確 Skill 要做什麼、何時觸發、輸出格式是什麼,以及是否需要測試用例。
  2. Interview and Research(訪談與調研):主動追問邊界情況、依賴和成功標準;可藉助 MCP 或聯網檢索類似 Skill 與最佳實踐。
  3. Write the SKILL.md:按規範填寫 namedescription 和正文指令。

其中 description 是觸發機制的關鍵——官方建議把「做什麼」和「什麼時候用」都寫進 description,而不是正文;並適當「積極」一些,以對抗模型「undertrigger」(該用卻不用)的傾向。

2. Skill 目錄規範與寫作指南

skill-creator 內置了 Skill 解剖結構與寫作模式,標準目錄如下:

skill-name/
├── SKILL.md          # 必需:frontmatter + 指令正文
├── scripts/          # 可選:可執行腳本
├── references/       # 可選:按需加載的參考文檔
└── assets/           # 可選:模板、圖標等輸出資源

關鍵原則包括:

  • 漸進式披露:元數據常駐上下文(約 100 tokens),正文在觸發時加載(建議 SKILL.md 正文控制在 500 行以內),資源文件按需讀取。
  • 按領域拆分 references:多框架/多雲場景用 references/aws.md 等形式組織,避免一次性塞滿上下文。
  • 解釋「爲什麼」:比起堆砌 MUST/NEVER,更推薦說明理由,讓模型理解意圖後靈活執行。
  • 不驚喜原則:Skill 內容不得包含惡意代碼或與描述不符的行爲。

3. Eval 評測與基準測試

這是 skill-creator 區別於普通文檔的最大亮點。它提供一套完整的評測工作流:

測試用例:保存到 evals/evals.json,每條包含 prompt、期望輸出描述和可選輸入文件:

{
  "skill_name": "example-skill",
  "evals": [
    {
      "id": 1,
      "prompt": "用戶的任務提示詞",
      "expected_output": "期望結果的描述",
      "files": []
    }
  ]
}

並行對比運行:對每個測試用例,同時啓動「有 Skill」和「無 Skill(baseline)」兩次運行——新建 Skill 時 baseline 是無 Skill;改進已有 Skill 時 baseline 是舊版本快照。結果按迭代目錄組織:

<skill-name>-workspace/
├── iteration-1/
│   ├── eval-0/
│   │   ├── with_skill/outputs/
│   │   └── without_skill/outputs/
│   └── benchmark.json
└── iteration-2/
    ...

量化斷言(assertions):對可客觀驗證的輸出(文件格式、數據提取、固定流程步驟)編寫斷言;主觀類 Skill(文風、設計審美)則側重人工評審。

基準聚合:運行聚合腳本生成 pass rate、耗時、token 用量及均值 ± 標準差:

python -m scripts.aggregate_benchmark <workspace>/iteration-N --skill-name <name>

可視化評審:通過 eval-viewer/generate_review.py 啓動瀏覽器評審界面(Outputs 與 Benchmark 兩個 Tab),用戶逐條查看輸出並填寫反饋;無圖形界面時可用 --static 生成獨立 HTML 文件。

4. Description 觸發優化

Skill 是否被調用,很大程度取決於 frontmatter 裏的 description。skill-creator 提供專門的優化循環:

  1. 生成約 20 條觸發測試 query(含應觸發與不應觸發的「近義干擾」樣本)。
  2. 用戶通過 HTML 模板審覈 eval 集。
  3. 運行優化腳本(最多 5 輪迭代,60% 訓練 / 40% 留出測試):
python -m scripts.run_loop \
  --eval-set <path-to-trigger-eval.json> \
  --skill-path <path-to-skill> \
  --model <model-id> \
  --max-iterations 5 \
  --verbose

腳本會評估當前 description 的觸發率,讓 Claude 提出改進方案,最終選出測試集得分最高的 best_description

5. 打包分發

Skill 定稿後可打包爲 .skill 文件便於安裝:

python -m scripts.package_skill <path/to/skill-folder>

安裝與啓用

skill-creator 來自 Anthropic 開源倉庫,需先克隆或下載對應目錄:

git clone https://github.com/anthropics/skills.git
cp -r skills/skills/skill-creator ~/.claude/skills/skill-creator

各 AI 編程工具的安裝位置略有不同(均以「Skill 目錄 + SKILL.md」爲最小單元):

工具 個人 Skill 路徑 項目 Skill 路徑
Claude Code ~/.claude/skills/<name>/ .claude/skills/<name>/
Cursor ~/.cursor/skills/<name>/ .cursor/skills/<name>/
claude.ai Settings > Features 上傳 zip 同上(個人賬號)

Claude Code 中 Skill 會在匹配 description 時自動加載,也可通過 /skill-creator 直接調用。Cursor 中可在 Agent 對話裏提及「創建 Skill」「優化 Skill description」等意圖,觸發後 Agent 會讀取對應 SKILL.md 並按流程引導。

依賴說明:完整評測流程(並行 subagent、基準聚合、description 優化循環)在 Claude Code 環境下體驗最完整;Claude.ai 無 subagent,需串行執行測試並跳過 baseline 對比;description 優化依賴 claude -p CLI,在 Claude.ai 上不可用。

典型用法示例

場景一:從零創建一個新 Skill

假設你想把「每次寫公衆號技術文都重複的風格要求」固化成 Skill:

  1. 對 Agent 說:「我想創建一個寫公衆號技術文章的 Skill,參考 data/style_reference.md 的風格。」
  2. skill-creator 會先訪談:觸發詞是什麼?輸出格式?要不要 eval?
  3. 起草 SKILL.md,生成 2–3 條真實測試 prompt 寫入 evals/evals.json
  4. 並行跑 with_skill / without_skill,聚合 benchmark,打開 eval viewer 讓你評審。
  5. 根據 feedback.json 修改 Skill,進入 iteration-2,直到滿意。
  6. 可選:運行 description 優化,提升「寫公衆號」「技術文章」等表述的觸發率。
  7. package_skill 打包,分發給團隊。

場景二:優化已有 Skill 的 description

已有 Skill 經常「該用不用」?可以只做觸發優化:

  1. 生成 20 條 should-trigger / should-not-trigger 測試 query。
  2. assets/eval_review.html 模板讓用戶審覈。
  3. 運行 scripts.run_loop,對比優化前後觸發率。
  4. best_description 寫回 SKILL.md frontmatter。

場景三:改進已有 Skill 的正文

若 Skill 能觸發但輸出質量不穩定:

  1. 對現有 Skill 做快照作爲 baseline。
  2. 修改 SKILL.md 後重新跑 eval。
  3. 查看 benchmark 中 pass rate、token、耗時的 delta。
  4. 閱讀運行 transcript,若多個 eval 都重複寫了相同輔助腳本,考慮把腳本收進 scripts/ 目錄——這是 skill-creator 明確推薦的「從重複勞動中提煉資源」模式。

適用場景與注意事項

適合誰用:

  • 第一次寫 Agent Skill、需要規範起步的開發者
  • 團隊需要統一 Skill 質量、希望有 eval 和 benchmark 的團隊
  • 已有 Skill 但觸發不準或輸出不穩定的維護者
  • 想把一次性 prompt 沉澱爲可複用、可測試能力的 AI 編程實踐者

注意事項:

  1. 評測成本:完整 eval 會並行啓動多個 subagent,消耗 token 和時間;簡單 Skill 或與用戶「一起 vibe」快速迭代時,可跳過部分量化流程。
  2. 環境差異:subagent 並行、基準對比、description 優化在 Claude Code 最完整;其他環境需按 skill-creator 文檔中的 Claude.ai / Cowork 適配說明裁剪流程。
  3. description 設計:測試 query 要足夠具體、多步驟,太簡單的「讀個 PDF」類請求可能不觸發 Skill——因爲模型直接用基礎工具就能完成。
  4. 安全審計:Skill 可含腳本與外部引用,安裝前應對 SKILL.mdscripts/ 做安全審查,官方文檔也強調只使用可信來源的 Skill。
  5. 跨平臺不互通:Claude Code 的文件系統 Skill、API 上傳 Skill、claude.ai 上傳 Skill 互不自動同步,需在各自環境分別管理。

小結

skill-creator 把 Agent Skill 開發從「寫個 Markdown 碰運氣」變成了有流程、有測試、有基準、有觸發優化的工程化實踐。它既是 Anthropic Skill 生態的「元技能」,也是入門 Agent Skills 的最佳起點——先學會用它創建和評測 Skill,再擴展到業務領域的自定義 Skill,會少走很多彎路。

官方倉庫:https://github.com/anthropics/skills/tree/main/skills/skill-creator
Agent Skills 總覽文檔:https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜