一键导入
eo-archive
将已审查通过的 change 的 Spec Delta 合并回模块 spec.md,完成变更闭环。触发:归档 change / archive / 合并 delta / /eo-archive。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
将已审查通过的 change 的 Spec Delta 合并回模块 spec.md,完成变更闭环。触发:归档 change / archive / 合并 delta / /eo-archive。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | eo-archive |
| description | 将已审查通过的 change 的 Spec Delta 合并回模块 spec.md,完成变更闭环。触发:归档 change / archive / 合并 delta / /eo-archive。 |
把已审查通过的 change 的 Spec Delta 机械合并回模块 spec.md,并更新索引、修改 change 状态。这是 change 生命周期的最后一步,也是保持 spec 常青的关键。
## 3 Spec Delta 章节,不重新理解业务archived,不再允许修改.eo-project.json(cwd 或父目录)。找不到 → 报错退出,提示运行 /eo-project-init。所有 eo-doc/ 路径通过 .eo-project.json 的 doc_root 字段解析<module-name> 和 <change-id>(如 /eo-archive inventory 015-add-sort)eo-doc/dev/<module-name>/spec.md 存在eo-doc/dev/<module-name>/spec-history.md 存在(旧模块若缺失,第五步会按模板补建,不视为前置失败)eo-doc/dev/<module-name>/changes/<change-id>/change.md 存在且 status: donereview.md 存在且审查通过(无 P0/P1 剩余)test.md 存在且通过(若 change 要求了测试)若任一前置条件不满足 → 停止并告知用户原因。
changes/<change-id>/change.md,验证 status: donechange_type,确定归档模式:
bootstrap → 实现范围模式(跳过 Delta 合并,只更新元信息与索引)feature / enhance / refactor → Delta 合并模式(执行后续所有步骤)changes/<change-id>/review.md,确认结论为通过changes/<change-id>/test.md(若存在),确认通过spec.md —— 不整篇读(spec 是活文档,可能超出单次读取上限):
Grep(pattern ^#{1,3} 、带行号)取章节地图Read 的 offset/limit 定位到 Delta 涉及的章节,不读无关章节bootstrap 模式跳过此步,直接进入第五步。
从 change.md 的 ## 3 Spec Delta 提取三类条目:
若 Delta 章节为空或格式不符 → 提示用户修复 change.md 后重跑。
⚠️ 拒绝跨模块 Delta:所有 Delta 条目的目标章节必须位于本模块的 spec.md。若出现以下任一信号,停止归档并要求用户拆 change:
inventory/ 下但 Delta 写"合并到 building/spec.md §3")module 字段与目录路径中的模块名不一致反馈模板:
⚠️ 本 change 的 Delta 含跨模块条目(
<条目名>指向<其他模块>/spec.md)。 eo-archive 只能合并单一模块的 Delta。请按/eo-change的"单模块 vs 跨模块"规则:
- 将跨模块部分抽出为另一个 change(归属对方模块)
- 用
depends_onfrontmatter 关联两个 change- 按依赖顺序分别归档 详见
eo-change/SKILL.md的"判断边界:单模块 vs 跨模块"。
bootstrap 额外校验:若 change_type = bootstrap 但 §3 写了 ADDED/MODIFIED/REMOVED → 停止归档,要求作者把类型改一致(或改为 feature/enhance),两者二选一。
bootstrap 模式跳过此步。
MODIFIED 项:在 spec.md 对应章节搜索"旧描述",若找不到(可能 spec 在这之间被其他 change 改过)→ 列出冲突项,让用户选择:
REMOVED 项:在 spec.md 对应章节搜索待删除内容,若找不到 → 同上处理。
ADDED 项:确认目标章节存在;若目标章节不存在,提示用户先修 change.md 或允许追加到章节末尾。
bootstrap 模式跳过此步,spec.md 内容保持不变。
对 spec.md 逐条应用 Delta:
所有合并操作用 Edit 工具逐条执行,保持 diff 清晰。
bootstrap 与 Delta 模式均执行此步。 归档流水统一落到
spec-history.md,不再写入 spec.md 正文。
eo-doc/dev/<module-name>/spec-history.md:
spec.md 仍内联 ## 9 关联变更 / ## 10 变更记录,把已有表行整体迁入新文件后,再从 spec.md 删除这两个章节(其余正文不动)## 关联变更 表末尾追加一行:
| [<change-id>](changes/<change-id>/change.md) | YYYY-MM-DD | <change summary> |
bootstrap 模式下 summary 前缀加 [bootstrap],如 [bootstrap] 实现 §3.1 / §3.3## 变更记录 表末尾追加一行:
| YYYY-MM-DD | 归档 <change-id>: <一句话描述> | eo-archive || YYYY-MM-DD | bootstrap 实现 <认领章节列表> (<change-id>) | eo-archive |updated 改为今天日期updated:
status 从 done 改为 archivedupdated 改为今天日期(即归档日期)eo-doc/dev/<module-name>/changes/INDEX.md:找到对应行把 status 列改为 archivedeo-doc/dev/INDEX.md:若该模块条目需要刷新最近活动时间,同步向用户汇报:
Delta 模式:
bootstrap 模式:
spec 复检建议:根据本次归档对 spec 的影响给出建议:
| 触发条件 | 建议文案 |
|---|---|
| MODIFIED ≥ 3 条 或 REMOVED ≥ 1 条 | 💡 本次 Delta 对 spec 做了 N 条 MODIFIED / M 条 REMOVED,建议跑一次 /eo-spec-review <module-name> 验证新基线仍然自洽 |
| 涉及 spec 章节 ≥ 3 个 | 💡 本次 Delta 触及 spec 的 N 个章节,建议跑一次 /eo-spec-review 确认跨章节一致性 |
| 仅少量 ADDED | 无需复检建议 |
| bootstrap 模式(任何规模) | 无需复检(spec 未变) |
提示但不强制:复检是可选的,用户决定是否跑。
当遇到无法自动合并的 Delta 时,向用户呈现:
⚠️ Delta 冲突:
[MODIFIED-2] 库存上限逻辑
- 预期的旧描述(change.md 声明):
"玩家最多持有 100 件同类物品"
- spec.md §3.4 当前实际内容:
"玩家最多持有 120 件同类物品(v1.5 提升)"
可能原因:本 change 与之前某个 change 对 §3.4 有并发修改。
请选择:
1. 跳过此条(Delta 不合并,由用户手动处理)
2. 强制替换(用新描述覆盖当前实际内容)
3. 终止归档
spec.md。Delta 含跨模块条目 → 拒绝归档,要求拆 change(见第二步)对 change.md 做方案级审查(Delta 正确性、TODO 完整性、AC 覆盖)。触发:审查 change / change 审查 / 审方案 / /eo-change-review。 NOT FOR: 代码审查(/eo-review)、spec 审查(/eo-spec-review)、implement 内的回归审查。
对已有模块发起业务变更,产出 spec Delta + 技术方案 + TODO 的单一载体。触发:新增 / 加功能 / 增强 / 重构 / change / /eo-change。 NOT FOR: bug 修复(走 /eo-implement,不开新 change)。
根据 change.md 的 TODO 落地代码;也负责 change 生命周期内所有 bug 修复(fix 是 implement 的职责,不开新 change)。触发:实现 / 写代码 / implement / fix / 修 bug / /eo-implement。
对已实施的代码做审查,产出 P0/P1/P2 分级报告(前提:代码已实现)。触发:review / 代码审查 / /eo-review。 NOT FOR: spec 审查(/eo-spec-review)、change 方案审查(/eo-change-review,代码还没写时用)。
对模块 spec.md 做系统性质量审查。必需场景:module-init 阶段(由 /eo-module-init 触发一次)。可选场景:archive 后含大量 MODIFIED/REMOVED 时复检。触发:审查 spec / review spec / 检查需求 / /eo-spec-review。 NOT FOR: 审代码(/eo-review)或 change 方案(/eo-change-review)。
为全新模块建立 spec 活文档并完成首次 spec-review,打好后续所有 change 的基线。触发:新建模块 / module init / 新模块 / /eo-module-init。 NOT FOR: 修改已有模块(走 /eo-change)。