بنقرة واحدة
comet-archive
仅在用户明确调用 /comet-archive,或由 Comet 根 Skill/runtime 路由到 archive 阶段时使用;确认归档、合并 delta spec 并完成分支收尾。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
仅在用户明确调用 /comet-archive,或由 Comet 根 Skill/runtime 路由到 archive 阶段时使用;确认归档、合并 delta spec 并完成分支收尾。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Use only when explicitly invoked as /comet-any or when the user explicitly wants to customize the /comet-classic five-phase workflow or create/upgrade a workflow Skill managed by Comet Creator. Do not use for general Skill authoring, cleanup, or review.
Use only when explicitly invoked as /comet-archive or routed by the root Comet skill/runtime to the archive phase; confirm archive, merge delta specs, and finish the branch.
Use only when explicitly invoked as /comet-build or routed by the root Comet skill/runtime to a full workflow build phase; create or recover the implementation plan and execute tasks.
Use when the user explicitly invokes /comet-classic, asks to start or resume the permanent Comet Classic workflow, or repository evidence identifies one unambiguous active Classic change; route through the intent runtime and .comet.yaml.
Use only when explicitly invoked as /comet-design or routed by the root Comet skill/runtime to a full workflow design phase; create or recover the deep technical Design Doc.
Use only when explicitly invoked as /comet-hotfix or routed by the root Comet skill/runtime to the hotfix preset; fix an existing behavior bug, not an ordinary unmanaged bugfix.
| name | comet-archive |
| description | 仅在用户明确调用 /comet-archive,或由 Comet 根 Skill/runtime 路由到 archive 阶段时使用;确认归档、合并 delta spec 并完成分支收尾。 |
branch_status: pending)openspec/changes/<name>/.comet.yaml 中 verify_result: pass归档摘要和生命周期闭环说明必须使用 comet state get <name> language 读取到的 Comet 配置产物语言。
按 comet/reference/scripts.md 使用稳定 comet CLI,然后执行入口验证;从任意入口恢复时先按 comet/reference/context-recovery.md 运行恢复检查:
comet state select <change-name>
comet state check <name> archive
验证通过后继续 Step 1。验证失败时脚本会输出具体失败原因。
若上述 select / check 输出 BLOCKED,且原因是 bound_branch 与当前分支不一致,立即按 comet/reference/decision-point.md 暂停,让用户单选:切回绑定分支后重新运行入口验证,或在用户明确确认当前分支应接管该 change 后运行 comet state rebind <change-name> 并重新入口验证。不得自行切换分支,不得自行换绑。
入口验证通过后,必须按 comet/reference/decision-point.md 的协议暂停并等待用户确认是否立即归档。不得在用户确认前运行 comet archive "<change-name>"。
确认前必须向用户展示简短摘要:
用户确认问题必须以单选题形式呈现,包含以下选项:
comet state transition <change-name> archive-reopen 回到 phase: verify,再调用 /comet-verify。若验证阶段确认需要修复,再按 /comet-verify 的验证失败决策回到 /comet-buildphase: archive 状态,等待用户稍后再次调用 /comet-archive用户选择「确认归档」后,立即执行:
comet state transition <change-name> archive-confirm
如 transition 返回非零退出码,报告错误并停止。只有 transition 成功后,才允许继续 Step 2。用户选择「需要调整或重新验证」后,必须先执行 archive-reopen 状态回退,不得手动编辑 .comet.yaml。
运行归档脚本:
comet archive "<change-name>"
脚本自动执行:
如脚本返回非零退出码,报告错误并停止。 如脚本返回零退出码,归档完成。
脚本摘要中的 X/Y steps succeeded 以真实执行步骤计数,不会因 delta spec 同步或文档标注重复累计。
脚本会调用 OpenSpec 归档能力按 ADDED/MODIFIED/REMOVED/RENAMED 语义合并主 spec,并在归档后校验主 spec 中没有残留 delta-only section 标题。
如需预览而不实际执行,使用 --dry-run 参数。
Spec 生命周期在此完成:
brainstorming → delta spec → 实施 → 验证 → 主 spec 合并 → design doc 标注 → 归档
归档脚本只移动文件和合并 spec,不会自动提交。归档完成后工作区会有以下未提交改动:
openspec/changes/<name>/ 移动到 openspec/changes/archive/YYYY-MM-DD-<name>/归档后先读取 git status --short,并以归档前的 dirty-worktree 归因记录为基线。只允许暂存可归因于当前 change 的路径:原 active change 路径、脚本输出的实际 archive 路径、被本次 delta 更新的 main specs,以及当前 Design Doc/Plan 的归档元数据。存在无法归因的路径时停止并请求用户处理。
使用显式 pathspec 暂存核对后的路径,再检查 staged diff;不得使用全仓库暂存,也不得把用户已有改动混入归档提交:
git add -- <逐项核对后的归档路径...>
git diff --cached --stat
git commit -m "chore: archive <change-name>"
提交失败或 staged diff 含无关路径时停止,不得继续分支处理。
归档提交成功后,先读取 comet state get <change-name> isolation,按隔离方式分流:
isolation !== current:立即执行: 使用 Skill 工具加载 Superpowers finishing-a-development-branch 技能。该步骤必须位于归档与归档提交之后,确保最终分支/PR 包含 spec 合并和归档元数据。如该技能不可用,停止流程并提示安装或启用;不得把 branch_status 标记为完成。技能加载后,按 comet/reference/decision-point.md 暂停让用户选择:本地合并到主分支、推送并创建 PR、保持当前分支稍后处理。isolation === current:跳过 Superpowers finishing-a-development-branch。按 comet/reference/decision-point.md 暂停让用户二选一:推送当前分支,或暂不推送并保留本地状态。归档已经完成,因此这里不提供“丢弃工作”选项。只有用户选择的操作成功完成、明确选择保持分支,或在 current 模式下明确选择暂不推送后,才运行:
comet state set <change-name> branch_status handled
comet guard <change-name> archive
archive guard 必须同时确认归档产物完整且 branch_status: handled;失败时流程仍未完成。
openspec/changes/archive/YYYY-MM-DD-<change-name>/ 存在.comet.yaml 中 archived: truebranch_status: handledcomet guard <change-name> archive 通过归档脚本会把 openspec/changes/<name>/ 移动到 openspec/changes/archive/YYYY-MM-DD-<name>/。
comet guard <change-name> archive 会按原 change 名解析实际归档目录;不要手工拼接日期目录名。
Comet Classic 流程全部完成。如需开始新的 Classic 工作,调用 /comet-classic 或 /comet-open。
按 comet/reference/context-recovery.md 执行,phase 参数为 archive。若 archived: true 且归档目录存在,归档已完成,无需再次执行归档操作。