名称: resume-handoff 描述: 从手递文档恢复工作,包括上下文分析和验证
从手递文档恢复工作
您被分配了一个任务,通过交互过程从手递文档中恢复工作。这些手递文档包含先前工作会话的关键上下文、学习和下一步步骤,需要被理解并继续。
初始响应
当调用此命令时:
-
如果提供了手递文档的路径:
- 如果参数中提供了手递文档路径,跳过默认消息
- 立即完整读取手递文档
- 立即读取它在
thoughts/shared/plans或thoughts/shared/research下链接的任何研究或计划文档;不要使用子代理来读取这些关键文件。 - 通过从手递文档中提取相关上下文、读取它提到的额外文件,开始分析过程
- 然后向用户提出行动方案并确认,或询问方向澄清。
-
如果提供了票号(如 ENG-XXXX):
- 定位票号的最新手递文档。票号将位于
thoughts/shared/handoffs/ENG-XXXX,其中ENG-XXXX是票号。例如,对于ENG-2124,手递文档将在thoughts/shared/handoffs/ENG-2124/。列出此目录的内容。 - 目录中可能有零个、一个或多个文件。
- 如果目录中没有文件,或目录不存在:告诉用户:“抱歉,我找不到那个手递文档。请提供路径给我吗?”
- 如果目录中只有一个文件:使用该手递文档继续
- 如果目录中有多个文件:使用文件名中的日期和时间(格式为
YYYY-MM-DD_HH-MM-SS,24小时制),使用 最新 的手递文档。 - 立即完整读取手递文档
- 立即读取它在
thoughts/shared/plans或thoughts/shared/research下链接的任何研究或计划文档;不要使用子代理来读取这些关键文件。 - 通过从手递文档中提取相关上下文、读取它提到的额外文件,开始分析过程
- 然后向用户提出行动方案并确认,或询问方向澄清。
- 定位票号的最新手递文档。票号将位于
-
如果未提供参数,响应:
我将帮助您从手递文档恢复工作。让我找到可用的手递文档。
您想从哪个手递文档恢复?
提示:您可以直接用手递路径调用此命令:`/resume_handoff `thoughts/shared/handoffs/ENG-XXXX/YYYY-MM-DD_HH-MM-SS_ENG-XXXX_description.md`
或使用票号从该票号的最新手递文档恢复:`/resume_handoff ENG-XXXX`
然后等待用户输入。
过程步骤
步骤 1:读取和分析手递文档
-
完整读取手递文档:
- 使用读取工具,不带限制/偏移参数
- 提取所有部分:
- 任务及其状态
- 最近更改
- 学习
- 工件
- 行动项和下一步
- 其他笔记
-
生成专注的研究任务: 基于手递内容,生成并行研究任务以验证当前状态:
任务 1 - 收集工件上下文: 读取手递中提到的所有工件。 1. 读取“工件”中列出的功能文档 2. 读取引用的实现计划 3. 读取任何提到的研究文档 4. 提取关键需求和决策 使用工具:读取 返回:工件内容摘要和关键决策 -
等待所有子任务完成后再继续
-
读取识别的关键文件:
- 完整读取“学习”部分的文件
- 读取“最近更改”以了解修改
- 读取研究期间发现的任何新相关文件
步骤 2:综合和呈现分析
-
呈现全面分析:
我已经分析了来自 [日期] 的手递文档,由 [研究人员] 创建。这是当前情况: **原始任务:** - [任务 1]: [手递中的状态] → [当前验证] - [任务 2]: [手递中的状态] → [当前验证] **已验证的关键学习:** - [学习,带文件:行引用] - [仍然有效/已更改] - [发现的模式] - [仍然适用/已修改] **最近更改状态:** - [更改 1] - [已验证存在/缺失/已修改] - [更改 2] - [已验证存在/缺失/已修改] **已审查的工件:** - [文档 1]: [关键要点] - [文档 2]: [关键要点] **推荐的下一步行动:** 基于手递的行动项和当前状态: 1. [基于手递的最逻辑下一步] 2. [第二优先级行动] 3. [发现的其他任务] **识别出的潜在问题:** - [发现的任何冲突或回归] - [缺失的依赖或损坏的代码] 我应继续 [推荐行动 1],还是您想调整方法? -
在继续前获取确认
步骤 3:创建行动计划
-
使用 TodoWrite 创建任务列表:
- 将手递中的行动项转换为待办事项
- 添加分析期间发现的新任务
- 基于依赖和手递指导优先排序
-
呈现计划:
我基于手递和当前分析创建了任务列表: [显示待办列表] 准备好开始第一个任务:[任务描述]?
步骤 4:路由到专家代理
关键:不要直接实现。总是通过任务工具生成。
-
分析任务类型并选择专家代理:
领导(可生成工人):
代理 领域 用于 kraken实现 大型功能、新系统、主要组件 architect计划 功能设计、系统架构、实现计划 phoenix计划 重构计划、迁移、代码库重组 herald部署 发布、部署、发布 maestro协调 复杂多代理工作流 工人(专注专家):
代理 领域 用于 spark实现 快速修复、补丁、小调整 scribe文档 文档、指南、解释 sleuth调试 错误调查、跟踪、根本原因分析 aegis调试 安全审计、漏洞扫描 profiler调试 性能优化、瓶颈分析 arbiter验证 单元测试 atlas验证 E2E/集成测试 oracle研究 外部文档、最佳实践、操作指南 scout研究 代码库探索、查找现有代码 pathfinder研究 仓库结构分析 plan-reviewer审查 功能计划审查、设计验证 plan-reviewer审查 迁移审查、重构验证 chronicler会话 会话分析、历史摘要 -
通过任务工具生成专家:
使用任务工具: - subagent_type: [从上选择的代理] - prompt: [任务描述 + 相关手递上下文 + 学习] -
在提示中包含手递上下文:
- 手递中的关键学习
- 带行号的文件引用
- 要遵循的模式
- 要避免的陷阱
-
等待代理完成,然后继续下一个任务
指导原则
-
分析要彻底:
- 首先完整读取手递文档
- 验证所有提到的更改仍然存在
- 检查任何回归或冲突
- 读取所有引用的工件
-
要交互式:
- 在开始工作前呈现发现
- 获取方法认同
- 允许课程修正
- 基于当前状态 vs 手递状态调整
-
利用手递智慧:
- 特别关注“学习”部分
- 应用记录的模式和方法
- 避免重复提到的错误
- 建立在发现的解决方案上
-
跟踪连续性:
- 使用 TodoWrite 维护任务连续性
- 在提交中引用手递文档
- 记录与原始计划的任何偏差
- 考虑完成后创建新手递
-
行动前验证:
- 切勿假设手递状态匹配当前状态
- 验证所有文件引用仍然存在
- 检查手递以来的破坏性更改
- 确认模式仍然有效
常见场景
场景 1:干净继续
- 手递中的所有更改都存在
- 没有冲突或回归
- 行动项中有清晰的下一步
- 继续推荐行动
场景 2:代码库已发散
- 一些更改缺失或已修改
- 手递后添加了新的相关代码
- 需要调和差异
- 基于当前状态调整计划
场景 3:手递工作未完成
- 手递中标记为“进行中”的任务
- 需要先完成未完成的工作
- 可能需要重新理解部分实现
- 专注于完成后新工作
场景 4:手递已过时
- 已经过很长时间
- 发生了重大重构
- 原始方法可能不再适用
- 需要重新评估策略
示例交互流程
用户: /resume_handoff specification/feature/handoffs/handoff-0.md
助手: 让我读取并分析那个手递文档...
[完整读取手递]
[生成研究任务]
[等待完成]
[读取识别的文件]
我已经分析了来自 [日期] 的手递文档。这是当前情况...
[呈现分析]
我应继续实现 webhook 验证修复,还是您想调整方法?
用户: 是的,继续 webhook 验证
助手: 这是一个 bug 修复任务,所以我会路由到 `spark` 代理。
[使用任务工具,subagent_type="spark",提示包含:
- webhook 验证修复任务
- 手递中的关键学习
- 相关文件:行引用
- 要遵循的模式]
[等待 spark 代理完成]
spark 代理已完成 webhook 验证修复。移动到下一个任务...