Claude Code Hooks:讓你再也不想回去的5個自動化配置

作者:竇竇的AI工具庫
日期:2026年1月27日 下午11:01
來源:WeChat 原文

整理版優先睇

速讀 5 個重點 高亮

Claude Code Hooks 一次設定,永久慳返注意力,唔使再俾彈窗打斷心流

整理版摘要

呢篇文章係由一位有豐富程式開發經驗嘅作者分享佢點樣用 Claude Code Hooks 自動化解決重複審批問題。佢指出開發者最貴嘅成本唔係時間,而係注意力——每次彈窗詢問「允許寫入?」「允許執行?」都係對心流嘅一次打斷。作者提出 Hooks 嘅核心概念:將「每次都要諗」轉化為「諗一次就夠」,透過一次性設定自動化規則,讓 Claude 喺指定條件下自動執行格式化、測試等操作,唔再需要手動批准。

整體結論係:只要設定好 PostToolUsePreToolUse hooks,開發者可以專注核心邏輯,慳返大量決策能量,令心流更持久、更鋭利。作者特別強調,最細嘅 hook(例如自動 prettier 格式化)已經可以帶嚟明顯改善,而呢種「絲滑感」係一旦體驗過就返唔到轉頭。

文章來源係作者親身經驗,佢整理咗 Claude 官方文件嘅 hook 功能,並提供具體設定範例同進階技巧,例如用 PostToolUse 自動格式化、用 PreToolUse 檢查測試規範等。作者嘅整理角度係實用為先,由最小可行 hook 開始,再擴展到完整工作流

  • 心流最易被細微嘅批准打斷,每次彈窗都係一次決策,消耗注意力税。
  • Hooks 將「每次都要諗」變成「諗一次就夠」——一次性設定,永久自動執行。
  • 最小可行 hook:用 PostToolUse 配合 prettier 自動格式化,30 秒見效。
  • 進階用法包括 PreToolUse 驗證指令、PostToolUse 執行測試、定期檢查相依更新。
  • 終極目標係建立自動化工作流,將重複決策完全交俾 Claude,專注真正創造性嘅編程工作。
值得記低
流程

最小可用 Hook 設定範例

喺 .claude/settings.json 加入 PostToolUse hook,令 Claude 寫完每個檔案後自動用 prettier 格式化。

流程

進階自動化:PreToolUse + PostToolUse 組合

PreToolUse 檢查指令白名單,PostToolUse 自動格式化、跑測試,再整合 Claude Code 嘅 Skill 功能重用設定。

整理重點

注意力税:心流嘅真正殺手

你幾耐冇真正「進入狀態」?我講嘅唔係嗰種「仲可以寫 code」嘅狀態,而係鍵盤聲似打字機、腦海嘅架構圖比 IDE 仲清晰、bug 未出現你已經知佢匿喺邊——呢啲時刻,程序員叫佢做心流。心流好稀有,好脆弱,亦好易俾蠢問題殺死。

殺死心流嘅,通常唔係難題,而係彈出嚟嘅允許批准

Claude 想寫入檔案,你撳批准;Claude 想執行指令,你又撳批准;修改完冇格式化,再撳批准……二十次微小打斷之後,你仲寫緊 code,但嗰股鋭利感已經唔見咗。心流冇戲劇性崩塌,只係悄悄溜走,似水從指縫流走。

整理重點

Hooks 嘅本質:諗一次就夠,終生自動執行

Hooks 嘅核心係將「每次都要諗」變成「諗一次就夠」。你決定一次,Claude 執行一輩子。你當佢係條件反射——對可預測情況嘅自動響應,唔需要思考,唔需要點擊,唔需要從心流被扯出來。

一旦體驗過呢種絲滑感,你就返唔到轉頭了

設定 hooks 唔複雜,只需要喺 .claude/settings.json 加入對應規則,指定 matcher(匹配工具名稱)同 hooks(執行指令)。Claude 提供兩種 hook 時機:PostToolUse 係工具執行之後觸發,PreToolUse 係執行之前觸發。你仲可以用 skill 將多個 hooks 打包重用。

  1. 1 PostToolUse:適合自動格式化、跑測試、記錄日誌等「做完之後要做」嘅動作
  2. 2 PreToolUse:適合驗證指令安全性、檢查檔案路徑、攔截高風險操作
  3. 3 Skill:將多個 hooks 組合成一個可重用嘅能力,例如「完整開發流程
整理重點

30 秒見效:最小可用 Hook 設定

唔好睇曬成篇文章先開始,即刻試呢個。喺 .claude/settings.json 加入以下內容,你就會擁有第一個自動化 hook:

最小可用 Hook 設定檔 json
{
  "hooks": {
    "PostToolUse": [{
      "matcher": "Write|Edit",
      "hooks": [{
        "type": "command",
        "command": "npx prettier --write \"$CLAUDE_TOOL_INPUT_FILE_PATH\""
      }]
    }]
  }
}

從此以後,Claude 寫嘅每一個檔案都會自動格式化。冇彈窗,冇提醒,冇「陣間先搞」。你可以繼續諗功能,Claude 負責搞掂空格同縮進。

當你感受到呢種順滑感,你就會想要更多

整理重點

進階自動化:由格式化到完整工作流

一個 hook 當然唔夠,你可以疊加多種自動化規則,建立屬於你嘅開發工作流。以下係幾個實用例子:

  • 自動格式化 + lintPostToolUse 執行 prettier 之後再行 eslint --fix,確保 code style 一致
  • 自動執行測試PostToolUse 對應測試檔案,用 "npm test -- --changedSince" 只測相關部份
  • 自動更新相依:定期用 PreToolUse 檢查 package.json 變化,提醒升級
  • 自動發佈通知PostToolUse 成功完成 Git commit 後,傳 Slack 訊息俾團隊

注意:hooks 唔係萬能,佢哋適合可重複嘅、低風險嘅操作。高風險操作(例如刪除檔案、修改數據庫)仍然需要人手確認。你可以用 PreToolUse 攔截呢啲操作,輸出警告訊息,再由你決定是否放行。

自動化嘅界線係:如果出錯嘅成本好細,就全自動;如果成本高,就半自動+人手確認

整理重點

由「撳掣機器」變返「真正開發者」

當你設定好 Claude Code Hooks,你會發現開發體驗完全唔同。你唔再需要重複批准同意書,唔需要記住每十秒撳一次掣。你可以將注意力放返喺真正嘅問題——設計、架構、除錯。

心流唔再係稀有資源,而係日常狀態

由今日開始,用最少嘅設定換取最大嘅心流回報。第一個 hook 只需要 30 秒,但佢帶嚟嘅影響可以持續幾年。你嘅大腦值得擁有更多高品質嘅思考時間,而唔係俾重複決策食曬。

你幾耐冇真正「入狀態」喇?

我講嘅唔係嗰種「仲可以,寫到 code」嘅狀態。

我講嘅係——

鍵盤聲好似打字機咁。腦入面嘅架構圖比 IDE 仲清晰。Bug 未出現,你已經知道佢會匿埋喺邊度。

呢啲時刻,programmer 叫佢做心流

佢好稀有。佢好脆弱。佢亦都好容易俾人 kill 咗。


Kill 死佢嘅,通常唔係難題。

係啲蠢問題。

Claude 想寫入 file,係咪允許?
👆 撳批准
Claude 想執行 command,係咪允許?
👆 撳批准
Claude 改咗 code 但冇 format……
👆 撳批准
Claude 想 run test……
👆 撳批准

廿次微小嘅打斷之後,你仲喺度寫 code。

但那股鋭利感唔見咗。

心流冇戲劇性地崩塌,佢只係……靜靜雞溜走咗。好似水喺指縫間流走,你甚至講唔清係邊一刻失去嘅。


💡 真正嘅成本,唔係等——係決策

等我分享一個反直覺嘅發現:

最貴嘅税,唔係時間税,係注意力税。

每一次彈窗都迫你個腦回答一個佢一早知答案嘅問題:

  • 「係,format 冇問題。」
  • 「係,run test 係安全嘅。」
  • 「係,寫 file 啦。」

呢啲決策好細,但佢哋仍然係決策

而決策,會打斷心流。


Hooks 嘅本質,係將「每次都要諗」變成「諗一次就夠」。

你決定一次。Claude 執行一世。

當佢係條件反射——對可預測情況嘅自動響應。

唔需要思考。唔需要撳掣。唔需要俾人由心流度扯返出嚟。

一旦你體驗過呢種絲滑,就返唔到轉頭。


⚡ 30秒見效:最小可用 Hook

唔好急住睇曬成篇文章。

先試呢一個。

在你的 .claude/settings.json 喺入面加上:

{
  "hooks": {
    "PostToolUse": [{
      "matcher""Write|Edit",
      "hooks": [{
        "type""command",
        "command""npx prettier --write \"$CLAUDE_TOOL_INPUT_FILE_PATH\""
      }]
    }]
  }
}

就係咁。

從此以後,Claude 寫嘅每一個 file,都會自動 format。

冇彈窗。冇提醒。冇「等陣先講」。

你繼續諗你嘅功能。Claude 去理啲空格同 indent。

當你感受到呢種順滑——

你會想要更多。


你有多久沒有真正「進入狀態」了?

我說的不是那種"還行,能寫代碼"的狀態。

我說的是——

鍵盤聲像打字機。腦子裏的架構圖比IDE還清晰。Bug還沒出現,你就已經知道它會躲在哪裏。

這種時刻,程序員管它叫心流

它很稀有。它很脆弱。它也很容易被殺死。


殺死它的,往往不是難題。

是那些蠢問題。

Claude 想寫入文件,是否允許?
👆 點擊批准
Claude 想運行命令,是否允許?
👆 點擊批准
Claude 修改了代碼但沒格式化……
👆 點擊批准
Claude 想跑測試……
👆 點擊批准

二十次微小的打斷之後,你還在寫代碼。

但那股鋭利感不見了。

心流沒有戲劇性地崩塌,它只是……悄悄溜走了。像水從指縫間流走,你甚至說不清是哪一刻失去的。


💡 真正的成本,不是等待——是決策

讓我分享一個反直覺的發現:

最貴的税,不是時間税,是注意力税。

每一次彈窗都在逼你的大腦回答一個它早就知道答案的問題:

  • "是的,格式化沒問題。"
  • "是的,跑測試是安全的。"
  • "是的,寫文件吧。"

這些決策很小,但它們仍然是決策

而決策,會打斷心流。


Hooks 的本質,是把「每次都要想」變成「想一次就夠了」。

你決定一次。Claude 執行一輩子。

把它想象成條件反射——對可預測情況的自動響應。

不需要思考。不需要點擊。不需要從心流裏被拽出來。

一旦你體驗過這種絲滑,就再也回不去了。


⚡ 30秒見效:最小可用 Hook

別急着看完整篇文章。

先試這一個。

在你的 .claude/settings.json 里加上:

{
  "hooks": {
    "PostToolUse": [{
      "matcher""Write|Edit",
      "hooks": [{
        "type""command",
        "command""npx prettier --write \"$CLAUDE_TOOL_INPUT_FILE_PATH\""
      }]
    }]
  }
}

就這樣。

從此以後,Claude 寫的每一個文件,都會自動格式化。

沒有彈窗。沒有提醒。沒有"待會兒再說"。

你繼續想你的功能。Claude 去操心空格和縮進。

當你感受到這種順滑——

你會想要更多。