--- name: handover description: 将当前会话中的技术决策、运维流程或阶段性研发进展,归档为标准工程文档(ADR / SOP / Handover),并自动更新模块内的 README 归档索引。 argument-hint: "[adr | sop | handover] [核心主题与简要说明]" --- # 工程交接与架构归档指南 (Engineering Handover & ADR & SOP) 你好!当你在一次开发会话中完成了关键攻坚、做了重要技术选型、或者跑通了一套复杂的运维跑批流程时,把这些成果及时沉淀下来,是保证后续其他同学或新会话 Agent 能无缝接力、不踩重复坑的最稳妥方式。 --- ## 一、 框架定位:HDD (Handoff-Driven Development) 本 Skill 属于 **HDD 体系的 Handoffs 层**: - **职责核心**:专职解决跨会话、跨模型周期的“状态机转移、物理事实防幻觉与真理知识沉淀”; - **非目标 (Non-Goals)**:本 Skill 不做日常编码流程的裁判(不强制 TDD、不限制具体的开发范式),只负责在阶段性收口或交接时打出高保真断点; - **抗模型迭代衰减**:无论未来底层大模型推理能力如何升级,AI 均无法凭空预知你的私有业务决策、客观时序冲突与当前跑批状态。结构化的 Handoffs 是系统长期演进中抵御遗忘的最坚固防线。 本 Skill 采用**控制逻辑与参考模板分离**的轻量设计:主文件负责流程导航,骨架模板按需单点查阅。 --- ## 二、 快速确定文档类型 (ADR / SOP / Handover) 根据当前会话的核心成果,挑选最契合的一个类型,并查阅对应的模板文件: | 文档类型 | 适用场景 | 状态标签 (Status 推荐) | 对应参考模板 | 核心目标 | | :--- | :--- | :--- | :--- | :--- | | **`ADR`** (架构决策) | 技术选型、航道拆分/合并、引入新库、重大权衡或决定“暂不改动” | `架构决策 (ADR)`、`探讨/提案 (RFC)` | [`references/adr_template.md`](references/adr_template.md) | 讲清为什么选 A 不选 B,避免未来盲目推倒重来 | | **`SOP`** (运维手册) | 定时任务、周末跑批、凭据更新、自动化巡检、故障排查 | `生产固化 (Active)`、`维护中 (Draft)` | [`references/sop_template.md`](references/sop_template.md) | 给出复制即用的命令与自愈预案,保证无人值守稳定运行 | | **`Handover`** (研发交接) | 每日收工、攻坚战役完成、门禁规则升级、代码重构收口 | `生产基准 (Current)`、`版本归档 (Archived)` | [`references/handover_template.md`](references/handover_template.md) | 交代今天改了哪、跑了什么单测、明天接班第一步敲什么 | > **提示**:如果用户未指定类型,且当前会话主要是修了 Bug、优化了业务代码并跑通了验证,请默认采用 **`Handover`** 类型。 --- ## 三、 两步正向直出工作流 (SOP) 当被触发执行归档交接时,请直接执行以下两个步骤,杜绝无意义的中间态工具调用: ### 第一步:查阅对应模板并落盘文档 1. **物理事实核验(杜绝文件幻觉)**: - **绝对不要凭多轮对话的模糊记忆盲猜改动文件**。在列出“改动清单”和“核心代码资产”之前,先锚定真实的物理事实: - 若工作区存在 Git:运行 `git status -s` 查看真实改动; - 若工作区非 Git:核实本会话实际通过 `write_to_file` 或 `replace_file_content` 动过的文件,或在终端检查目标模块最近修改的文件时间戳; - **真实存在性保障**:文档中引用的每一个文件路径与链接,必须在磁盘中真实存在,严禁凭空构造不存在的辅助脚本或类库。 2. **规范模板要素(路由地图 + 正向资产交互)**: - 必须在顶部包含清晰扁平的 **`路由式摘要`**(注明当前状态、关键决策、改动范围、接班即刻动作及重点必读章节); - 涉及大型数据底册或日志时,在涉及文件清单中正向注明抽样或 grep 建议,杜绝大篇幅罗列禁区的“负向激发反模式(粉色大象)”。 3. **按需查阅模板**:使用 `view_file` 查阅上述对应的单个模板(例如确定写 ADR 则仅阅读 [`references/adr_template.md`](references/adr_template.md),无需阅读其他模板)。 4. **生成命名并落盘**: - 文件名规范:`YYYY-MM-DD_.md`(如 `2026-09-18_quality_gates_upgrade.md`); - 写入对应业务模块下的 `docs/handovers/` 目录; - 使用 `write_to_file` 工具直接写入目标目录。 ### 第二步:更新归档索引表 (README.md) 1. 使用 `view_file` 查阅该目录下的 `README.md`。 2. **时间序归档表追加**:在 `## 归档索引` 表格的最上方(紧随表头后第一行),插入本次新文档的归档行: ```markdown | YYYY-MM-DD | [YYYY-MM-DD 文档标题](./文档文件名.md) | 核心主题摘要(2~3 句话清晰提炼) | 状态标签 | ``` 3. **主题与分类导航同步**:若该 README 维护了按主题分类导航(如 `### 架构决策 (ADR)`、`### 运维指南 (SOP)` 等板块),同步在该分类列表下追加对应的超链接与一句话定位,实现时间序与主题序双维检索。 4. 使用 `replace_file_content` 将新增内容合并入 `README.md`,保持索引看板永远最新。 --- ## 四、 写作风格与接班导引 - **老程序员带新人的口吻**:语言平实、温和、逻辑严谨,多解释“为什么要这样做”,避免使用生硬或压迫性字眼; - **信息高保真度**:严禁含糊其辞,关键代码使用可点击的 Markdown 文件链接,运维操作给出完整的带参命令行,验证给出明确的测试断言与耗时; - **新 Agent 快速冷启动**:新接手的 Agent 进入项目时,只需查阅 `docs/handovers/README.md` 顶部的最新交接文档,通过顶部的 **路由式摘要** 建立大局观,再按指引跳转到关键章节,即可在 10 秒内理解当前系统状态并执行下一步操作。