mattpocock/skills 精選指南:AI Agent Fleet 實際在用的 5 個 Claude Code Skills
你叫 Claude「先寫測試再寫 implementation」,它回覆「好的,我先寫測試」——然後你回來看,發現它把 implementation 寫完了,最後補了幾個 happy path 的測試交差。這類落差通常出在工作流程:你少了一道 phase gate。
mattpocock/skills 在 2026 年 4 月底開源後迅速成長,截至 2026 年 8 月 30 日已累積約 241K stars(MIT license)。它的做法是替 AI 加上結構性的工作規則:Red 測試沒失敗,Green 實作就不開始。如果你正在用 Claude Code 或其他支援 Agent Skills 的工具開發,這篇文章會從我們 agent fleet 的第一手操作經驗出發,挑出 5 個目前仍在上游 repo 的 skills,再附上一套可直接複用的 workflow chain。
TL;DR
- Skills 是帶 phase gate 的工作流程模組,作用不只在 prompt
- 精選 5 個:
tdd、to-spec、to-tickets、grill-me、implement - 安裝方式:
npx skills@latest add mattpocock/skills,5 分鐘完成 - 建議組合:grill-me → to-spec → to-tickets → implement(由 implement 在適合的切面驅動 tdd)
- Skills 負責可重用流程;需要零例外執行的檢查,仍應交給 hooks 或 CI
你每次叫 Claude「先寫測試」,為什麼它還是先寫 implementation?
這個場景幾乎每個用 Claude Code 寫程式的人都遇過。你在 prompt 裡寫得很清楚:「用 TDD 流程,先寫測試」。Claude 也回覆「了解,我先寫測試」。但實際執行時,它經常先把功能寫出來,再倒推測試。
問題出在 prompt 層級的指令本來就只是「建議」。Claude 在處理複雜任務時,會根據自己認為最有效率的路徑行動;對語言模型來說,先寫 implementation 再補測試確實是更「自然」的順序。prompt 能 nudge(推一下),卻無法充當 gate(門檻)。
TDD skill 改用結構性的 phase gate:Red 階段必須產出失敗的測試,且測試確實跑失敗之後,才允許進入 Green 階段寫 implementation。它把 prompt nudge 變成 structural enforcement,不再靠更精準的語言「拜託」Claude 先寫測試。
CLAUDE.md、Skills、Subagents、Hooks 的正確分工
挑選 skills 之前,先把 Claude Code 的 4 層架構分清楚。多數人踩坑,都是因為把規則放錯了層級。
| 層級 | 機制 | 執行保證 | 適合放什麼 |
|---|---|---|---|
| CLAUDE.md | 每個 session 全量載入 | 機率性(probabilistic) | 持久專案規範,建議控制在 200 行以內 |
| Skills(SKILL.md) | 按需載入(description 常駐;body 只在 invoke 時載入) | 機率性(probabilistic) | 可重用的工作流程模組、playbook |
| Subagents | 獨立 context 的隔離 worker | 確定性的作用域隔離 | 需要平行執行或 context 隔離的任務 |
| Hooks | Shell scripts,在 lifecycle 事件觸發 | 完全確定性(deterministic) | 零例外強制執行:格式檢查、lint、測試 |
Marmelab 的工程團隊在實戰中發現,CLAUDE.md 超過 200 行之後,Claude 會開始靜默忽略埋在雜訊裡的規則。我們也踩過這個問題:某些規則開始被靜默忽略,花了好一段時間才抓到原因。
Skills 的 lazy-load 設計正是為了解決這件事。它只把 description(上限 1,536 字元)放進常駐 context,完整的 SKILL.md body 只在你呼叫 /skill-name 時才載入。這讓你可以把複雜的工作流程拆出 CLAUDE.md,放進 skills,維持 CLAUDE.md 的精簡。
重要:如果你想更完整了解 CLAUDE.md 的三層優先級和
.claude/rules/路徑作用域設定,可以參考我們的 Claude Code 完整設定指南。本文聚焦在「哪些 community skills 值得安裝」。
mattpocock/skills 為什麼能快速成長?社群生態的形成
Matt Pocock 是知名的 TypeScript 教育者。mattpocock/skills 在 2026 年 8 月 30 日約有 241K stars,並採 MIT license。它也剛好踩中一個時間點:開發者開始意識到 prompt engineering 不夠,還需要 workflow engineering。
Agent Skills(agentskills.io)是一個 open standard,設計上跨 Claude Code、Cursor、Gemini CLI 相容。因此,你安裝的 skills 可以作為跨平台的工作流程協議,不會只綁在某個 IDE 上。
社群生態也在快速成形:
- hesreallyhim/awesome-claude-code:目前最完整的社群目錄,涵蓋 skills、hooks、orchestrators、plugins
- ComposioHQ/awesome-claude-skills:按角色打包的 bundles(例如 "Web Wizard" = 5 個 skills 組合)
- alirezarezvani/claude-skills:232+ skills,涵蓋工程、行銷、合規、C-level advisory——工程師只是早期採用者
這股熱度反映出 AI 工作流程正在從「每個人自己寫 prompt」,走向共享的標準化流程。
Agent Fleet 精選 5 Skills:我們實際在用的是這些
我們從目前的 mattpocock/skills 與社群生態中,挑出 5 個最容易組成完整開發流程的選項:
| Skill | 指令 | 核心行為 | 適用場景 |
|---|---|---|---|
| tdd | /tdd | Phase-gated TDD:Red 必須失敗 → Green 才允許 → 強制 minimal implementation | 所有需要測試覆蓋的功能開發 |
| to-spec | /to-spec | 把既有對話合成為規格,發布到設定好的 issue tracker | 從已釐清的對話收斂成可執行規格 |
| to-tickets | /to-tickets | 把規格拆成帶依賴關係的 tracer-bullet tickets | 大功能拆解,分配給不同 agent 或開發者 |
| grill-me | /grill-me | 窮盡式 decision-tree 提問,直到所有分支都有明確答案 | 動手之前,把模糊的想法問到透徹 |
| implement | /implement | 依規格或 tickets 實作,在約定切面驅動 TDD,完成前執行 code review | 從規格落地到可驗證的程式碼 |
我們的 agent fleet 用一套相似的流程:策略任務 → 工作拆解 → 隔離執行 → 驗證完成。to-spec → to-tickets → implement 也是同樣的架構;我們用 GitHub Issues 加自動化 scripts 實現,mattpocock 則把流程封裝成可觸發的 skills。
TDD Skill 深度解析:Phase Gate 到底是什麼意思?
TDD skill 是 mattpocock/skills 裡對產出影響最大的單一 skill。它的核心機制:
1. Red Phase(寫失敗測試):Skill 指示 Claude 先寫測試,而且測試必須跑起來並失敗。這個「失敗」不是 bug,是設計——在 implementation 存在之前,測試本來就該失敗。
2. Green Phase(minimal implementation):只有在 Red 測試確認失敗之後,才進入寫 implementation 的階段。而且 skill 強制要求「只寫讓測試通過的最小 code」,不准多寫。
3. Subagent 隔離:TDD skill 使用 context: fork,讓寫測試的 agent 和寫 implementation 的 agent 在不同的 context 中工作。這避免了一個常見問題——當同一個 context 同時知道「測試要什麼」和「implementation 怎麼寫」,Claude 會傾向跳過 Red 直接寫出能通過的 code。
phase gate 直接把 Red 設成 Green 的進入條件;單靠 prompt 叫 Claude 先寫測試,仍只是一項建議。
Skills 與 hooks 解決不同問題:skill 提供模型可讀的工作方法,hook 則在特定生命週期事件固定執行腳本。若某項檢查不能被跳過,例如禁止危險 Git 操作或每次寫入後跑 lint,就不該只靠模型自行觸發 skill。
Workflow Chain(手動串接):grill-me → to-spec → to-tickets → implement
單獨安裝一個 skill 已經有用;把多個 skills 手動串成完整的開發 pipeline,才會形成 workflow chain。這些 skills 之間不會自動銜接,需要手動依序觸發每個步驟;完整跑完一輪約需 45-90 分鐘(視需求複雜度而定):
Step 1: /grill-me(釐清需求)
輸入:模糊的想法(「我想做一個 dashboard」)
輸出:decision-tree 走完,所有分支都有明確答案
Step 2: /to-spec(結構化規格)
輸入:grill-me 對話的成果
輸出:結構化 PRD,自動提交為 GitHub Issue
Step 3: /to-tickets(垂直切片)
輸入:PRD Issue
輸出:多個垂直切片 Issues,標記 HITL(需人工介入)或 AFK(可自動執行),依賴關係排序
Step 4: /implement(逐個 ticket 執行)
輸入:單一 Issue
輸出:按規格完成、在約定切面通過 TDD 與 code review 的程式碼
這個 chain 的邏輯和我們 fleet 的日常運作一致:strategy issue → task breakdown → isolated execution → auto-complete。mattpocock 把每個節點封裝成標準化的 skill,任何人都能用 npx 安裝。
初次安裝後,建議先跑 /setup-matt-pocock-skills 設定 per-repo config(issue tracker 位置、triage labels、docs 路徑)。
Skills + Hooks 組合拳:從機率性到確定性執行
先講一個容易被忽略的限制:Skills 是機率性的(probabilistic)。
不管 SKILL.md 寫得多完整,Claude 在專注處理複雜任務時,仍然可能跳過 skill 的指令。語言模型會在多個目標之間做取捨,有時候「完成任務」的權重會超過「遵守流程」。
Hooks 則是完全確定性的(deterministic)。它們是 shell scripts,綁定在 Claude Code 的 lifecycle 事件上(如 PreToolUse、PostToolUse),在每次觸發時無條件執行。
組合策略:
- Skills 定義「要做什麼」:TDD 的 Red/Green phase gate、PRD 的輸出結構
- Hooks 確保「一定會做」:每次 prompt 前檢查 TDD 階段、每次 code 寫入後跑 lint
mattpocock/skills 裡的 git-guardrails-claude-code 就是一個好例子。它用 hooks 在 shell 層直接 block 危險的 git 操作(force push、reset --hard)。setup-pre-commit skill 則幫你設定 Husky hooks,把 linting 和測試變成每次 commit 前的強制步驟。
安裝與快速上手
# 啟動 installer,再選擇要安裝的 skills 與目標 Agent
npx skills@latest add mattpocock/skills
installer 會讓你選擇目標 Agent 與安裝範圍,因此實際目錄會依選項而定。若選 Claude Code 的專案層級,常見位置是 .claude/skills/。進入 session 後:
- 驗證安裝成功:在 Claude Code session 中輸入
/,確認 skill 列表中出現/tdd、/grill-me等已安裝的 skills。如果沒出現,檢查.claude/skills/目錄下是否有對應的SKILL.md檔案 - 跑
/setup-matt-pocock-skills:設定 issue tracker、triage labels、docs 路徑 - 第一個 session 建議從
/grill-me開始:不需要 code,純對話,馬上感受 skill 和普通 prompt 的差異 - 全域 vs 專案 scope:放在
~/.claude/skills/是全域(所有專案共用),放在.claude/skills/是專案層級(commit 進 repo 和團隊共享) context: fork是什麼:在 SKILL.md 的 frontmatter 中設定context: fork,表示這個 skill 會在獨立 subagent 中執行,和主 session 的 context 完全隔離
社群資源一覽:如果 mattpocock/skills 不夠用,hesreallyhim/awesome-claude-code 是目前最完整的社群目錄,ComposioHQ/awesome-claude-skills 有按角色分類的 bundles,alirezarezvani/claude-skills 收錄了 232+ skills。
風險揭露:Skills 的局限與誠實評估
根據我們的 agent fleet 操作經驗,安裝前先看這幾項限制:
Skills 仍然是機率性的。安裝 ≠ 保證執行。在複雜任務中,Claude 可能跳過 skill 指令。別期待「裝了就萬事大吉」——真正穩定的執行需要 skills + hooks 雙層搭配。
上游名稱會變動。早期版本的 to-prd、to-issues、caveman 已不在目前的主流程中。安裝前應先查看 repo 的 README;本文已依 2026 年 8 月 30 日的 to-spec、to-tickets、implement 更新。
/grill-with-docs 的時間成本。完整的 interview 流程需要 15-20 分鐘。如果是小功能或 hotfix,直接動手比跑完整個 decision-tree 更有效率。
CLAUDE.md + forrestchang/andrej-karpathy-skills 和 mattpocock/skills 可以互補。karpathy-skills 管「什麼不該做」的 guardrails(防守),mattpocock/skills 管「怎麼有結構地做」的 workflow(進攻)。兩者可以疊加使用。
不要把 skill 當成強制機制。自動觸發會受到 description、任務語境與工具實作影響。必須每次執行的規則要用 hook、測試或 CI 固定下來。
結論:從「聰明但無序」到「遵守工程紀律」
Skills 管的是 Claude 的行為紀律。一個什麼都能做的 AI,如果沒有 phase gate、沒有結構化流程,就像一個極度聰明但從不跑測試的工程師——產出快,品質不可預測。
可以這樣開始:先跑 npx skills@latest add mattpocock/skills,用 /grill-me 熟悉操作,再試 grill-me → to-spec → to-tickets → implement。流程跑順後,就不必每次都重新叮嚀 Claude。如果你同時管理多個 AI Agent,可以參考 herdr 終端機多工器指南,在一個視窗裡看到所有 Agent 的狀態。
FAQ
Skills 和 Claude Code 的 slash commands(.claude/commands/)是同一件事嗎?
不完全是。Claude Code 的 .claude/commands/ 是專案層級的 custom slash commands(靜態 prompt templates);Skills 是更完整的 workflow 模組,帶有 SKILL.md 結構、frontmatter 定義、可選的 context: fork(subagent 隔離執行),以及跨 IDE 的 open standard(agentskills.io)。兩者都能 /invoke,但 skills 設計為可共享、可組合、跨平台的生產工作流程。
Agent Skills 是 open standard,可以在 Cursor、Gemini CLI 用嗎?
是的。Agent Skills(agentskills.io)是 Anthropic 主導的 open standard,設計上跨 Claude Code、Cursor、Gemini CLI 相容。mattpocock/skills 遵循此標準,理論上可在支援 skills 的任何 IDE 使用,但實際相容性因 IDE 版本而異,建議查閱各 IDE 的 skills 支援文件確認。
這篇文章對你有幫助嗎?



