Field Guide DOC—MPS/01 · mattpocock/skills REV 2026.04 · a
— Skills for Real Engineers, not Vibe Coding —

Matt Pocock/16 個給真工程師的 Skill

Compiled by 2026·04·29 STATUS · 38,314★
OPEN-SOURCE · CC SKILLS github.com/mattpocock/skills — Total TypeScript 作者,aihero.dev 站長 · 寫給每天寫真實生產程式碼的人
38,314
★ Stars
16
Skills
4
分類
60k+
電子報訂閱
figure 00 · thesis Small,
editable,
composable.
Matt Pocock 把自己 .claude/ 目錄裡每天用的 16 個 Skill 全部開源, 上線即衝 38,314 顆星。他不是 Skill 圈的人—— 他是 TypeScript 圈的頂流,寫 Skill 的視角是 「每天寫真實生產代碼的人」,不是「想搭框架的人」。 整套主張很硬:反對 BMAD / Spec-Kit / GSD 那種「重流程奪控制權」的玩法, 改走「小、可改、可組合」的另一條路。每一個 Skill 都是獨立小檔案, 你能看懂、能改、能拆開重組。
這些方法試圖通過接管整個流程來幫你,
但代價是奪走你的控制權,讓流程裡的 bug 極難修復。
「這是給真工程師用的,不是 vibe coding。」 Matt 在 README 裡直接點名了 BMAD 和 Spec-Kit——他的 Skill 反過來,每一個都能單獨抽出來。
01/05
— Why 38k Stars Overnight
為什麼這套一上線就爆
Matt 不是用「Skill 設計師」的視角寫 Skill, 他是用「每天寫產品的工程師」視角寫——這是整個社群最缺的東西。
// engineer-aesthetic

把過去十年的工程常識,重新打包成 Agent 介面。

Skill 命名直白(/grill-me/zoom-out/diagnose), 文件引用的全是 Pragmatic Programmer、DDD、Kent Beck、Ousterhout, 沒有一句「範式」、「革命」、「顛覆」。

這就是「工程師審美」—— 過去十年軟體工程沉澱的常識被重新打包成 Agent 時代的工具。 他不教你新東西,他把你已經知道是對的東西,做成 Agent 也能照著做的小工具。

它不是教你新東西,它把常識做成了 Agent 也能照著做的小工具。

◉ 引用的工程經典

  • PRAGMATIC Pragmatic Programmer ——「沒人真正知道自己想要什麼」
  • DDD Eric Evans ——開發者與領域專家說不同的語言
  • XP Kent Beck ——強調反饋循環,TDD 紅綠重構
  • DEPTH Ousterhout ——深度模組、降低複雜度
  • UNIX do one thing well ——組合勝過接管
02/05
— 4 Failure Modes & 4 Fixes
Agent 翻車 4 大模式 · 對應 4 套 Skill
Matt 把所有 Agent 失敗收斂到 4 個根因,每個根因配一套 Skill。 這就是整個倉庫的骨架——不是按功能分類,是按失敗模式分類
// failure-driven
FAILURE 01

沒對齊需求

Agent 沒真正理解你想要什麼。你也沒真正理解自己想要什麼——這是 Pragmatic Programmer 的觀察。修復方法是逼 Agent 反過來拷問你,把決策樹每個分支問到底。
引:Pragmatic Programmer ——「沒人真正知道自己想要什麼」
修復: /grill-me /grill-with-docs
FAILURE 02

Agent 太囉嗦

開發者跟 Agent 說不同的語言,浪費的全是 token 與耐心。Matt 給的真實例子:原本要說「課程章節裡某節課被賦予檔案系統位置時出問題了」,建立 CONTEXT.md 後變成「materialization cascade 出問題了」。
引:Eric Evans · DDD ——共享語言才有效率
修復: CONTEXT.md 建立專案共享語言
FAILURE 03

程式碼跑不通

多數人用 Claude Code 最痛的就是「Agent 改了一遍又一遍還是不對」。 解法是強迫 Agent 走紅綠重構、系統化除錯——複現到最小、再假設、再插樁、再修、再加回歸測試。
引:Kent Beck · XP ——反饋循環勝過聰明
修復: /tdd /diagnose
FAILURE 04

程式碼變屎山

Matt 原話:「Agent 在加速寫程式碼的同時也在加速軟體熵增。」 解法三件套:寫 PRD 前先盤清楚動了哪些模組、解釋程式碼時放回整個系統看、 每幾天定期救一次已經爛掉的程式庫。
引:Ousterhout · A Philosophy of Software Design
修復: /to-prd /zoom-out /improve-codebase-architecture
03/05
— The Full Catalog
完整 16 個 Skill 清單
每個 Skill 都是獨立 SKILL.md 檔,可以單獨抽出來用。 分四類:日常工程、通用生產力、雜項工具、考古用 deprecated 目錄。
// catalog
Engineering 9 個
— 日常程式碼工作
/diagnose 系統化除錯:複現 → 假設 → 插樁 → 修 → 回歸
/grill-with-docs 帶文件版的拷問,沉澱 CONTEXT.md
/triage 用狀態機管理 issue 流轉
/improve-codebase-architecture 救一個已經爛掉的程式庫
/setup-matt-pocock-skills 前置依賴:問你 issue tracker / label / docs path
/tdd 強制紅 → 綠 → 重構
/to-issues 把計畫拆成可獨立認領的 GitHub issue
/to-prd 寫 PRD 前先盤清楚動哪些模組
/zoom-out 解釋程式碼時放回整個系統脈絡
Productivity 3 個
— 通用工作流
/caveman 把 Agent 輸出強行壓縮到「穴居人模式」,token −75% 但技術準確度不變
/grill-me 非程式版的拷問——任何決策都能用
/write-a-skill 寫新 Skill 的後設 Skill
Misc 4 個
— 偶爾用
/git-guardrails-claude-code 配 hooks 攔截危險 git 命令(push、reset --hard、clean)
/migrate-to-shoehorn 把 TS 測試裡的 as 斷言換成 shoehorn
/scaffold-exercises 搭練習題目錄
/setup-pre-commit 配 Husky + lint-staged
DEPRECATED 倉庫裡還有一個 deprecated 目錄——Matt 把已經不用的 Skill 留在那做考古,能看到他的迭代思路。 這個習慣本身就值得抄:讓「已經不再相信什麼」也成為 repo 的一部分
04/05
— The Counterintuitive One
CONTEXT.md · 整套裡最值得抄的一招
如果非要從 16 個裡挑一個最值得抄的——它甚至不是 Skill。 它是 /grill-with-docs 的副產品:一份寫給「下一次空白 Agent」看的共享語言檔。
// shared-language

README 是給人看的;CONTEXT.md 是給 Agent 看的。

每次 grill 完,Agent 會把這次對話裡出現的關鍵術語沉澱到專案根目錄的 CONTEXT.md。下次會話,新 Agent 讀完這個檔案就直接用專案的「行話」說話。

它不只是省 token——變數名、函式名、檔名都開始按共享語言來命名,整個程式庫的導航成本隨之降低。它的目標讀者是下一次開會話的那個空白 Agent,所以寫法上要更工程化、更精確,每個術語對應一個明確定義。

— BEFORE · 沒 CONTEXT.md
「課程章節裡某節課被賦予檔案系統位置時出問題了」
— AFTER · 有 CONTEXT.md
materialization cascade 出問題了」

ADR · Architectural Decision Record

Companion Practice

每次有重大決策,Agent 自動生成一個 ADR 文件存到固定位置。下次 Agent 看到一段奇怪程式碼,不會又跑回來問你「為什麼這麼寫」——它會先去翻 ADR。

docs/adr/0001-…md

給人看 vs 給 Agent 看

Different Audience, Different Format

README 講故事、放截圖、強調採用度;CONTEXT.md 列術語、定義、邊界、不變式——是正本清源的詞典。前者寫給瀏覽者,後者寫給編譯器人格。

05/05
— Process Heavy v.s. Composable
重流程派 v.s. 組合派
Matt 在 README 裡直接拉 BMAD / Spec-Kit / GSD 出來對比。 這不是行銷話術——理解這個差別能幫你判斷哪種適合你。
// philosophy
— PROCESS-HEAVY

BMAD · Spec-Kit · GSD

「我接管整個流程」
  • 控制權框架接管整個流程
  • Skill 關係強耦合,按階段走
  • 內建角色PM / Architect / Dev / QA 一整套
  • 出 bug 時難定位——每環都被框架管著
  • 適合人群不熟工程、需要 0→1 完整流程的人
不是同一條路
— COMPOSABLE

Matt Pocock Skills

「我給你工具,你決定怎麼用」
  • 控制權使用者每步自主選擇
  • Skill 關係獨立小工具,可組合
  • 前置依賴幾乎沒有——/tdd 不需要先 /to-prd
  • 出 bug 時Skill 是小檔案,看得懂、改得動
  • 適合人群已經有判斷力、要一把順手的工具的工程師
Matt 走的是 Unix 哲學: do one thing well · 在前端圈叫 unstyled component · 在 Agent 圈這條路 38k 星算是打開了

30 秒裝上跑起來

$npx skills@latest add mattpocock/skills

執行完會讓你勾選要裝的 Skill 與目標 Agent(Claude Code、Codex、Cursor 都支援)。記得勾上 /setup-matt-pocock-skills——它是 Engineering 那一坨的前置依賴。

裝完跑一次 /setup-matt-pocock-skills,會問你三個問題:用什麼 issue tracker(GitHub / Linear / 本地檔案)、triage 用什麼 label 詞表、文件存哪裡。回答完就能直接用了。第一次建議先跑 /grill-with-docs,把當前在做的功能丟給它,讓它拷問你 20 分鐘——結束後看看 CONTEXT.md 長什麼樣,基本就理解了 Matt 這套的核心。

— The Real Pitch —

常識 × Agent 介面 = 38k 星

Matt Pocock 這套之所以爆紅,是因為它把過去十年軟體工程沉澱的常識 (DDD 共享語言、TDD 反饋循環、Pragmatic 小步迭代、Ousterhout 深度模組) 按 Agent 時代的介面重新打包了一遍。 它不教你新東西,它把你已經知道是對的東西,做成 Agent 也能照著做的小工具。 適合的人:寫過幾年程式、用過一段時間 Claude Code、被 Agent 的「vibe coding」坑過。 不適合的人:剛開始用 AI 寫程式、需要完整流程從 0 到 1 的——那種人去用 BMAD 更快。

Further Reading 延伸閱讀