关于 session-handoff
session-handoff 是用于创建和恢复交接文档的 Agent 技能,适合跨长会话工作的 Agent。它结合文档脚手架、完整性验证和过时状态检查。
主要功能
- 01生成带时间戳的交接文档
- 02记录项目与 Git 上下文
- 03验证完整性并检查密钥
- 04检查交接内容是否过时
- 05串联相关交接文档
适用场景
- 01在会话结束前保存上下文
- 02根据旧交接文档恢复工作
- 03检查已保存的上下文是否仍适用
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ softaworks/ agent-toolkit --skill session-handoff安装后在 Claude Code 中输入/session-handoff确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.mdevals/model-expectations.mdresults-opus-baseline.mdsetup_test_env.pytest-scenarios.mdreferences/handoff-template.mdresume-checklist.mdscripts/check_staleness.pycreate_handoff.pylist_handoffs.pyvalidate_handoff.py详细介绍
工作交接
创建全面的交接文档,让新的 AI Agent 能够毫无歧义地无缝接续工作。解决 Agent 长时间运行导致上下文耗尽的问题。
模式选择
确定适用的模式:
创建交接文档? 用户想要保存当前状态、暂停工作,或上下文即将占满。
- 遵循下方的 CREATE 工作流
从交接文档恢复工作? 用户想要继续之前的工作、加载上下文,或提到了现有的交接文档。
- 遵循下方的 RESUME 工作流
主动建议? 完成大量工作后(编辑 5 个或更多文件、复杂调试、重大决策),建议:
“我们已经取得了显著进展。可以考虑创建交接文档,为后续会话保留这些上下文。准备好时,请说‘创建交接文档’。”
CREATE 工作流
第 1 步:生成脚手架
运行智能脚手架脚本,创建预填充的交接文档:
python scripts/create_handoff.py [task-slug]
示例:python scripts/create_handoff.py implementing-user-auth
对于后续交接文档(链接到之前的工作):
python scripts/create_handoff.py "auth-part-2" --continues-from 2024-01-15-auth.md
脚本将:
- 根据需要创建
.claude/handoffs/目录 - 生成带时间戳的文件名
- 预填充:时间戳、项目路径、Git 分支、近期提交、修改过的文件
- 如果接续之前的工作,则添加交接链链接
- 输出供编辑的文件路径
第 2 步:完成交接文档
打开生成的文件,填写所有 [TODO: ...] 部分。优先填写以下部分:
- 当前状态摘要 - 当前进展
- 重要上下文 - 下一位 Agent 必须了解的关键信息
- 接下来的具体步骤 - 清晰、可执行的第一步
- 已做出的决策 - 附带理由的选择(不只是结果)
请参考 references/handoff-template.md 中的模板结构。
第 3 步:验证交接文档
运行验证脚本,检查完整性和安全性:
python scripts/validate_handoff.py <handoff-file>
验证器会检查:
- 不存在遗留的
[TODO: ...]占位符 - 必要的章节均已包含并填写
- 未检测到潜在机密(API 密钥、密码、令牌)
- 引用的文件均存在
- 质量评分(0-100)
如果检测到机密或评分低于 70,请勿完成交接。
第 4 步:确认交接
向用户报告:
- 交接文件位置
- 验证评分和任何警告
- 已记录上下文的摘要
- 下一次会话的第一项行动
RESUME 工作流
第 1 步:查找可用的交接文档
列出当前项目中的交接文档:
python scripts/list_handoffs.py
这会显示所有交接文档的日期、标题和完成状态。
第 2 步:检查时效性
加载之前,检查交接文档的时效性:
python scripts/check_staleness.py <handoff-file>
时效等级:
- FRESH:可以安全恢复——交接后只有少量更改
- SLIGHTLY_STALE:检查更改后再恢复
- STALE:恢复前仔细核实上下文
- VERY_STALE:考虑创建新的交接文档
脚本会检查:
- 交接文档创建以来经过的时间
- 交接后新增的 Git 提交
- 交接后更改的文件
- 分支差异
- 缺失的引用文件
第 3 步:加载交接文档
采取任何行动前,完整阅读相关交接文档。
如果交接文档属于交接链(包含“接续自”链接),也要阅读链接指向的上一份交接文档,以获取完整上下文。
第 4 步:核实上下文
按照 references/resume-checklist.md 中的清单操作:
- 确认项目目录和 Git 分支一致
- 检查阻塞因素是否已解决
- 验证假设是否仍然成立
- 检查修改过的文件是否存在冲突
- 检查环境状态
第 5 步:开始工作
从交接文档“接下来的具体步骤”中的第 1 项开始。
工作时请参考以下章节:
- “关键文件”中的重要位置
- “发现的关键模式”中的待遵循约定
- “潜在陷阱”中的已知问题,避免踩坑
第 6 步:更新或串联交接记录
工作过程中:
- 在“待处理工作”中标记已完成的事项
- 在相关部分添加新发现
- 对于长时间的会话:使用
--continues-from创建新的交接记录,将它们串联起来
交接记录串联
对于长期项目,将交接记录串联起来,以保留上下文脉络:
handoff-1.md (initial work)
↓
handoff-2.md --continues-from handoff-1.md
↓
handoff-3.md --continues-from handoff-2.md
串联中的每份交接记录:
- 链接到其前一份记录
- 可以将较早的交接记录标记为已被取代
- 为新的 Agent 提供上下文线索
从一系列交接记录中恢复工作时,先阅读最新的一份,再根据需要参考前序记录。
存储位置
交接记录存储于:.claude/handoffs/
命名约定:YYYY-MM-DD-HHMMSS-[slug].md
示例:2024-01-15-143022-implementing-auth.md
资源
scripts/
| 脚本 | 用途 |
|---|---|
create_handoff.py [slug] [--continues-from <file>] | 通过智能框架生成新的交接记录 |
list_handoffs.py [path] | 列出项目中可用的交接记录 |
validate_handoff.py <file> | 检查完整性、质量和安全性 |
check_staleness.py <file> | 评估交接记录中的上下文是否仍然有效 |
references/
- handoff-template.md - 完整的模板结构及指南
- resume-checklist.md - Agent 恢复工作时的验证清单