Claude Code Hooks:打造自動化開發工作流程
將 Claude Code 自動化遷移到低干擾模式:從零 hooks 開始,把意圖移到指引與 Skills,只有必要時才啟用精準的專案 Hook。
本教學目前採用 預設零 hooks 的遷移方式。使用 Claude Code、Skills、agents 或把工作交接給另一個 CLI,都不需要先安裝 Hooks。先使用完整的原生 Runtime,等到真的出現重複需求,再加入自動化。
步驟 1:建立零 Hook 基準
在沒有啟用任何工具 Hook 的情況下開啟全新專案 Session。確認在所選權限設定下,檔案編輯、Shell 命令、測試與正常停止都能運作。
這個基準很重要,否則舊的使用者層註冊可能被誤認為 CLI 內建行為。
步驟 2:把意圖移到指引
在 CLAUDE.md 放入穩定的專案背景:架構、重要命令、review 期望以及「完成」的定義。指引應精簡,協助模型做出好選擇,而不是把工作鎖成僵硬腳本。
例如:
- 先執行最精準的相關測試,再決定是否跑完整 suite。
- 摘要行為變更與仍存在的不確定性。
- 發佈或變更外部狀態前先詢問。
指引保持可見、可編輯,也能依任務調整。
步驟 3:把可重用程序做成 Skills
當程序包含多個步驟或參考資源時,請使用 Skill。Claude 或使用者可在相關時機選擇 Skill,它也能說明確定性事件 handler 無法處理的取捨。
適合的例子包括發佈準備、Issue 調查、Session 交接、文件 review 與專案健康檢查。
步驟 4:在可見邊界進行驗證
測試、lint、型別檢查與 build 以一般命令或 CI 執行時最容易理解。使用者能看到何時開始、哪裡失敗,以及如何重試。
不要把每個驗證命令都藏在生命週期事件後面。每次工具呼叫後自動執行檢查,可能大幅增加延遲並中斷探索工作。
步驟 5:必要時只選用一個精準 Hook
同時符合以下條件才適合使用 Hook:
- 支援的生命週期事件確實是正確觸發點;
- 動作確定而且快速;
- 專案使用者知道它已啟用;
- 失敗可以恢復;
- 移除後不會破壞工具;
- 不會強迫 Agent 續跑或默默拒絕廣泛操作。
一次只啟用一個專案 Hook,在真實 Session 中觀察,只有效益高於干擾時才保留。
步驟 6:稽核繼承的設定
檢查組織管理、使用者、專案與本機設定。其他 CLI 或擴充功能可能載入相容的 Claude 資產,因此要查看實際啟用項目,不能假設空目錄就代表零 Hooks。
逐一詢問:
- 誰啟用了它?
- 哪個事件會觸發?
- 可以讀取或傳送哪些資料?
- 能否修改、拒絕或重複操作?
- timeout 與移除方式是什麼?
移除重複註冊、遺失腳本、已放棄實驗,以及找不到負責人或用途的自動化。
遷移檢查表
- 工具在零 Hooks 狀態可以完整運作。
- 指引放在
CLAUDE.md。 - 可重用工作流放在 Skills。
- 測試與交付關卡是可見命令或 CI。
- 選用 Hooks 屬於專案範圍且有文件。
- 自動迴圈不會困住正常完成。
- 已稽核既有全域與組織管理設定。
最新 Hook 事件與設定細節請讀第 15 課:Hooks 系統。若要安裝預設零 Director Mode Hooks 的可攜式 Skills 與 agents,請使用 Director Mode Lite。