用途 该技能用于把会话中产生、但仓库本身没有记录的信息固化下来,让未参与会话的人(同事、另一个智能体,或下周的自己)无需询问即可接续工作。触发时机包括:会话结束、上下文压缩之前,或工作转交给他人或其他智能体。
主要能力 交接说明重点记录仓库中不存在的内容:用户做出的决定、智能体自行做出的选择,以及接下来要做的事。说明中还会包含分支与 PR 状态、未提交改动、运行中的服务、重要临时文件,以及本次会话新增的 ADR(架构决策记录)和决策日志(如 unattended-run 的 Q- 条目)。
使用方式 写交接分为三步。
第一步,收集事实,要求运行命令而不是凭记忆书写:用 date "+%Y-%m-%d %H:%M %Z" 获取带时区的日期时间;确定会话 id,优先取智能体工具的会话变量(如 Claude Code 的 CLAUDE_CODE_SESSION_ID、OpenCode 的 OPENCODE_SESSION_ID),其次读取会话记录文件(Claude Code 为最新的 ~/.claude/projects/<项目文件夹>/<id>.jsonl;Codex 为最新的 ~/.codex/sessions/YYYY/MM/DD/rollout-<time>-<id>.jsonl,其首行 session_meta 含 session_id),都取不到则写 unknown 并说明检查过哪些位置;记录分支与 PR 信息(git status -sb、git log --oneline -1、gh pr list 或环境自带工具);记录工作区状态与决策。
第二步,写说明文件,保存为 docs/handoffs/handoff-YYYY-MM-DD-<slug>.md,使用当日日期与工作 slug(如 git-commit-organizer),文件已存在则追加 -2、-3。内容使用 simplified-technical-language 的文档语言,保持简短,让读者一分钟内找到下一步。模板包含:标题与元信息表(日期、会话 id 及来源、智能体工具与模型、分支/基线/最后提交/是否已推送);Goal、State、Branches and PRs、Decisions、Standing instructions、Open questions、Next steps(编号,第 1 步无需询问即可开始;若在流程或修复路径上,列出仍要运行的各阶段直至回顾)、Check the state(验证状态的命令)、Where things are(文件与报告;仓库外内容如 .scratchpad/ 要抄入说明,因其可能丢失)。决策需注明由用户还是智能体做出,智能体自选的默认值不算用户批准的决定;Standing instructions 记录用户给出的规则(如“不要推送”“规格保持简短”),上下文压缩最容易丢失这些内容;不得把密钥、令牌或个人数据写入说明。
第三步,提交并报告:用 git-commit-organizer 提交说明,仅在用户要求时推送,并在对话中给出路径与下一步。
从交接恢复时,读取 docs/handoffs/ 中该工作的最新文件或用户指定的文件,与仓库核对:分支是否存在、最后提交是否匹配或为其后代、PR 状态是否如说明所述、工作区是否干净;核对所依赖的技能是否都在本项目的技能文件夹中列明,或其基目录位于其中或是其符号链接目标(同名用户技能可能将其遮蔽)。然后告诉用户哪些一致、哪些自说明后已变化以及下一步,对说明中未决事项须得到用户确认后再行动。
适用场景 适用于多人或多智能体协作的接续、会话上下文即将压缩前的保存、以及跨周期(如下周)继续同一工作的情形。
限制 资料未提供具体安装方式、依赖环境要求、收费或平台支持信息;会话 id 的获取方式取决于所用智能体工具,若均不可用则只能记为 unknown。