Skip to main content
Claude Code 结合了一个能够推理代码的模型和内置工具,用于文件操作、搜索、执行和网络访问。内置工具涵盖了大多数编码任务。本指南涵盖扩展层:您添加的功能,用于自定义 Claude 的知识、将其连接到外部服务并自动化工作流。
有关核心代理循环如何工作的信息,请参阅Claude Code 如何工作
初次使用 Claude Code?CLAUDE.md开始了解项目约定。根据需要添加其他扩展。

概述

扩展插入代理循环的不同部分:
  • CLAUDE.md 添加 Claude 每个会话都能看到的持久上下文
  • Skills 添加可重用的知识和可调用的工作流
  • MCP 将 Claude 连接到外部服务和工具
  • Subagents 在隔离的上下文中运行自己的循环,返回摘要
  • Agent teams 协调多个独立会话,具有共享任务和点对点消息传递
  • Hooks 完全在循环外运行作为确定性脚本
  • Pluginsmarketplaces 打包和分发这些功能
Skills 是最灵活的扩展。Skill 是一个包含知识、工作流或说明的 markdown 文件。您可以使用斜杠命令(如 /deploy)调用 skills,或者 Claude 可以在相关时自动加载它们。Skills 可以在您当前的对话中运行,也可以通过 subagents 在隔离的上下文中运行。

将功能与您的目标相匹配

功能范围从 Claude 每个会话都能看到的始终开启的上下文,到您或 Claude 可以调用的按需功能,再到在特定事件上运行的后台自动化。下表显示了可用的功能以及何时使用每个功能。
功能作用何时使用示例
CLAUDE.md每次对话加载的持久上下文项目约定、“始终执行 X”规则”使用 pnpm,而不是 npm。在提交前运行测试。“
SkillClaude 可以使用的说明、知识和工作流可重用内容、参考文档、可重复任务/review 运行您的代码审查清单;带有端点模式的 API 文档 skill
Subagent返回摘要结果的隔离执行上下文上下文隔离、并行任务、专门工作者读取许多文件但仅返回关键发现的研究任务
Agent teams协调多个独立的 Claude Code 会话并行研究、新功能开发、使用竞争假设进行调试生成审查者同时检查安全性、性能和测试
MCP连接到外部服务外部数据或操作查询您的数据库、发布到 Slack、控制浏览器
Hook在事件上运行的确定性脚本可预测的自动化,不涉及 LLM每次文件编辑后运行 ESLint
Plugins 是打包层。Plugin 将 skills、hooks、subagents 和 MCP servers 捆绑到单个可安装单元中。Plugin skills 是命名空间的(如 /my-plugin:review),因此多个 plugins 可以共存。当您想在多个存储库中重用相同的设置或通过 marketplace 分发给他人时,使用 plugins。

比较相似的功能

某些功能可能看起来相似。以下是如何区分它们。
Skills 和 subagents 解决不同的问题:
  • Skills 是可重用的内容,您可以将其加载到任何上下文中
  • Subagents 是与主对话分开运行的隔离工作者
方面SkillSubagent
它是什么可重用的说明、知识或工作流具有自己上下文的隔离工作者
主要优势在上下文之间共享内容上下文隔离。工作单独进行,仅返回摘要
最适合参考材料、可调用的工作流读取许多文件的任务、并行工作、专门工作者
Skills 可以是参考或操作。 参考 skills 提供 Claude 在整个会话中使用的知识(如您的 API 风格指南)。操作 skills 告诉 Claude 执行特定操作(如运行您的部署工作流的 /deploy)。当您需要上下文隔离或上下文窗口变满时,使用 subagent。Subagent 可能读取数十个文件或运行广泛的搜索,但您的主对话仅接收摘要。由于 subagent 工作不消耗您的主上下文,当您不需要中间工作保持可见时,这也很有用。自定义 subagents 可以有自己的说明,并可以预加载 skills。它们可以结合。 Subagent 可以预加载特定的 skills(skills: 字段)。Skill 可以使用 context: fork 在隔离的上下文中运行。有关详细信息,请参阅 Skills

了解功能如何分层

功能可以在多个级别定义:用户范围、按项目、通过 plugins 或通过托管策略。您还可以在子目录中嵌套 CLAUDE.md 文件或在 monorepo 的特定包中放置 skills。当相同的功能存在于多个级别时,以下是它们的分层方式:
  • CLAUDE.md 文件 是累加的:所有级别同时向 Claude 的上下文贡献内容。来自您的工作目录及以上的文件在启动时加载;子目录在您在其中工作时加载。当说明冲突时,Claude 使用判断来协调它们,更具体的说明通常优先。有关详细信息,请参阅Claude 如何查找记忆
  • Skills 和 subagents 按名称覆盖:当相同的名称存在于多个级别时,一个定义根据优先级获胜(对于 skills 为托管 > 用户 > 项目;对于 subagents 为托管 > CLI 标志 > 项目 > 用户 > plugin)。Plugin skills 是命名空间的以避免冲突。有关详细信息,请参阅 skill 发现subagent 范围
  • MCP servers 按名称覆盖:本地 > 项目 > 用户。有关详细信息,请参阅 MCP 范围
  • Hooks 合并:所有注册的 hooks 为其匹配的事件触发,无论来源如何。有关详细信息,请参阅 hooks

组合功能

每个扩展解决不同的问题:CLAUDE.md 处理始终开启的上下文,skills 处理按需知识和工作流,MCP 处理外部连接,subagents 处理隔离,hooks 处理自动化。真实的设置根据您的工作流组合它们。 例如,您可能使用 CLAUDE.md 处理项目约定、使用 skill 处理部署工作流、使用 MCP 连接到数据库,以及使用 hook 在每次编辑后运行 linting。每个功能处理它最擅长的事情。
模式工作原理示例
Skill + MCPMCP 提供连接;skill 教导 Claude 如何很好地使用它MCP 连接到您的数据库,skill 记录您的架构和查询模式
Skill + SubagentSkill 为并行工作生成 subagents/review skill 启动在隔离上下文中工作的安全性、性能和风格 subagents
CLAUDE.md + SkillsCLAUDE.md 保存始终开启的规则;skills 保存按需加载的参考材料CLAUDE.md 说”遵循我们的 API 约定”,skill 包含完整的 API 风格指南
Hook + MCPHook 通过 MCP 触发外部操作编辑后 hook 在 Claude 修改关键文件时发送 Slack 通知

了解上下文成本

您添加的每个功能都会消耗 Claude 的一些上下文。太多可能会填满您的上下文窗口,但它也可能增加噪音,使 Claude 效率降低;skills 可能无法正确触发,或 Claude 可能会忘记您的约定。了解这些权衡有助于您构建有效的设置。

按功能的上下文成本

每个功能都有不同的加载策略和上下文成本:
功能何时加载加载内容上下文成本
CLAUDE.md会话开始完整内容每个请求
Skills会话开始 + 使用时启动时的描述,使用时的完整内容低(每个请求的描述)*
MCP servers会话开始所有工具定义和架构每个请求
Subagents生成时具有指定 skills 的新上下文与主会话隔离
Hooks触发时无(外部运行)零,除非 hook 返回额外上下文
*默认情况下,skill 描述在会话开始时加载,以便 Claude 可以决定何时使用它们。在 skill 的 frontmatter 中设置 disable-model-invocation: true 以将其从 Claude 完全隐藏,直到您手动调用它。这将仅在您自己触发的 skills 的上下文成本降低到零。

了解功能如何加载

每个功能在会话的不同点加载。下面的选项卡说明每个功能何时加载以及什么进入上下文。 上下文加载:CLAUDE.md 和 MCP 在会话开始时加载并保留在每个请求中。Skills 在启动时加载描述,在调用时加载完整内容。Subagents 获得隔离的上下文。Hooks 外部运行。
何时: 会话开始加载内容: 所有 CLAUDE.md 文件的完整内容(托管、用户和项目级别)。继承: Claude 从您的工作目录读取 CLAUDE.md 文件到根目录,并在访问这些文件时在子目录中发现嵌套的文件。有关详细信息,请参阅Claude 如何查找记忆
保持 CLAUDE.md 在约 500 行以下。将参考材料移到按需加载的 skills。

了解更多

每个功能都有自己的指南,包含设置说明、示例和配置选项。
Last modified on February 12, 2026