Reference · User-invoked · Crossing sessions

handoff 速查

跨会话桥的口袋版:把当前会话压缩成临时目录里的移交文档,新会话引用它继续。 完整教学见 Lesson 0006; 原文见 SKILL.md(全部 16 行)、 docs 页ask-matt 的 Crossing sessions 一节。

一句话

把当前会话压缩成一份 markdown 移交文档,写进操作系统的临时目录(不是仓库); 你新开一个会话、把文档指给新 agent 看。只装还飘在空中的讨论(live thread), 已落盘的产物(spec / ADR / issue / commit / diff)只引用、不复制

调用

何时伸手 / 何时别碰

情境用法
会话逼近 smart zone(约 12 万 token 后推理变钝),活没干完/handoff 换新线程;别带病硬撑(ask-matt 唯一的官方应急出口)
收工 / 改天继续 / 交给另一个 agent 或人/handoff,参数写清下一节干什么
主流程里问题嘴上说不清,需要可运行的答案/handoff 出去 → 新会话 /prototype → /handoff 带回,主线引用答案
只想压缩一下、人还留在当前窗口用 harness 自带的 /compact,不是 handoff
grill → spec → tickets 中途窗口变挤不许 compact(mid-phase 会迷路);撑不住才 /handoff 换窗
活已干完,想给成果留记录不归 handoff——那是 spec / issue / ADR / commit 的职责

handoff vs /compact

/handoff  forks     → 新会话 + 临时目录留文件;选择性保真(活线索照写,产物只引用)
/compact  continues → 留在原窗口;摘要替换逐字历史,有损;只用在阶段之间的有意断点

移交文档解剖(必带四样)

  1. Live thread——在做什么、为什么、下一步,用对话自己的语言;已落盘的部分减掉
  2. Suggested skills——建议接手的 agent 该调用哪些 skill 继续(22 个 skill 里唯一把路由写进产物的)
  3. References, not copies——spec / plan / ADR / issue / commit / diff 用路径或 URL 指过去,不抄
  4. Redacted secrets——API key、密码、PII 写盘前抹掉(这是一次「导出」动作)

为什么薄、为什么在临时目录

复制 = 制造第二个事实来源,spec 一改文档就撒谎;引用永远指向最新原文。 移交文档是一次性脚手架,过桥即弃;放仓库里会「变成又一个要维护的产物」并腐烂。 仓库的长期记忆在 spec / ADR / issue / commit 里,不归它管。

主流程里的两次登场

登场一(prototype 岔路,ask-matt step 2):
  主线程 grill ──/handoff──▶ 新会话 /prototype ──/handoff──▶ 主线程引用答案继续
登场二(smart zone 应急出口,Context hygiene):
  to-tickets 之前窗口要满 ──/handoff──▶ 新线程接着走(这段路禁用 /compact)
分界线:/to-tickets 之后,移交载体从 handoff 文档切换成 Issue tracker 里的 issue
        (implement 每票新开会话是「计划内换窗」,不需要 handoff)

副作用

下一步

  1. 必须真的去开新会话,引用移交文档(ask-matt:You don't continue in place——桥搭了要人过)
  2. 新会话按 suggested skills 继续主流程(/to-spec、/implement…)
  3. prototype 回来的那份:在原主线程引用它,继续面试
  4. 进度过了 /to-tickets:换窗改用 issue 做载体,不再需要 handoff

微调入口(行为不对改哪里)

症状改哪里
文档把 spec / ADR 抄了一遍,又厚又旧handoff/SKILL.md 第 3 条指令(references, not copies)
文档被写进仓库handoff/SKILL.md 第 1 条指令(temporary directory, not workspace)
suggested skills 建议得离谱handoff/SKILL.md 第 2 条;知识源头在 ask-matt 的 flow 描述
密钥 / PII 过了桥handoff/SKILL.md 第 4 条(redact)的覆盖范围
带不带参数生成的文档没差别handoff/SKILL.md 第 5 条;提示语在 frontmatter 的 argument-hint
想让它被更常提起ask-matt/SKILL.md 的路由文案;给 description 塞触发词(人读的不带),disable-model-invocation
Codex 选择器里名字 / 简介不对handoff/agents/openai.yamlinterface 块(别动 policy 块)