开发与工程 session-handoffcontext-managementclaude-code-skillsgitconversation-miningself-validationbeads

Handoff — Claude Code 会话交接技能

在上下文快耗尽时自动生成结构化交接文件,跨会话链式衔接,避免每个新会话重复踩坑。

FollowSkills 评估 · FSRS-2.0
谨慎使用
52/ 100 五分制 2.6 / 5
1 2 3 4 5 6
1信任安全15 / 25 · 3.0/5

技能行为透明:仅本地写文件、读 git 状态,可选外部依赖(beads/OpenViking)在缺失时跳过;提交前向用户确认并支持 close without commit,归档不删除而非破坏性操作。扣分点:close-session 流程默认 git add 全部会话相关文件并提交,最小权限和确认机制不完整;发布者身份未经验证。

2可靠稳定9 / 20 · 2.3/5

内部指令自洽,对 bd 不可用、无 beads、目录不存在等异常路径有明确降级(skip/ask/默认新链),失败反馈要求清晰。扣分点:静态审查无法执行关键路径(链检测 grep、两阶段写作、自校验),无测试证据;长上下文分块协议依赖模型自觉遵守,确定性有限。

3适用触发10 / 15 · 3.3/5

触发词明确(explicit invocation 为主),明确了不适用情形(plan mode、讨论中、模糊请求先询问),目标场景(长会话上下文交接)清晰。扣分点:强依赖 Claude Code 环境与英文交互约定;未声明对非 git、无 CLI 跟踪器环境的边界细节;无中文支持说明(核心功能不依赖境外服务,扣分有限)。

4规范维护9 / 15 · 3.0/5

文档分层良好:主 SKILL.md + references 子文档(模板、校验、深挖协议、关会话流程),README 含安装/卸载/许可证,MIT 协议清晰。扣分点:无版本号/changelog 记录在技能文件内,维护责任与更新路径未声明,已知限制披露不完整。

5有效结果6 / 15 · 2.0/5

结构化交接文件与可直接粘贴的续接提示是直接可用的输出,模板设计覆盖面广,边际价值主张(减少重复探索)合理。扣分点:静态审查无法验证产出质量;README 的 A/B 对比测试仅为作者声称,无原始数据;强制行数下限(150-800 行)可能产生冗长输出,成本/收益比例未经验证。

6证据核验3 / 10 · 1.5/5

源文件本身即为可审计的一手材料,引用了第三方研究(lost in the middle)但无出处链接。扣分点:A/B 测试声明不可复现,无测试套件或 CI 覆盖技能关键路径,事实与推断未分离(如 '20-40% 浪费' 数字无来源),静态只能给低分。

证据充分度: 评估于 2026年9月10日 审查版本 c407845e4c57
使用前请注意
  • close-session 默认提交行为:'Yes' 会提交本会话相关文件,用户若不细看文件清单可能意外提交无关内容;建议使用 close without commit 或逐项确认。
  • README 中的 A/B 测试对比与 20-40% 效率声明均为作者自述,未经独立验证。
  • beads 与 OpenViking 为可选依赖,缺失时功能降级(无链标签、无记忆持久化);技能文件内无版本号或变更记录。
  • 强制最低行数(150-800 行)可能导致冗长交接文件,对小会话不成比例。
  • 发布者身份未经验证;本评估为静态源码审查,未执行任何技能路径。
评估证据 [1][2][3][4][5][6][7]
查看完整评分方法 →

这个 Skill 能做什么,适合哪些场景?

Handoff 是一个 Claude Code 技能,当上下文即将耗尽(典型场景约 75%)或工作暂停时,深度挖掘整个对话历史并生成结构化的交接 Markdown 文件。它会并行收集 git 状态、检测同一工作流中已有的交接文件(链式追踪与序号递增)、按上下文规模选择不同强度的挖掘策略,并对产出做自检验。最终生成一个可直接粘贴到新会话的恢复提示词,让下一个会话精确接续。文件写入 plans/handoffs/ 或 .claude/handoffs/,可选集成 Beads 任务追踪。

运行 git log/diff/status/branch 收集外部状态;扫描 plans/handoffs/ 等目录检测同链前序交接文件(Tier A 粘贴提示确定性匹配、Tier B bead 启发式扫描);按上下文规模执行 Quick/Deep/Chunked 三档对话挖掘(12 项提取清单:目标、已尝试方案、失败原因、测量数据、用户偏好等);按 300-400 行(标准窗口)或 500-800 行(1M 窗口)的行数预算两阶段写入交接文件;读取 references/validation.md 做自校验;可选更新 Beads(bd update/bd remember);最后报告文件路径、链信息与下一步动作,并询问是否关闭会话、提交代码并生成粘贴提示词。完成链可归档到 plans/handoffs/archive/。

  1. 长会话接近上下文上限的开发者,想在关闭前保存全部进展而非依赖 Claude 的自动压缩摘要
  2. 跨多天推进同一功能修复的工程师,希望第三天的会话自动继承前两天的链式上下文与失败记录
  3. 使用 Beads 或其他 CLI 任务追踪器的团队,想让交接文件自动挂接到活跃任务上
  4. 经常因『重新发现已尝试过的失败方案』浪费 20-40% 会话时间的重度 Claude Code 用户
  5. 使用 1M 上下文窗口、单会话积累数十万 token 历史的用户,需要分块 map-reduce 式挖掘

这个 Skill 有哪些优点和局限?

优点
  • 链式追踪机制让第 N 次会话继承全部前序上下文(chain tag + 序号)
  • 两阶段写入加自校验强制最低行数,避免内容空洞的简短交接
  • 特别强调记录失败方案——这是最昂贵、最容易被重新发现的上下文
  • 明确防护:拒绝在计划模式、模糊询问或自由发挥场景下生成交接文档
  • 上下文规模自适应,500K+ token 时切换为 map-reduce 多轮挖掘
  • MIT 许可,可与 Beads、OpenViking、任意 CLI 任务追踪器搭配
局限
  • 强依赖 Claude Code 特性(触发短语、$ARGUMENTS、斜杠命令),移植到其他客户端需改写
  • 生成的交接文件很长(数百行),对上下文窗口小的客户端成本不低
  • Beads(bd CLI)与 OpenViking 集成均为可选依赖,未安装时部分功能降级
  • README 中的 A/B 测试结论由作者自述,无独立验证或测试套件
  • 链式父文件检测的 Tier B 是启发式的,遇到模糊情况需用户人工确认

如何安装这个 Skill?

git clone https://github.com/REMvisual/claude-handoff.git 然后 cp -r claude-handoff/skills/handoff ~/.claude/skills/(仓库还包含 handoffplan 技能,可一并复制)。在 Claude Code 中输入 /handoff 验证是否出现在自动补全中。可选安装 PreCompact 钩子:复制 hooks/precompact-handoff.sh 到 ~/.claude/hooks/ 并 chmod +x。建议在 CLAUDE.md 中加入『结束会话时始终使用 /handoff 技能』以防技能被绕过。

如何使用这个 Skill?

直接输入 /handoff 即可,无需参数;也可附带原因如 /handoff "context low" 或 "end of day"。触发短语包括 'do a handoff'、'running out of context'、'save session progress' 等。技能运行完成后会给出形如 'Read plans/handoffs/HANDOFF_xxx.md (seq 2, chain-x) and continue' 的粘贴提示词,复制到新会话即可接续。

这个 Skill 与同类方案有什么区别?

README 将其与 Claude 内置的上下文压缩摘要对比:内置摘要缺乏链式追踪、自校验、证据挖掘,A/B 测试(同一 bug、同一代码库、全新会话)中基于技能的会话零人工干预、还原了完整失败调用链,而自由摘要会话需要人工纠正并只提出表面修复。同仓库还有姊妹技能 handoffplan,区别在于 /handoff 面向『暂停探索』(下个会话继续摸底),/handoffplan 面向『研究完毕准备开发』(额外生成带阶段的执行计划),本技能仅为前者。

常见问题

必须安装 Beads 吗?
不必。bd 命令不可用时技能会跳过相应步骤,无 bead 时自动生成 standalone-{hex} 链标签并简化文件命名。
需要提供哪些参数?
无需任何参数,/handoff 单独即可运行;可选参数仅作为措辞提示。对话历史本身是挖掘的依据。
运行一次的开销有多大?
文件写入预算为标准窗口 300-400 行、1M 窗口 500-800 行;作者计算 800 行仅占 1M 窗口约 0.7%,换算的是避免数小时重新调查的成本。
它在上下文压缩前会自动触发吗?
不会自动触发主流程——需用户显式要求。可选的 PreCompact 钩子仅在压缩前捕获约 50 行的 git 状态与活跃任务作为安全网,并非完整交接。

同仓库的其他 Skills

均来自 REMvisual/claude-handoff

相关 Skills