Skill Learning

handoff

1. Bilingual SKILL.md

左右滑动可直接切换英文版与中文版;两种语言按段落自动对齐。英文中的蓝色虚线词语可点击查看解释。共标记 8 处。

入口 skill:handoff左右滑动切换语言 · 段落位置自动对齐
Write a handoff document summarising the current conversation so . Save to the of the user's OS - not the current workspace.
Include a "" section in the document, naming which skills the next agent should call the Skill tool for.
already captured in other artifacts (specs, plans, ADRs, issues, commits, diffs). .
, such as API keys, passwords, or personally identifiable information.
If the user passed arguments, treat them as a description of what the next session will focus on and .
编写一份交接文档,总结当前对话,让一个没有原会话上下文的 agent 能继续工作。将它保存到用户操作系统的临时目录,而不是当前 workspace。
在文档中加入一个“suggested skills(建议技能)”章节,列出下一位 agent 应通过 Skill tool 调用哪些 skills。
不要重复其他产物(specs、plans、ADRs、issues、commits、diffs)中已经记录的内容。应改为通过路径或 URL 引用它们。
遮蔽所有敏感信息,例如 API keys、密码或个人可识别信息。
如果用户传入了参数,将其视为对下一会话关注重点的描述,并据此定向调整文档。

Entry SHA-256: 7c62de979fdc7ac32fb5ddb2146156c917f80ee070d30fadc9d40343c4b6ed25

2. Why This Skill Is Clever

一句话核心机制

把易失的会话上下文压缩成一份可携带、可定向、去重且脱敏的临时交接文档,让没有原会话上下文的 agent 立即接手。

触发与边界

直接来源: frontmatter 的 disable-model-invocation: true 把它设为用户显式触发的能力;argument-hint 让用户说明下一会话用途。它不是 agent 应自行猜测并自动运行的后台整理器。

支持背景: 仓库的 productivity 索引把 handoff 列为 user-invoked;配套文档进一步区分了 handoff 与 /compact:只有当工作需要跨会话、目录、harness 或协作者移动时,文件化交接才有价值。这些说明用于解释边界,不属于本页展示的原始 SKILL.md。

信息架构 / 执行顺序

  1. 确定下一会话的目标;若用户给了参数,就以此作为取舍上下文的过滤器。
  2. 汇总当前对话中仍在进行的工作,使 fresh agent 能继续。
  3. 为下一位 agent 增加 suggested skills,把“知道现状”推进到“知道下一步调用什么”。
  4. 对已有 specs、plans、ADRs、issues、commits 和 diffs 只保留路径或 URL,避免复制。
  5. 在写出前清除 API keys、密码和个人可识别信息。
  6. 把结果保存到用户 OS 的临时目录,而不是污染当前 workspace。

最巧妙的设计点

1. 用目的参数控制压缩损失

“treat them as a description of what the next session will focus on”

直接来源: 用户参数不是正文附件,而是压缩算法的目标函数。相同对话在“继续修 bug”和“准备评审”两个目标下应生成不同交接重点。这比通用摘要更能保住真正影响下一步决策的上下文。

2. 通过引用避免双份真相

“Do not duplicate content already captured in other artifacts”

直接来源: skill 明确列出 specs、plans、ADRs、issues、commits、diffs,并规定改用 path/URL。交接文档只拥有“现场状态与路线”,权威细节继续由原产物拥有,从结构上降低两份内容漂移的风险。

3. 把工具路由也交接过去

“Include a \"suggested skills\" section”

直接来源: 许多摘要只回答“发生了什么”,这里还告诉下一位 agent 应调用哪些 skills。它把恢复成本从重新发现工具降到按建议进入正确工作流。

4. 输出位置表达生命周期

“temporary directory of the user's OS - not the current workspace”

直接来源: 临时目录说明 handoff 是运输载体,不是项目产物;不放 workspace 也避免一次性交接文件被误提交。

解释: 这一选择换来干净 workspace,却牺牲耐久性。跨机器或延迟很久再接手时,临时文件可能消失,因此调用者必须确保目的端及时读取,或主动复制到耐久位置。

5. 把脱敏设为生成流程的硬门槛

“Redact any sensitive information”

直接来源: 交接会跨 agent、会话或人员边界,skill 在写出文件前就要求去掉密钥、密码和 PII。安全不是事后检查清单,而是交付定义的一部分。

防失败机制与 trade-off

明确不变量:

解释与风险:

可迁移原则

  1. 先定义接收者的下一任务,再决定摘要内容。 目标导向压缩比等比例缩短更可靠。
  2. 让每类事实只有一个权威归属。 交接只链接稳定产物,不复制它们。
  3. 同时交接状态和操作入口。 告诉接收者下一步该调用的工具或 workflow。
  4. 用保存位置表达产物生命周期。 临时运输文件与长期项目文档应进入不同位置。
  5. 跨边界之前先脱敏。 对会离开原上下文的内容默认执行最小披露。

今日实践题

如果同一段会话要分别交给“继续实现功能”的 agent 和“只做安全审计”的 agent,你会保留哪些共同事实,又会如何根据两个目标裁剪不同细节?

Evidence note

Source & provenance
Repository path
skills/productivity/handoff/SKILL.md
Generated
2026-08-28 09:35 Asia/Shanghai
Upstream commit
6654f6b60cd9d5be8b54c6fafe44346dabeb3b76
Source
View on GitHub