有关核心代理循环如何工作的信息,请参阅 Claude Code 如何工作。
概述
扩展插入代理循环的不同部分:- CLAUDE.md 添加 Claude 每个会话都能看到的持久上下文
- Skills 添加可重用的知识和可调用的工作流
- 代码智能 将 Claude 连接到语言服务器,用于符号级导航和实时类型错误
- MCP 将 Claude 连接到外部服务和工具
- Subagents 在隔离的上下文中运行自己的循环,返回摘要
- Agent teams 协调多个独立会话,具有共享任务和点对点消息传递
- Hooks 在生命周期事件上触发,可以运行脚本、HTTP 请求、提示或 subagent
- Plugins 和 marketplaces 打包和分发这些功能
/deploy 之类的命令调用 skills,或者 Claude 可以在相关时自动加载它们。Skills 可以在您当前的对话中运行,也可以通过 subagents 在隔离的上下文中运行。
将功能与您的目标相匹配
功能范围从 Claude 每个会话都能看到的始终开启的上下文,到您或 Claude 可以调用的按需功能,再到在特定事件上运行的后台自动化。下表显示了可用的功能以及何时使用每个功能。
Plugins 是打包层。Plugin 将 skills、hooks、subagents 和 MCP servers 捆绑到单个可安装单元中。Plugin skills 是命名空间的(如
/my-plugin:review),因此多个 plugins 可以共存。当您想在多个存储库中重用相同的设置或通过 marketplace 分发给他人时,使用 plugins。
随时间推移构建您的设置
您不需要提前配置所有内容。每个功能都有一个可识别的触发器,大多数团队大致按以下顺序添加它们:
相同的触发器告诉您何时更新您已有的内容。重复的错误或反复出现的审查评论是 CLAUDE.md 编辑,而不是聊天中的一次性更正。您一直手动调整的工作流是需要另一次修订的 skill。
比较相似的功能
某些功能可能看起来相似。有关选择它们之间的更深入演练,请参阅博客上的 Steering Claude Code: when to use CLAUDE.md, skills, hooks, and subagents。以下是如何区分它们。- Skill vs Subagent
- CLAUDE.md vs Skill
- CLAUDE.md vs Rules vs Skills
- Subagent vs Agent team
- MCP vs Skill
- Hook vs Skill
Skills 和 subagents 解决不同的问题:
- Skills 是可重用的内容,您可以将其加载到任何上下文中
- Subagents 是与您的主对话分开运行的隔离工作者
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。每个功能处理它最擅长的事情。了解上下文成本
您添加的每个功能都会消耗 Claude 的一些上下文。太多可能会填满您的上下文窗口,但它也可能增加噪音,使 Claude 效率降低;skills 可能无法正确触发,或 Claude 可能会失去对您的约定的跟踪。了解这些权衡有助于您构建有效的设置。有关这些功能如何在运行会话中组合的交互式视图,请参阅 探索上下文窗口。按功能的上下文成本
每个功能都有不同的加载策略和上下文成本:
*默认情况下,skill 描述在会话开始时加载,以便 Claude 可以决定何时使用它们。在 skill 的 frontmatter 中设置
disable-model-invocation: true 以将其完全隐藏在 Claude 中,直到您手动调用它。这将 skills 的上下文成本降低到零,您只需自己触发这些 skills。对于您未编写的 skill,在设置中设置 skillOverrides 以在不编辑其文件的情况下执行相同操作。
了解功能如何加载
每个功能在会话的不同点加载。下面的选项卡解释了每个功能何时加载以及什么进入上下文。- CLAUDE.md
- Skills
- MCP 服务器
- Code intelligence
- Subagents
- Hooks
何时: 会话开始加载内容: 所有 CLAUDE.md 文件的完整内容(托管、用户和项目级别)。继承: Claude 从您的工作目录读取 CLAUDE.md 文件直到根目录,并在访问这些文件时发现子目录中的嵌套文件。有关详细信息,请参阅 CLAUDE.md 文件如何加载。
了解更多
每个功能都有自己的指南,包含设置说明、示例和配置选项。CLAUDE.md
存储项目上下文、约定和说明
Skills
给予 Claude 领域专业知识和可重用的工作流
Subagents
将工作卸载到隔离的上下文
Agent teams
协调多个并行工作的会话
MCP
将 Claude 连接到外部服务
Hooks
使用 hooks 自动化工作流
Plugins
捆绑和共享功能集
Marketplaces
托管和分发 plugin 集合