Claude Code Hooks:讓你再也不想回去的5個自動化配置
整理版優先睇
用 Claude Code Hooks 一次設定,永久慳返注意力,唔使再俾彈窗打斷心流
呢篇文章係由一位有豐富程式開發經驗嘅作者分享佢點樣用 Claude Code Hooks 自動化解決重複審批問題。佢指出開發者最貴嘅成本唔係時間,而係注意力——每次彈窗詢問「允許寫入?」「允許執行?」都係對心流嘅一次打斷。作者提出 Hooks 嘅核心概念:將「每次都要諗」轉化為「諗一次就夠」,透過一次性設定自動化規則,讓 Claude 喺指定條件下自動執行格式化、測試等操作,唔再需要手動批准。
整體結論係:只要設定好 PostToolUse 或 PreToolUse 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 PostToolUse:適合自動格式化、跑測試、記錄日誌等「做完之後要做」嘅動作
- 2 PreToolUse:適合驗證指令安全性、檢查檔案路徑、攔截高風險操作
- 3 Skill:將多個 hooks 組合成一個可重用嘅能力,例如「完整開發流程」
30 秒見效:最小可用 Hook 設定
唔好睇曬成篇文章先開始,即刻試呢個。喺 .claude/settings.json 加入以下內容,你就會擁有第一個自動化 hook:
{
"hooks": {
"PostToolUse": [{
"matcher": "Write|Edit",
"hooks": [{
"type": "command",
"command": "npx prettier --write \"$CLAUDE_TOOL_INPUT_FILE_PATH\""
}]
}]
}
}
從此以後,Claude 寫嘅每一個檔案都會自動格式化。冇彈窗,冇提醒,冇「陣間先搞」。你可以繼續諗功能,Claude 負責搞掂空格同縮進。
當你感受到呢種順滑感,你就會想要更多
進階自動化:由格式化到完整工作流
一個 hook 當然唔夠,你可以疊加多種自動化規則,建立屬於你嘅開發工作流。以下係幾個實用例子:
- 自動格式化 + lint:PostToolUse 執行 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 去操心空格和縮進。
當你感受到這種順滑——
你會想要更多。