Skip to content

/handoff

会话上下文恢复。新会话开始时使用,从 HANDOFF.md 恢复之前的工作上下文。

Handoff — 会话上下文恢复

从 HANDOFF.md 交接文档恢复上一次会话的工作上下文,确保无缝继续。

步骤

Step 1: 读取交接文档

在项目根目录(含 CLAUDE.md 或 .git/ 的目录)查找 HANDOFF.md

遇到「文件不存在 / 空文件 / 超过 50 行」任一非常规状态时,必须先 Read references/details.md §1 再按其处理表执行。

Step 2: 提取核心字段

从 HANDOFF.md 提取以下内容:

  1. Checkpoint 日期 — 从 <!-- /checkpoint at YYYY-MM-DD --> 提取,展示文档新鲜度
  2. Active Plan — 活跃方案名称、路径和进度。如有,额外读取对应的 plan 文件获取整体进度;plan 文件不存在时按 references/details.md §4 降级处理
  3. Session Tasks — 上次的任务清单,区分已完成和待完成
  4. Next Actions — 下次会话建议的起手动作(与 Session Tasks 分开)
  5. Key Files — 当前任务涉及的文件路径列表
  6. Decisions Needed — 需要人判断的悬而未决项(没有则跳过)
  7. Dropped — 上轮主动放弃的事项及理由(没有则跳过)

旧格式兼容:检测到非标准标题(如 # Handoff — 主题)或非标准节名(如 ## Completed / ## In Progress / ## Next)时,必须先 Read references/details.md §5 再按其映射规则提取,并在 Step 3 报告末尾注明"检测到旧格式,部分字段可能不完整,建议运行 /checkpoint 重建"。

Step 3: 输出恢复报告

markdown
## 上下文已恢复

**项目**: {项目名称}
**上次存档**: {YYYY-MM-DD}
**活跃方案**: {方案名}(n/m, xx%)→ `docs/plans/{slug}.md`
**上次完成**: {从 Session Tasks 已完成项概括}

### 待完成
1. {未完成的任务 + 文件路径}
2. ...

### 关键文件
- `{file}` — {说明}

### 推荐起手
- {从 Next Actions 提取的第一步}

### 待决策
- {决策项}(没有则省略此节)

### 上轮放弃(Dropped)
- {事项} — {放弃理由}
> 以上是上轮主动放弃的事项,是否需要复活其中某项?(没有则省略此节)

内容缺失的节必须整节省略,不保留空标题;各节省略规则详见 references/details.md §2。含 Dropped 小节时,除输出该节外还必须单独播报并询问用户是否复活(规则见 §3)。缺席可选字段代表"没有该事项",不是格式错误。

Step 4: 就绪确认

基于 Next Actions 或 Session Tasks 待完成项,给出默认建议:"建议从 {第一条 Next Action 或待完成项} 开始,确认还是有其他想法?"

如果用户说"继续"或"接着做",直接开始第一条待完成任务。

IMPORTANT

  • 快速恢复,不做体检 — 只读 HANDOFF.md 和 Active Plan 文件(如有),不预读其他代码文件、不运行验证命令、不探索代码库。恢复的目标是快,验证留到开始工作后
  • 不要重复读已有上下文 — 如果 CLAUDE.md 已加载到上下文中,不需要再读
  • 不修改任何文件 — handoff 是纯只读操作,不写入任何内容
  • Plan 文件失效时降级 — Active Plan 引用的文件不存在时,跳过进度展示,报告路径失效,不报错中断

面向个人开发者的 AI 辅助编程工程化方案