claude-handoff 技能详解:用claude --bg将当前会话无缝移交给后台 Agent
【免费下载链接】skillsSkills for Real Engineers. Straight from my .agents directory.项目地址: https://gitcode.com/GitHub_Trending/skills13/skills
导读
本文讲解 Skills 仓库中claude-handoff这一实战技能的完整设计与用法。它解决的是 Agent 协作中最常见的一类痛点:会话上下文无法跨越新开的会话窗口。读完本文,你将掌握如何通过一条claude --bg命令,把当前对话压缩成交接摘要并立即播种给一个全新后台 Agent,让新 Agent 无需你重新解释任何背景,直接接手继续工作。
技能定位:一次会话间的“无缝交接”
claude-handoff是 Skills 仓库中位于in-progress桶(Beta 阶段)的一项用户调用型技能,其定义文件位于 skills/in-progress/claude-handoff/SKILL.md。该桶下的技能“公开供试用、欢迎反馈,但未随插件发布、没有文档页,可能随时变化或消失”,见 in-progress 桶说明。
技能的核心定义如下(摘自 frontmatter):
name: claude-handoff description: Hand the current conversation off to a fresh background agent that picks up the work immediately. argument-hint: "What will the next session be used for?" disable-model-invocation: true三个元字段决定了它的调用方式与边界:
name:技能的唯一标识,也是用户在 Agent 中调用的命令名。argument-hint:提示用户在调用时需要附带一个参数——描述“下一个会话要用来做什么”,这个参数会被用于定制交接摘要。disable-model-invocation: true:关闭模型自动调用,即该技能只能由用户手动调用(输入/claude-handoff),Agent 不会在任务中自行触发它。这与仓库的调用机制约定一致:AGENTS.md中规定,SKILL.md里disable-model-invocation: true与 agents/openai.yaml 中的policy.allow_implicit_invocation: false配套使用,表示“仅人类可到达”。对应地,openai.yaml中display_name为Claude Handoff,short_description为Hand off to a background agent,并同样将隐式调用关闭。
核心工作流:摘要即 Prompt,一条命令完成交接
claude-handoff与“把交接内容写成文档保存”的思路不同,它的做法是:不落盘保存,而是直接把交接摘要作为 prompt 播种给一个后台 Agent。SKILL.md 中给出的核心命令是:
claude --bg --name "<descriptive name>" "<handoff summary>"这条命令的行为可以拆解为四个关键点:
--bg(后台模式):以后台任务方式启动一个全新的 Agent 会话,而不是阻塞当前终端。命令执行后立即返回,你可以继续在当前会话中工作。--name "<descriptive name>":为后台任务设置一个描述性名称(如--name "Fix login bug")。SKILL.md 明确要求总是传入-n/--name,因为这个名称会显示在任务列表、会话选择器和终端标题中,是你在众多后台任务中识别它的唯一入口。"<handoff summary>"(交接摘要即 prompt):摘要内容直接作为新 Agent 的初始提示词,新 Agent 会以“完成这项摘要所述工作”为第一指令开始行动。- 启动环境:后台 Agent 从当前工作目录启动,因此它能直接看到你正在处理的仓库、文件与上下文;而用户则通过
claude agents命令统一管理这些后台任务(查看列表、跟踪进度、取回结果)。
从技能文档还可以提炼出摘要“怎么写”的三条硬性规范,它们共同决定了新 Agent 能否真正做到“立即接手”:
规范一:必须包含 “suggested skills” 段
摘要中需要包含一个suggested skills(建议技能)小节,明确指出下一个 Agent 应当调用 Skill 工具加载哪些技能。这相当于把“接下来该用什么方法论”也一并移交,避免新 Agent 从零摸索工作方式。例如,若交接的是一个排错任务,摘要中应建议加载diagnosing-bugs;若交接的是测试驱动开发任务,则应建议加载tdd。
规范二:引用而非复制既有产物
摘要不得重复规格书、计划、ADR、Issue、commit、diff 中已经记录的内容,而应改为引用其路径或 URL。这样做的收益是双重的:摘要保持短小精悍,新 Agent 不会被冗余信息淹没;同时已沉淀的细节只保留一处来源,不会出现“文档与摘要各有一份、逐渐漂移”的维护负担。
规范三:脱敏是强制要求
由于摘要将成为新 Agent 的 prompt(可能被持久化、被日志记录),任何敏感信息都必须先行抹除,包括但不限于:
- API Key、访问令牌、密码等凭据;
- 个人身份信息(PII)。
交接前应像审查代码一样审查摘要中的每一句断言,尤其警惕“把假设写成事实”(例如“X 没构建”“Y 已完成”这类并未被会话验证的说法)。新 Agent 会把摘要当作契约文本,通常不会重新核查,因此一个写成了事实的信念会变成后续所有工作的错误前提。
参数定制:argument 决定摘要的聚焦点
SKILL.md 规定:如果用户传入了参数,则将其视为对“下一个会话将专注什么”的描述,并据此调整摘要内容。也就是说,摘要不是对会话的机械转储,而是围绕“下一个会话要做什么”这个目标做定向压缩——推理过程、未决问题、下一步动作等与目标相关的部分要保留,无关部分可以省略。
与同类方案的分工:/compact、/clear、handoff与 fork
要真正用好claude-handoff,需要先看清它与其他会话边界方案的分工。仓库中已上架的 handoff 技能 与它同源但做法不同:handoff把当前会话压缩成一份交接文档,写入操作系统临时目录而不是工作区,供新会话读取;而claude-handoff的差异恰如其文所述——“Instead of saving it, launch a background agent seeded with the summary as its prompt”,即跳过落盘,直接把摘要作为 prompt 启动后台 Agent。
配套的文档页 docs/productivity/handoff.md 给出了四个方案的完整对照,可用于理解claude-handoff的适用边界:
| 方案 | 保留什么 | 适用场景 |
|---|---|---|
/compact | 保留你的意图 | 压缩当前上下文、换新窗口继续同一任务 |
/clear | 什么都不保留 | 身后的一切都可丢弃时 |
handoff(写临时文件) | 保留工作可移动性 | 换 harness、换目录、交给同事、分叉子任务 |
claude-handoff(claude --bg) | 保留工作并行性 | 同一目录下,边工作边把当前上下文交给后台 Agent 立即接手 |
三种操作都会把“主源”(会话本身)转化为“次源”(对会话的摘要),只有“继续”不产生这种转化。因此决定顺序应是:能继续就继续,/compact是默认动作,/clear只在确定可丢弃时使用,而交接类技能(handoff或claude-handoff)服务于“工作必须移动或并行”的场景。
其中分叉(fork)场景最值得刻意练习:你留在当前会话中继续推进,同时把已累积的上下文副本交给第二个 Agent 并行工作。典型如prototype技能的使用路径——设计讨论进行到深处,遇到只有运行代码才能回答的问题,就可以把问题交给一个后台原型会话去验证,答案拿回来后引用回原线程,实现“两次跨越、一条活会话、无需重新解释”。后台 Agent 模式下,你的原始会话在你回来时依然原封不动。
安装与版本状态:Beta 技能如何获取
由于claude-handoff处于in-progress桶,它不会出现在 Claude Code 插件的已发布技能列表中,也不会在顶层 README 中登记。需要直接通过 skills 安装器单独安装(可参照 in-progress 桶说明 给出的方式):
npx skills@latest add mattpocock/skills --skill=claude-handoff需要明确的前提与限制:
- 该技能处于Beta阶段,作者明确表示“欢迎试用并反馈问题”,它可能随时被修改或移除,且没有配套的文档页(
AGENTS.md规定非推广桶的技能不写文档页); - 使用前请确认你的环境支持
claude --bg后台任务模式与claude agents管理命令; - 后台 Agent 从当前工作目录启动,因此请确保在目标仓库目录下调用该技能,新 Agent 才能正确看到工作上下文。
使用清单:交接前快速自检
综合 SKILL.md 与配套文档,一次合格的claude-handoff交接应满足以下条件:
- 摘要只是会话的一小部分,规格、Issue、diff 以路径/URL 形式出现,而非复制正文;
- 脱离原始会话、冷读摘要即可知道下一步该做什么;
- 新 Agent 直接开始工作,而不是反过来向你追问设置细节;
- 摘要中的 “suggested skills” 段命中了你自己会为这个任务选择的技能;
- 摘要在通过
claude --bg传参时未因反引号或$(...)等 shell 元字符而被破坏——若摘要包含此类字符,优先通过文件路径引用而不是把摘要直接插进命令行; - 摘要中不包含任何 key、token 或密码;
- 交接完成后,用
claude agents确认后台任务已按预期名称启动并开始运行。
【免费下载链接】skillsSkills for Real Engineers. Straight from my .agents directory.项目地址: https://gitcode.com/GitHub_Trending/skills13/skills
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考