Claude Code 自動化實戰:用 Hooks、Skills 與 MCP 打造自己的 AI 開發工作流
深入 Claude Code 最被低估的三大功能——事件鉤子(Hooks)、自訂技能(Skills)與 MCP 整合——教你如何讓 AI 編碼助手從「對話工具」升級為自動化開發夥伴,附完整設定範例。
如果你每天用 Claude Code 寫程式,你可能已經習慣了這樣的流程:下指令 → 看它改程式碼 → 手動跑 linter → 發現問題 → 告訴它修正 → 再跑一次。來回幾趟,半小時就過去了。
Claude Code 其實有一套機制可以讓這些步驟自動化,只是多數人沒有用到。這篇文章會帶你設定三個最實用的功能:事件鉤子(Hooks)、自訂技能(Skills)和 MCP 整合。設定一次,長期受益。
一、Hooks:讓 Claude Code 在對的時間自動做對的事
Hooks 是 Claude Code 的事件驅動自動化系統。你定義「當某件事發生時,自動執行某個動作」,就像 GitHub Actions 之於 CI/CD、或者 Git Hooks 之於版本控制。Claude Code 支援的事件類型包括 PreToolUse(工具使用前)、PostToolUse(工具使用後)、Stop(會話結束前)等。
實戰一:每次編輯後自動跑 linter
把以下設定放到專案根目錄的 .claude/settings.json:
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "cd $CLAUDE_PROJECT_DIR && npx eslint --fix --quiet ./src/"
}
]
}
]
}
}
matcher 欄位告訴 Claude Code「只在 Edit 或 Write 操作後觸發」。command 會在 Claude 每次改完檔案後自動跑 ESLint。重點是:Claude 可以看到 linter 的輸出。如果有錯誤,它會在下一次回應中自動處理,不需要你手動告訴它。
對於 Python 專案,把 command 換成 ruff check --fix . 或 black --check . 即可。
實戰二:讓 AI 檢查 AI——LLM 驅動的品質閘門
新版 Claude Code 支援 type: "prompt" 的鉤子,也就是在特定事件發生時,叫另一個 LLM 實例來做檢查。這聽起來有點「套娃」,但實際用起來很有效:
{
"hooks": {
"Stop": [
{
"hooks": [
{
"type": "prompt",
"prompt": "在 Claude 停止前檢查:1. 所有測試是否通過?2. 有沒有遺留 TODO 註解?3. 有沒有 console.log / print 語句該刪掉?如果有問題,列出清單。"
}
]
}
]
}
}
這會在 Claude 準備結束對話時,由另一個 LLM 快速掃描當前的工作成果,給出檢查清單。這比你自己手動 code review 快得多。
實戰三:pre-commit 風格的安全檢查
你還可以把安全性檢查掛到 PreToolUse 上,在 Claude 執行任何終端指令之前先過濾:
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "prompt",
"prompt": "檢查即將執行的指令是否安全。是否包含 rm -rf、curl | bash、或任何可能造成資料損失的操作?如果安全,回覆 'OK'。如果有風險,解釋原因。"
}
]
}
]
}
}
二、Skills:教 Claude Code 學會你的領域知識
Skills 是 Claude Code 的知識擴展系統,本質上是一個 Markdown 檔案,放在 .claude/skills/ 目錄下。當你 @mention 一個 skill 時,Claude 會讀取整個檔案作為上下文。
建立你的第一個 Skill
在 .claude/skills/frontend-review.md 中寫:
# Frontend Code Review
當審查 React 元件時,檢查以下項目:
1. 是否使用了 React.memo 包裹純展示元件?
2. useEffect 的依賴陣列是否完整?
3. 是否有不必要的重新渲染?
4. CSS 是否使用了 Tailwind 的響應式斷點?
5. 無障礙屬性(aria-label、role)是否齊全?
發現問題時,直接給出具體修改建議,不要只說「應該優化」。
之後在 Claude Code 中輸入 /frontend-review 或 @frontend-review,它就會按照這份清單來審查程式碼。
你可以在不同專案中維護不同的 skills:React 專案的審查標準、Python 專案的型別檢查習慣、資料庫遷移的安全規則——全部寫成 skill 檔案,團隊成員之間可以共享。
三、MCP 整合:把 Claude Code 變成指揮中心
MCP(Model Context Protocol)是 Anthropic 推出的開放標準,讓 LLM 可以安全地連接外部資料來源和工具。Claude Code 原生支援 MCP,你只需要在設定檔中聲明伺服器即可。
連接專案管理工具
以 Linear 為例(假設已安裝對應的 MCP 伺服器):
{
"mcpServers": {
"linear": {
"command": "npx",
"args": ["-y", "@linear/mcp-server"],
"env": {
"LINEAR_API_KEY": "${LINEAR_API_KEY}"
}
}
}
}
設定完成後,你可以在 Claude Code 中直接說「把這個 bug 的狀態改成 In Progress」或「列出我今天的待辦任務」,不需要切換到 Linear 的網頁界面。
連接資料庫查詢
如果你的專案使用 PostgreSQL:
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": ["-y", "@anthropic/mcp-server-postgres"],
"env": {
"DATABASE_URL": "${DATABASE_URL}"
}
}
}
}
現在你可以說「查一下 users 表中最近 7 天有登入的用戶數」,Claude Code 會直接執行 SQL 查詢並把結果帶回對話中。對於需要頻繁查資料的開發場景,省下了反覆切換視窗的摩擦。
把三個功能串起來
設定完成後,你的日常開發流程會變成這樣:
- 告訴 Claude Code 要開發什麼功能
- 它開始寫程式碼
PostToolUsehook 自動觸發 linter- Claude 看到 linter 的輸出,自動修正
Stophook 在結束前做最後的品質檢查- 你收到一份完整的工作報告,附帶通過的檢查清單
你只需要在開始時下指令,結束時確認結果。中間的來回——lint → fix → re-lint → 檢查——全部自動化。
設定建議
如果你剛開始,建議按照這個順序來:
- 先設 linter hook。這是最容易看到效果的一步,五分鐘之內就能感受到差異。
- 再建一到兩個常用 skill。挑一個你每天都在做的 code review 檢查,寫成 skill。
- MCP 最後再做。MCP 需要額外的伺服器安裝,但一旦跑起來,它會徹底改變你使用 AI 輔助開發的方式。
三個功能都不難設定,但它們合在一起的效果遠大於各自為戰。Claude Code 不只是「一個會寫程式的聊天機器人」——配上 hooks、skills 和 MCP,它是一個可程式化的開發工作台。
分享文章
留言評論
0 則評論暫無評論,搶先發表你的看法吧!
相關文章
2026 自建本地 AI 語音助理完整教學:用 Whisper + Ollama + Piper 打造離線語音助手
想擺脫 Alexa 和 Google Assistant 的訂閱費與隱私風險?這篇教學帶你用三個開源工具——Whisper、Ollama、Piper——在家裡跑一個完全不連網的 AI 語音助理,從安裝到串流優化,手把手教你搞定。
2026 年初學者指南:用 CrewAI 打造你的第一個多代理人 AI 系統
CrewAI 是 2026 年成長最快的多代理人 AI 框架,每月搜尋量超過 14,800 次。這篇教學帶你從零開始,用 30 行程式碼建立協作型 AI 代理人。
AI 編碼代理的正確打開方式:2026 年實戰工作流程
AI 編碼助手已經從玩具變成必需品,但有效使用它們的關鍵不在於工具本身,而在於你的工作流程。本文分享一套結構化方法,讓 AI 代理從時靈時不靈的工具,變成可靠的開發夥伴。