在 Skills 独立总图 中,本节对应 E 目标执行上下文。默认当前会话与可选 fork 分开看,再单独讨论等待或后台执行。

本节的预加载子 Agent 配置、文件位置与实验步骤见 S07.10 完整示例附录。

我想弄清楚的问题

加载 Skill 后,工作一定由主 Agent 做吗?如果 context: fork 启动了子 Agent,它知道之前聊了什么?主 Agent 会停下来等它吗?

这些问题需要分别看正文被交给谁、子 Agent 的起始上下文,以及调度方式。

默认 inline:正文进入当前对话

E · 同一份 Skill,交给哪个执行上下文默认 inline 与可选 fork 是两条分支;是否后台运行另由配置与环境决定。E · 同一份 Skill,交给哪个执行上下文默认 inline 与可选 fork 是两条分支;是否后台运行另由配置与环境决定。准备好的正文目标、步骤与范围已处理调用参数默认:当前会话结合现有对话正文进入当前上下文主 Agent 继续工作沿既有工具循环执行输出结果可选:fork 子上下文正文作为子任务不自动继承完整父对话结果交回主会话工具、权限由 agent 配置等待 / 后台分开判断预加载 skills 是另一种组合入口;不要把 fork、预加载和后台执行当作同一开关。
颜色与线型
  • 蓝色:已有且保留
  • 橙色:修改/职责迁移(本图未用)
  • 紫色:本节核心机制
  • 红色虚线:真实移除(本图未用)
  • 灰色实线框:存储/辅助节点(本图未用)
  • 灰色虚线框:细节合并,功能保留(本图未用)
  • 灰字:来源/补充说明
  • 灰色虚线:关联,不是执行回环
  • 实线箭头:流程/数据方向
  • 紫色虚线框:可选/按需分支
先判断正文交给谁,再判断如何调度。fork 是可选分支;它不是每次 Skill 调用都必须经过的步骤。预加载 skills 则是本节末尾的另一种组合。左右滑动查看全图。

前面的最小 review-diff 没有配置 context: fork。正文进入当前对话,主 Agent 可以结合已有背景按 Skill 步骤审查。

因此它适合依赖当前讨论的任务。它也会占用当前对话的上下文,读取资料和工具结果同样留在这里。

fork:把 Skill 作为子 Agent 的任务

一个独立的增强版本可以配置:

---
name: review-diff
description: 独立审查当前仓库未提交改动。
context: fork
agent: general-purpose
background: false
---

检查当前 Git 仓库的未提交改动。
先确认文件范围,再检查 diff 和相关上下文。
输出文件位置、触发条件、影响及未覆盖范围。
只提交审查报告。

应用创建所选类型的子 Agent,把 Skill 内容作为任务交给它。该子 Agent 不会因为 fork 这个字段名就继承主聊天的全部历史。

如果我刚才口头说“只检查 API 层”,这份正文却没有范围,子 Agent 不能依赖那段父对话补齐。需要把范围明确写入 Skill 或传入参数。依据:在子 Agent 中运行 Skill。

等待,还是后台工作

按 2026-10-01 官网,从 Claude Code v2.1.218 起,fork Skill 默认可在后台执行;这里显式设置 background: false,才要求当前 turn 等它返回。

情况主会话如何继续
fork Skill,默认后台且环境支持主会话可以继续,结果完成后送回
background: false等结果返回
-p / Agent SDK 等非交互情况官网说明仍会等待

禁用后台任务、同一技能已有运行中的调用等情况也会影响等待方式。后台子 Agent 的可用工具还有额外限制,不能只根据一个字段推断所有环境的行为。

S06 本地教学版是普通同步函数调用;现代 Skill 的后台调度机制是这里额外增加的产品能力。

上下文隔离不自动复制工作区

context: fork 描述的是子 Agent 上下文。普通子 Agent 会从主会话的工作目录开始;单凭这个字段,不能认为文件操作也被隔离了。

若需要独立的 Git 工作树,Claude Code 的自定义子 Agent 支持另行配置 isolation: worktree。这是子 Agent 配置里的另一项能力,不是 Skill 的 context 字段自动附带的效果。

依据:子 Agent 的工作目录与 isolation。

另一种组合:子 Agent 预加载 Skill

也可以在自定义子 Agent 中写 skills 字段。下面是基于第一节 inline Skill 的独立组合:

---
name: review-worker
description: 按统一审查方法检查委派的改动。
skills:
  - review-diff
---
根据委派消息确定审查范围,按预加载的方法输出报告。

这时 Skill 全文在子 Agent 启动时就进入它的上下文。它不必先通过目录描述决定加载这份方法;真正的任务范围仍由委派消息提供。

skills 指定预加载内容,不等于限制它只能使用这些技能。是否能继续调用其他 Skill,要看子 Agent 的可用工具与调用权限。手动调用专用的技能也不能任意预加载。依据:子 Agent 预加载技能。

我的理解

Skill 决定提供哪套指令,子 Agent 配置决定谁执行和有哪些工具,后台设置决定主会话是否等待。上下文、调度和文件工作区应分别检查;子 Agent 返回报告后,主 Agent 仍要依据证据判断结果是否足够。

上一节 · 下一节:怎样验证效果