name: yy-handoff description: > 创建或更新项目交接文档 handoff.md,用于跨会话续接当前任务。 当用户提到 handoff、交接、续接、接力、给下一个 AI 的说明时使用。 不用于生成面向管理人员的工作报告、面向开发者的变更日志,也不用于继续执行未完成的代码任务本身。
yy-handoff
描述
创建或更新面向后续会话续接的 handoff.md 交接文档,确保新会话能快速理解任务上下文、约束和进度。
使用场景
- 用户要求"生成 handoff.md"
- 用户要求"给新会话一个接力说明"
- 用户要求"让另一个 AI 继续当前任务"
- 用户要求"整理当前任务上下文,方便后续继续"
- 项目已有规格、计划、任务清单,需要沉淀为统一交接入口
不应触发:
- 用户只是口头询问当前进度,不要求落文档
- 用户要创建规格文档、任务拆解或检查清单
- 用户要初始化项目规则文档
AGENTS.md - 用户要直接开始开发,而不是先做交接文档
指令
步骤 1. 读取 AGENTS.md
读取项目根目录 AGENTS.md;若不存在,明确指出并询问是否继续。
步骤 2. 识别权威文档来源
识别当前任务的权威文档来源,优先读取 spec.md、tasks.md、checklist.md;若有现成 handoff.md,先读取后判断处理方式:
- 更新:现有内容结构完整,仅需刷新当前状态或补充新增约束
- 重写:现有内容与当前任务无关(如任务已切换),或结构严重缺失(缺少 3 个以上固定章节)
步骤 3. 提取核心信息
提取核心信息:项目位置、任务目标、已确认约束、当前状态、接力要求、可复制的提示词。
步骤 4. 补问关键约束
缺少关键约束时补问最少问题,否则直接写入。
步骤 5. 创建或更新 handoff.md
创建或更新 handoff.md:用户指定了目录时使用指定目录,否则放在项目根目录。
步骤 6. 输出结果
输出结果:handoff.md 路径、已写入的核心信息、是否存在未确认项。
输出格式
- 必须输出
handoff.md的绝对路径 - 必须说明是"新建"还是"更新"
- 必须列出已写入的核心约束
- 必须说明是否还有未确认项
- 若无未确认项,必须明确"新会话可直接接力"
handoff.md 固定结构
handoff.md 至少包含以下章节:
- 任务位置:项目目录、当前规格或任务目录
- 开工前必读:AGENTS.md、spec.md、tasks.md、checklist.md、handoff.md
- 任务目标:当前任务要做什么
- 已确认约束:已确定的实现边界和规则
- 当前状态:已完成什么、尚未开始什么
- 接力要求:新会话继续时必须遵守什么
- 建议起步顺序:先读什么、从哪一步开始
- 可直接发给新会话的提示词:可复制文本块
质量要求
- 使用正斜杠作为路径分隔符,路径包含空格时使用引号包裹
- 语言简练,不写空泛说明
- 路径必须写绝对路径
- 提示词必须可直接复制
- 不得遗漏"当前不要开始开发"这类关键状态约束
- 若
tasks.md和现实状态不一致,先提示用户再写 handoff - "已确认约束"只写入用户明确告知或从权威文档中提取的约束,不要基于项目类型自行推断或编造(例如用户说 Vue2 项目,不要自行添加"不使用 Vuex"或"用事件总线"等未提及的约束)
- 每条约束应可追溯到用户原文或已读文档,无法追溯的约束归入"待确认"而非"已确认"
相关资源
本技能包含以下辅助资源:
examples/input.md:输入示例,展示用户如何请求创建交接文档examples/output.md:输出示例,展示创建交接文档后的预期结果