跳至主要內容

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