Claude Code 内置工具已经覆盖大多数编码任务。但当你需要自定义知识、连接外部服务或自动化工作流时,扩展层能大幅提升效率。本文是所有扩展能力的选型指南。
六大扩展能力一览
| 扩展能力 | 作用 | 何时使用 | 示例 |
|---|---|---|---|
| CLAUDE.md | 每次对话都加载的持久上下文 | 项目约定、「始终做 X」规则 | 「用 pnpm 不用 npm,提交前先跑测试」 |
| Skill | 可复用的知识、工作流、参考文档 | 参考资料、可重复任务 | /review 执行你的代码审查清单;API 文档 Skill |
| Subagent | 隔离执行上下文,返回摘要结果 | Context 隔离、并行任务、专项工作者 | 读取大量文件的调研任务,只返回关键发现 |
| Agent Teams | 协调多个独立的 Claude Code 会话 | 需要讨论和协作的复杂工作 | 同时派出 Security/Performance/Test 三个审查员 |
| MCP | 连接外部服务 | 外部数据或操作 | 查询数据库、发 Slack 消息、控制浏览器 |
| Hooks | 确定性脚本,响应特定事件 | 可预测的自动化,不需要 LLM | 每次文件编辑后运行 ESLint |
Plugins 是打包层:将 Skills、Hooks、Subagents、MCP 服务器打包为单个可安装单元,通过 Marketplace 分发。
相似能力如何选择
Skill vs Subagent
| 维度 | Skill | Subagent |
|---|---|---|
| 本质 | 可复用的指令/知识/工作流 | 独立的工作者,有自己的 Context |
| 核心优势 | 跨上下文共享内容 | Context 隔离,工作独立进行,只返回摘要 |
| 最适合 | 参考资料、可调用工作流 | 读取大量文件的任务、并行工作、专项工作者 |
- 用 Skill:当你需要 Claude 在会话中随时可查阅的知识(API 风格指南),或触发
/<name>命令的工作流(/deploy) - 用 Subagent:当任务需要 Context 隔离,或 Context 窗口快满了——Subagent 读几十个文件或大量搜索,主对话只收到摘要
CLAUDE.md vs Skill
| 维度 | CLAUDE.md | Skill |
|---|---|---|
| 加载时机 | 每次会话自动加载 | 按需加载(被调用时) |
| 可触发工作流 | ❌ | ✅(/<name> 命令) |
| 最适合 | 「始终做 X」规则 | 有时需要的参考资料,或可触发的工作流 |
经验法则:CLAUDE.md 保持在 200 行以内。增长过快时,把参考内容移到 Skills 或 .claude/rules/ 文件。
CLAUDE.md vs Rules vs Skills 三选一
| CLAUDE.md | .claude/rules/ | Skill | |
|---|---|---|---|
| 加载时机 | 每次会话 | 每次会话,或匹配文件时 | 按需 |
| 作用范围 | 整个项目 | 可限定到特定文件路径 | 特定任务 |
| 最适合 | 核心约定和构建命令 | 语言/目录特定规范 | 参考资料、可重复工作流 |
Subagent vs Agent Teams
| 维度 | Subagent | Agent Teams |
|---|---|---|
| Context | 独立 Context,结果返回给调用者 | 独立 Context,完全独立 |
| 通信方式 | 只向主 Agent 汇报 | 队友之间可以直接互发消息 |
| 协调方式 | 主 Agent 管理所有工作 | 共享任务列表 + 自我协调 |
| 最适合 | 只需要结果的专项任务 | 需要讨论和协作的复杂工作 |
| Token 成本 | 较低:结果摘要返回主 Context | 较高:每个队友是独立的 Claude 实例 |
转折点:并行运行 Subagents 但遇到 Context 限制,或 Subagents 需要互相通信时,升级到 Agent Teams。
MCP vs Skill
| 维度 | MCP | Skill |
|---|---|---|
| 提供 | 工具和数据访问 | 知识、工作流、参考资料 |
| 示例 | Slack 集成、数据库查询、浏览器控制 | 代码审查清单、部署工作流、API 风格指南 |
组合使用:MCP 给 Claude 连接外部系统的能力;Skill 教 Claude 如何有效使用这些工具,包含你的数据模型、常用查询模式等。
能力分层与优先级
当同一功能在多个层面定义时:
- CLAUDE.md 文件:累加式,所有层级同时贡献内容。指令冲突时 Claude 用判断调和,更具体的指令通常优先。
- Skills 和 Subagents:同名时高优先级覆盖低优先级(managed > user > project for skills)
- MCP 服务器:同名时 local > project > user
- Hooks:合并,所有注册的 Hook 都会触发
理解各扩展的 Context 成本
| 扩展能力 | Context 消耗 | 说明 |
|---|---|---|
| CLAUDE.md | 每次会话全量 | 每条消息都要消耗 |
| Skills(全局) | 会话开始时加载描述 | 调用时加载完整内容 |
| Skills(手动触发) | 调用时才加载 | disable-model-invocation: true 可完全延迟 |
| MCP 服务器 | 每次请求都加载工具定义 | 即使空闲也消耗 Context |
| Subagents | 独立 Context,只返回摘要 | 不占用主对话 Context |
| Agent Teams | 每个队友独立 Context | 约是单会话的 7 倍 Token |
| Hooks | 0(在循环外运行) | 确定性脚本,不涉及 LLM |
实战组合案例
数据库开发工作流:
- MCP 服务器连接 PostgreSQL
- Skill 包含数据库 Schema 和常用查询模式
- Hook 在每次 SQL 文件编辑后自动运行 linter
- Subagent 读取大量日志文件并返回性能分析摘要
代码审查流程:
- CLAUDE.md 包含团队编码规范(构建命令、分支命名)
- Skill(
/review)包含完整的代码审查清单 - Agent Teams:Security 审查员 + Performance 审查员 + Test 覆盖审查员并行工作
CI/CD 自动化:
- Hooks 在文件保存后自动运行测试
- Subagent 在后台读取测试日志并返回失败摘要
- MCP 连接 GitHub,自动创建 PR
原文:Extend Claude Code | 来源:Anthropic 官方文档