扩展与自动化
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 和观测。