/comet。项目配置进入 Classic 后,内部 /comet-classic 会自动检测当前阶段、推进状态并衔接下一阶段 Skill;你不需要先判断“现在该做什么”。本页解释这个内部机制。
阶段推进 vs 自动衔接
理解自动推进,首先要区分两个容易被混淆的概念:
阶段推进负责更新状态,自动衔接只决定下一张 Skill 卡片是否继续递出去
自动检测怎么工作
每次调用/comet 并进入 Classic 后,内部 /comet-classic 不依赖对话历史,而是重新读取文件状态判断当前阶段。
Step 0:发现活跃 change
- 预设检测(优先级最高)——命中 hotfix/tweak 时直接调用对应预设 Skill
- 未命中预设时运行
openspec list --json获取所有活跃 change - 按 change 数量和用户输入决定行为:
Step 1:读取状态
优先读取当前 Classic OpenSpec 根目录下的changes/<name>/.comet.yaml:新项目默认是 docs/openspec/changes/<name>/.comet.yaml,保留旧布局的项目是 openspec/changes/<name>/.comet.yaml。不存在时回退到 openspec status、tasks.md 和 docs/superpowers/ 文件检查。根目录由 classic.artifact_layout 决定,详见项目文件结构。
Step 2:阶段判定
按以下顺序判断,命中即停(以文件状态为准,冲突时修正.comet.yaml):
状态转换
阶段推进通过 guard--apply 或 comet-state transition 完成:
自动衔接:next 命令
阶段推进后,运行next 解析下一步:
Skill 路由
next 根据 phase 和 workflow 决定下一个 Skill:
verify 和 archive 阶段不受 workflow 类型影响,始终返回标准 Skill。
连续执行
单次/comet 调用由配置进入 Classic 后,从检测到的阶段开始;退出条件满足后自动推进后续阶段。
auto_transition 配置
auto_transition 控制是否自动调用下一个 Skill。配置优先级:
什么时候用 false
- 想在阶段之间插入人工审核
- 每个阶段完成后需要换模型或换人
- CI/CD 场景需要逐步控制
预设升级
hotfix/tweak 执行过程中,如果命中升级信号,会暂停让你二选一:preset-escalate 是预设→full 升级的唯一合法通道——原子地设 workflow/classic_profile 为 full,回退 phase 到 design,清除 design_doc。
断点恢复
上下文压缩或会话中断后,重新调用/comet;配置进入 Classic 后,内部路由重新读取文件状态恢复:
断点恢复不依赖对话历史——每次都重新执行 Step 0 和 Step 1。
红旗清单
Comet 的自动推进有明确的边界。以下想法出现时必须停下检查:下一步
- 五阶段停顿点和用户选择点 — 自动推进在哪里暂停
- Classic 配置 —
auto_transition字段和配置优先级 - 工作流概念 — 五阶段如何串联
- 恢复中断的工作 — 断点恢复的实践

