技術1 閱讀

Matt Pocock Skills:讓 AI 程式設計像真正的工程師一樣工作

Matt Pocock 的 Skills 專案是一套針對 AI 程式設計助手(如 Claude Code)的工程化技能庫,透過將軟體開發的標準流程模組化,解決了 AI 程式碼生成品質不穩定的核心痛點。這個僅用幾份 Markdown 檔案構建的專案在 GitHub 上獲得 2.3 萬顆星,成為 AI 協助開發領域的重要實踐。

專案背景:AI 程式設計的四大失敗模式

傳統 AI 開發工具傾向於讓「一個聰明的 Agent 處理所有事情」,但 Matt Pocock 採取了完全相反的策略:先辨識 AI 實際失敗的模式,再為每種失敗模式設計對應的技能。專案定義了四種典型失敗場景:

這種設計哲學放棄了「AI 足夠聰明就能解決一切」的樂觀假設,轉而透過結構化流程來彌補 AI 的不確定性。

核心理念:流程標準化與技能模組化

Skills 專案的價值在於將「如何用 AI 做需求分析、設計、程式碼」的經驗拆解為可重複使用的技能插件,讓 AI 按照固定的可靠套路工作,而不是依賴運氣。每個技能都是完整的「工作劇本」,包含 YAML 格式的元資料(名稱、描述、觸發條件)和具體執行步驟。

專案的可組合性是其另一大特點:一個技能的輸出可以作為下一個技能的輸入。例如 write-a-prd生成 GitHub issue 中的 PRD 文件,prd-to-issues 再將該 PRD 拆解為實施計畫。這使得團隊能透過串聯技能建立客製化工作流程。

五個核心技能構成完整工作鏈

  1. grill-me:需求澄清階段
    這個僅 11 行的技能讓 AI 像面試官一樣逐個提問,確保雙方對需求達成共識。其關鍵特性包括:

    • 每次只問一個問題,避免資訊過載

    • AI 提供建議答案供確認,而非單純提問

    • 能從程式碼庫自動查找答案的問題不打擾開發者
      有開發者分享在使用該技能時被問了 16 個問題,複雜功能甚至會進行 30-50 個問題的深度訪談。這個技能解決了 Claude Code 傾向於過早生成方案的問題,強制進行充分的前期溝通。

  2. to-prd:產出需求文件
    基於對話歷史生成正式的產品需求文件(PRD),包含問題描述、解決方案、使用者故事、實現決策、測試決策以及不做的事項。文件透過 gh 命令自動建立為 GitHub issue 保存。

  3. to-issues:垂直切片拆解任務
    將 PRD 拆解為獨立的可執行小任務,採用「垂直切片」(tracer-bullet)方法論而非傳統的前後端或模組劃分。每個切片貫穿從資料庫到介面到測試的完整路徑,並明確標記是否需要人工介入。任務按依賴關係排序,後續任務等待前置任務完成。

  4. tdd:測試驅動開發
    強制執行嚴格的測試驅動開發流程,在失敗測試存在之前不允許編寫實現程式碼。這確保程式碼品質穩定,適合已有測試文化的專案。

  5. improve-codebase-architecture:架構優化
    基於 CONTEXT.md 中的領域語言和 docs/adr/ 中的架構決策記錄(ADR),尋找程式碼庫的「深化機會」。應用 John Ousterhout 的「深模組」原則(小介面隱藏大實現),提升可測試性和 AI 可導覽性。該技能會識別淺層模組、緊耦合元件和未測試邊界,並提出重構建議。

安裝與使用

安裝單個技能的指令格式為:

text
npx skills add mattpocock/skills skill=grill-me -y -g

Skills 使用標準化結構,支援作用域包名(mattpocock/skills)和版本標籤,安裝後即可被支援技能協議的 AI 助手呼叫。

其他實用技能

除核心工作流程外,專案還包含多個輔助技能:

限制與發展

當前版本的主要限制是與 GitHub 的深度耦合:涉及 issue 操作的技能都硬編碼了 gh 命令。使用 Linear、Jira 等其他專案管理工具的團隊需要 fork 後修改程式碼,不過官方已表示對其他平台的支持正在開發中(截至 2026 年 4 月份)。

Matt Pocock 在 2026 年 4 月更新了技能組合,用 /domain-model 替代 /grill-me,整合了領域驅動設計(DDD)概念,在討論過程中同步生成文件和 ADR。這顯示專案在持續演進,逐步整合更多軟體工程最佳實踐。

適用場景

這套技能庫特別適合以下開發者:

正如一位開發者在刪除大部分臃腫技能後的感悟:Matt Pocock 的技能集體現了極簡主義哲學——小而精準、命名清晰的原語,更少的表面积卻帶來更大的杠杆效应。

總結

Matt Pocock Skills 不是簡單的「讓 AI 隨便生成程式碼」,而是透過需求澄清、TDD、診斷、任務拆解、架構優化等方式,讓 AI 程式設計更接近真實工程師的工作方式。它強調的是:有流程、有反饋、有拆解、有複盤的工程化開發,而非僅憑感覺的 Vibe Coding。這正是當前 AI 協助開發領域最需要的 — 不是更聰明的 AI,而是更好的工作流程。

SHARE

分享

分享這篇文章。