Claude Code 2.1:分叉上下文、热重载与自定义智能体指南
深入解析 Claude Code 2.1 skills 功能:分叉上下文、热重载和自定义智能体支持。通过真实示例和代码学习如何使用这些功能。

Claude Code 2.1 发布了三个从根本上改变您构建和运行智能体工作流方式的 skill 级功能:分叉上下文、热重载和自定义智能体支持。如果您一直只将 skills 用作美化的斜杠命令快捷方式,本指南将展示它们实际上能做什么。您将获得可用的 frontmatter 示例、具体的用例以及在 Claude Code 会话中完全组合多智能体流水线的思维模型。
为什么这三个功能重要
在 2.1 之前,skills 本质上是无状态的提示模板。每次调用都在您当前的对话中运行,共享——并可能污染——同一个上下文窗口。如果一个 skill 运行了长时间的批处理作业、走了一条错误的研究路径,或者只是生成了大量中间输出,所有这些都会进入您的主会话。
分叉上下文解决了隔离问题。热重载解决了迭代速度问题。自定义智能体支持解决了专业化问题。它们结合在一起,将 skills 从"智能宏"推进到完全的子智能体编排,您可以像 Unix 管道一样组合它们。
ClaudeSkills Hub 上的 context-engineering skill 涵盖了许多这些模式,如果您想在生产级智能体架构上有一个先发优势的话。skill-creator skill 也值得安装——它将帮助您在第一次尝试时就正确编写下面展示的 frontmatter。
分叉上下文:长时间运行任务的隔离
在任何 skill 的 frontmatter 中添加 context: fork 以在隔离的子会话中运行它。
---
name: deep-research
description: >
运行多步骤研究任务而不污染主会话。
当您需要深入调查一个主题并获得
干净摘要时使用。
context: fork
---
当用户调用这个 skill 时,Claude Code 会获取当前对话状态的快照并交给子智能体。该子智能体可以读写文件、调用工具,甚至大范围失败——这些都不会触及您的主上下文。当分叉完成时,Claude 将结果作为单条助手消息呈现。
何时使用分叉上下文:
- 生成大量中间输出的研究或分析任务,您不想滚动查看这些输出
- 批处理作业(重命名文件、对整个仓库进行 lint、生成测试 fixtures)
- 任何您希望有干净回滚语义的任务:如果分叉产生了糟糕的输出,直接丢弃
何时不使用:
- 您想在分叉内部进行来回交互的任务——分叉是自主运行的,不是对话式的
- 需要修改共享状态并让这些更改立即在主会话中可见的任务
一个好的真实世界示例:将分叉上下文与 context-engineering skill 的 exploration-agent 模式结合。您的主会话保持干净,同时分叉在 200 个源文件中搜索相关文件。
---
name: codebase-audit
description: >
审计代码库中的安全反模式并返回
优先级排序的发现报告。在分叉上下文中运行以避免
用文件搜索输出污染主会话。
context: fork
tools:
- Read
- Glob
- Grep
disable-model-invocation: false
---
你是一个安全审计员。系统性地扫描当前项目中的所有源文件,
查找以下模式:硬编码的密钥、SQL 字符串拼接、
缺少输入验证和使用已弃用的加密 API。
返回按严重性排序的 markdown 报告。不要输出中间搜索
结果——只输出最终的结构化发现。
热重载:无需重启即可迭代 Skills
在热重载之前,更新 skill 意味着要么重启 Claude Code(丢失会话)要么从头开始新会话。有了 2.1,编辑您的 SKILL.md 文件然后运行:
/reload-skills
您的 skill 定义立即更新。您的对话上下文保持不变。这个单一命令在实践中将 skill 开发迭代时间缩短了大约 80%——您现在可以在 15-30 分钟内构建和测试一个可用的 skill,而不是跨多次会话重启。
使用热重载的实际开发工作流:
- 创建带有粗略草稿的
SKILL.md - 使用
/your-skill-name调用 skill - 观察 Claude 做了什么(或做错了什么)
- 在编辑器中编辑
SKILL.md - 运行
/reload-skills - 再次调用——同一会话,更新的行为
这种紧凑的反馈循环使得迭代式编写 skills 变得实际可行,而不是试图一开始就写得完美。skill-creator skill 正是为利用这个工作流而设计的——它生成初稿,您改进它,热重载无仪式地带入更改。
文件监视提示: 如果您正在进行大量的 skill 开发,将热重载与编辑器的自动保存配对。往返变为:保存文件 → /reload-skills → 测试——一个您可以每 30 秒运行一次的循环。
自定义智能体支持:专家子智能体
agent frontmatter 字段让您指定 skill 运行时应使用哪个智能体配置。这与分叉上下文是分开的——一个 skill 可以使用自定义智能体而不分叉,或者分叉到自定义智能体中。
---
name: pr-reviewer
description: >
审查 pull request 的逻辑错误、安全问题和
风格违规。以 GitHub 审查评论的形式返回结构化反馈。
context: fork
agent: .claude/agents/strict-reviewer.md
tools:
- Bash
- Read
---
您的 .claude/agents/strict-reviewer.md 文件定义了该专家的个性、约束和工具权限。这将做什么(skill 的任务定义)与怎么做(智能体的操作模型)分开。
三种智能体定向选项:
| 字段值 | 行为 |
|---|---|
agent: explore | 使用内置的 Explore 智能体(只读,广泛搜索) |
agent: plan | 使用内置的 Plan 智能体(分析和分解) |
agent: .claude/agents/my-agent.md | 使用您的自定义智能体定义 |
自定义智能体只是带有描述智能体角色、允许的工具和任何系统级指令的 frontmatter 块的 markdown 文件。您可以维护一个专家库——严格的安全审查者、宽松的头脑风暴伙伴、简洁的代码生成器——并根据需要将它们组合到 skills 中。
示例自定义智能体定义:
---
name: strict-reviewer
description: >
一个专注于安全、正确性和性能的保守代码审查者。
产生简洁、可操作的反馈。永远不批准
有未测试边界情况的代码。
tools:
- Read
- Grep
- Bash
model: claude-opus-4-5
---
你是一位进行结构化代码审查的高级工程师。要具体
并引用行号。将任何模糊的内容标记为问题,
而不是阻碍。以 JSON 数组的形式返回审查评论。
组合全部三个:完整的流水线示例
这是一个使用所有三个功能的真实世界模式:研究到报告的流水线。
步骤 1:研究 skill(分叉,自定义智能体)
---
name: market-research
description: >
研究一个市场细分并返回结构化发现。
隔离运行以保持主会话干净。
context: fork
agent: .claude/agents/researcher.md
tools:
- WebSearch
- Read
- Bash
---
彻底研究以下市场细分。返回一个 JSON 对象,
键为:overview、key_players、growth_trends、risks、opportunities。
在行内引用来源。不要包含原始搜索输出。
步骤 2:报告 skill(正常上下文,消费研究输出)
---
name: generate-report
description: >
将结构化的市场研究 JSON 转换为高管级
PDF 报告。在 /market-research 之后调用。
tools:
- Read
- Bash
disable-model-invocation: false
---
取上一条消息中的市场研究 JSON 并生成
一份精美的高管报告。使用
scripts/generate-report.py 中的报告生成器脚本。完成后输出文件路径。
步骤 1 中的分叉将所有杂乱的搜索流量排除在您的会话之外。步骤 2 拿起干净的 JSON 输出并在主上下文中运行,您可以与之交互。
Frontmatter 中的 Hooks:隐藏的第四个功能
2.1 版本还添加了将生命周期 hooks 直接附加到 skill 的 frontmatter 的功能,而不需要单独的 hooks 配置文件。这比其他三个功能更小,但完善了整体图景。
---
name: safe-deploy
description: >
将当前分支部署到预发布环境。
运行预部署检查并在完成时通知 Slack。
disable-model-invocation: true
hooks:
pre-tool-use:
- command: "bash scripts/pre-deploy-check.sh"
on_failure: block
post-tool-use:
- command: "bash scripts/notify-slack.sh"
on_failure: warn
---
pre-tool-use hook 在 Claude 调用任何工具之前运行。设置 on_failure: block 意味着失败的检查将阻止 skill 继续——这正是您对部署等破坏性操作想要的。post-tool-use hook 在每次工具调用后触发,适用于日志记录或通知。
与 disable-model-invocation: true 结合,这种模式创建的 skills 行为更像经过验证的 shell 脚本而非对话式 AI——它们要么成功要么干净地失败,副作用在 frontmatter 级别而非 skill 指令中控制。
将现有 Skills 迁移到 2.1
如果您有在 2.1 之前编写的 skills,以下是最小迁移清单:
1. 识别分叉上下文的候选者
寻找生成大量中间输出的 skills:研究 skills、审计脚本、测试运行器。在它们的 frontmatter 中添加 context: fork。不需要其他更改。
2. 移除手动重载的变通方案
如果您有任何重启 Claude Code 以获取 skill 更改的脚本或别名,删除它们。/reload-skills 替代了所有这些。
3. 提取可复用的智能体个性
如果您的 skills 有描述特定"人设"(严格审查者、创意头脑风暴者、简洁总结者)的长系统提示部分,将这些部分移到 .claude/agents/ 文件中。使用 agent: 字段引用它们。这使得人设可以在多个 skills 之间复用,而无需复制粘贴。
4. 为有风险的 skills 添加 hooks
任何写文件、运行部署、发送消息或调用外部 API 的 skill 都应该有一个带确认或验证脚本的 pre-tool-use hook。对任何有不可逆副作用的 skill 应该开启 disable-model-invocation: true 标志。
此迁移完全向后兼容——没有这些新字段的 skills 继续与以前完全相同地工作。
接下来构建什么
这三个功能开启了 2.1 之前不实际的工作流:
- 并行研究:同时在不同主题上调用多个分叉的研究 skills,然后在主会话中综合
- 分阶段代码审查:分叉到严格审查者,单独分叉到性能审查者,在主会话中合并发现
- 安全重构:分叉尝试大型重构,检查 diff,决定是否应用
对于您今天就可以安装的现成模式,context-engineering skill 是最全面的起点——它专门为多智能体架构构建,涵盖上下文分叉、智能体组合和生产级编排模式。将它与 skill-seekers 配对,可以将任何文档转换为适合这些流水线的特定领域 skill。
Claude Code 2.1 版本将 skills 从便利功能转变为真正的编排层。claudeskills.info 上的 141+ skills 完整生态系统现在值得通过这个视角浏览——许多 skills 在与分叉上下文和自定义智能体结合时变得显著更强大。


