擴充套件與自動化
Claude Code 擴充套件與自動化:從擴充套件能力地圖開始,逐章掌握 Skills、Subagents、Hooks、Commands 和 Agent SDK 的分工與組合。
這一組解決“穩定使用之後,怎麼把重複經驗、隔離任務、確定性自動化和產品化能力沉澱下來”。先不要一上來寫 SDK 或 Plugin;先判斷問題屬於規則、流程、連線、隔離、自動化、入口還是產品化。
適合讀這一組的人:已經理解 settings、permissions、memory 和 MCP,想把重複流程做成 Skill,把大任務拆給 Subagents,把固定動作交給 Hooks,理解 / 命令體系,或把 Claude Code agent loop 接進自己的程式。
1. 這一組包含什麼
擴充套件與自動化一共 6 章:
- 檢視擴充套件能力地圖:先分清
CLAUDE.md、Rules、Skills、MCP、Subagents、Hooks、Commands、Plugins、Agent SDK 的職責。 - 使用 Skills:把重複流程、參考資料和可呼叫工作流沉澱成
SKILL.md。 - 配置 Subagents:用隔離上下文處理探索、審查、並行驗證和專門 worker。
- 使用 Hooks:在生命週期事件上做格式化、阻斷、通知、審計和自動化。
- 使用 Commands:理解 built-in commands、bundled skills、自定義 Skill commands、legacy commands 和 MCP prompts。
- 使用 Agent SDK:把 Claude Code 的 agent loop、工具、上下文、許可權和擴充套件能力放進 Python / TypeScript 程式。
flowchart TD
Map["擴充套件能力地圖"]
Skills["Skills:流程和知識"]
Subagents["Subagents:隔離 worker"]
Hooks["Hooks:確定性自動化"]
Commands["Commands:會話入口"]
SDK["Agent SDK:程式化入口"]
Map --> Skills
Map --> Subagents
Map --> Hooks
Skills --> Commands
Hooks --> Commands
Subagents --> SDK
Commands --> SDK
style Map fill:#e0f2fe,stroke:#0284c7,stroke-width:2px
style Hooks fill:#fef3c7,stroke:#f59e0b,stroke-width:2px
style SDK fill:#dcfce7,stroke:#22c55e,stroke-width:2px
2. 章節入口
檢視擴充套件能力地圖
先判斷問題屬於記憶、流程、連線、隔離、自動化、入口、分發還是產品化。
使用 Skills
用 SKILL.md 沉澱重複流程、參考資料、引數、動態上下文和 context fork。
配置 Subagents
隔離大量探索和專項審查,控制 tools、MCP、skills、memory、background 和 worktree。
使用 Hooks
用 PreToolUse、PostToolUse、PermissionRequest、Notification、Stop 等事件做確定性自動化。
使用 Commands
看懂 / 命令背後的 built-in、bundled skill、自定義 Skill command 和 MCP prompt。
使用 Agent SDK
把 Claude Code agent loop 接入 Python / TypeScript 程式,並處理許可權、sessions、結構化輸出和部署邊界。
3. 推薦閱讀順序
按能力演進順序讀:
- 先讀擴充套件能力地圖,不要還沒分清邊界就開始寫 Skill 或 Hook。
- 再讀 Skills,把重複出現的流程沉澱下來。
- 然後讀 Subagents,用隔離上下文處理大量探索和專項審查。
- 再讀 Hooks,把必須每次發生的動作變成確定性自動化。
- 再讀 Commands,理解會話內
/入口背後的實現型別。 - 最後讀 Agent SDK。只有當互動流程跑穩並需要程式化時,再進入 SDK。
按問題跳轉:
- 重複 prompt 太多:讀 Skills。
- 主會話被大量搜尋汙染:讀 Subagents。
- 必須每次格式化或阻斷危險命令:讀 Hooks。
- 不知道
/debug、/batch、/mcp__...是什麼:讀 Commands。 - 要做後臺 agent、CI agent、內部平臺:讀 Agent SDK。
- 想把能力分發給多個儲存庫:先讀 extension map,再看 Plugins 相關邊界。
4. 不要過早自動化
擴充套件能力越強,越需要前置邊界。
不要過早做這些:
- 把一次性提示詞做成 Skill。
- 把還不穩定的流程打包 Plugin。
- 用 Hook 自動執行生產釋出。
- 讓 Subagent 在不清楚許可權時後臺跑。
- 在 CLI 流程沒跑通前寫 Agent SDK。
- 接入大量 MCP 之後才想起來控制許可權。
擴充套件是沉澱,不是裝飾:真實重複出現、邊界清楚、可以驗收的工作,才值得變成 Skill、Hook、Subagent 或 SDK agent。
5. 完成後的驗收標準
讀完這一組,你應該能做到:
- 能用擴充套件地圖判斷該用哪一層。
- 能把重複 checklist 做成 Skill。
- 能解釋 Skill 和 Hook 的差別。
- 能讓 Subagent 做隔離探索,並限制工具邊界。
- 能寫基本的 PreToolUse / PostToolUse Hook。
- 能理解
/命令背後是 built-in、bundled skill、custom skill 還是 MCP prompt。 - 能判斷 Agent SDK 與 Claude Code CLI、Client SDK、Managed Agents 的邊界。
- 能在 SDK 裡處理工具許可權、sessions、structured output、MCP、Hooks 和觀測。