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

概述

扩展插入代理循环的不同部分:
  • CLAUDE.md 添加 Claude 每个会话都能看到的持久上下文
  • Skills 添加可重用的知识和可调用的工作流
  • 代码智能 将 Claude 连接到语言服务器,用于符号级导航和实时类型错误
  • MCP 将 Claude 连接到外部服务和工具
  • Subagents 在隔离的上下文中运行自己的循环,返回摘要
  • Agent teams 协调多个独立会话,具有共享任务和点对点消息传递
  • Hooks 在生命周期事件上触发,可以运行脚本、HTTP 请求、提示或 subagent
  • Pluginsmarketplaces 打包和分发这些功能
Skills 是最灵活的扩展。Skill 是一个包含知识、工作流或说明的 markdown 文件。您可以使用 /deploy 之类的命令调用 skills,或者 Claude 可以在相关时自动加载它们。Skills 可以在您当前的对话中运行,也可以通过 subagents 在隔离的上下文中运行。

将功能与您的目标相匹配

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

随时间推移构建您的设置

您不需要提前配置所有内容。每个功能都有一个可识别的触发器,大多数团队大致按以下顺序添加它们:
触发器添加
Claude 两次出错约定或命令将其添加到 CLAUDE.md
您一直在输入相同的提示来启动任务将其保存为用户可调用的 skill
您第三次将相同的剧本或多步骤过程粘贴到聊天中将其捕获为 skill
您一直在从 Claude 看不到的浏览器标签页复制数据将该系统连接为 MCP server
Claude 读取许多文件以查找符号的定义或使用位置为您的语言安装 code intelligence plugin
一个辅助任务用您不会再次引用的输出淹没您的对话通过 subagent 路由它
您希望每次都发生某事而无需询问编写 hook
第二个存储库需要相同的设置将其打包为 plugin
相同的触发器告诉您何时更新您已有的内容。重复的错误或反复出现的审查评论是 CLAUDE.md 编辑,而不是聊天中的一次性更正。您一直手动调整的工作流是需要另一次修订的 skill。

比较相似的功能

某些功能可能看起来相似。以下是如何区分它们。
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.md 文件如何加载
  • Skills 和 subagents 按名称覆盖:当相同的名称存在于多个级别时,一个定义根据优先级获胜(对于 skills 为托管 > 用户 > 项目;对于 subagents 为托管 > CLI 标志 > 项目 > 用户 > plugin)。Plugin skills 是 命名空间的 以避免冲突。有关详细信息,请参阅 skill 发现subagent 范围
  • MCP 服务器 按名称覆盖:本地 > 项目 > 用户。有关详细信息,请参阅 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/audit 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 服务器会话开始工具名称;完整架构按需低,直到使用工具
Code intelligence文件编辑后和按需编辑后的诊断;符号查找时的位置信息低;减少其他地方的文件读取
Subagents生成时具有指定 skills 的新鲜上下文与主会话隔离
Hooks触发时无(外部运行)零,除非 hook 返回额外上下文
*默认情况下,skill 描述在会话开始时加载,以便 Claude 可以决定何时使用它们。在 skill 的 frontmatter 中设置 disable-model-invocation: true 以将其完全隐藏在 Claude 中,直到您手动调用它。这将 skills 的上下文成本降低到零,您只需自己触发这些 skills。对于您未编写的 skill,在设置中设置 skillOverrides 以在不编辑其文件的情况下执行相同操作。

了解功能如何加载

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

了解更多

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

CLAUDE.md

存储项目上下文、约定和说明

Skills

给予 Claude 领域专业知识和可重用的工作流

Subagents

将工作卸载到隔离的上下文

Agent teams

协调多个并行工作的会话

MCP

将 Claude 连接到外部服务

Hooks

使用 hooks 自动化工作流

Plugins

捆绑和共享功能集

Marketplaces

托管和分发 plugin 集合