/comet-open 不会直接跳进代码,而是先使用 OpenSpec 和你一起探索 problem space,产出三个 structured artifacts,定义你为什么要做这个 change、高层 approach 是什么、需要哪些 tasks。然后它会暂停,等待你的明确批准后才继续。
Trigger
在 AI 工具中直接运行/comet-open,或直接运行 /comet,让它检测到没有 active change 后自动分发到 Open phase。
前置条件
- 没有 active change(或你想开始一个新的)
- 已安装 Comet skill(已经运行过
comet init)
会发生什么
探索 problem space
AI 会加载
openspec-explore skill,并自由探索你的想法:提出澄清问题、梳理 goals 和 constraints,并总结 problem space。此步骤是强制性的,不能跳过。创建 change structure
AI 会加载
openspec-new-change(如果你的意图仍需整理,则加载 openspec-propose)来搭建 change directory,并产出三个 core artifacts。Change name 必须由你提供;如果你还没有提供,Comet 会询问。写入 artifacts
会在
openspec/changes/<name>/ 下创建三个文档和两个 state files:- proposal.md — Why 和 What:problem background、goals、scope 和 non-goals
- design.md — high-level architecture decisions 和 approach selection
- tasks.md — 可执行的 checkbox task list
- .openspec.yaml — OpenSpec change metadata
- .comet.yaml — Comet workflow state(初始化为
phase: open)
你 review 并确认(blocking pause)
AI 会展示三个文档的摘要,并请你确认或要求调整。在你明确选择 “Confirm” 之前,workflow 不能推进。 如果你要求调整,AI 会修改文档并重新提交确认。
Artifacts
| File | Location | 说明 |
|---|---|---|
proposal.md | openspec/changes/<name>/proposal.md | Problem background、goals、scope 和 non-goals,即 Why 和 What |
design.md | openspec/changes/<name>/design.md | High-level architecture decisions 和 approach selection,即 How (overview) |
tasks.md | openspec/changes/<name>/tasks.md | 用于跨所有 phases 跟踪 implementation progress 的 checkbox task list |
.openspec.yaml | openspec/changes/<name>/.openspec.yaml | OpenSpec change metadata 和 spec lifecycle state |
.comet.yaml | openspec/changes/<name>/.comet.yaml | Comet workflow state,用于跟踪 phase、build mode、verification status 等 |
用户决策点
Open phase 有一个 blocking pause:三个 artifacts 创建并通过完整性检查后,AI 会停止并展示结构化摘要供你 review。你必须选择以下之一:- Confirm, proceed to next phase — artifacts 符合预期;phase guard 运行,workflow 推进
- Needs adjustment — 提供 notes;AI 修改文档并重新提交确认
命名规则
Change name 必须由你提供。Comet 永远不会自动生成或推断名称。如果你一开始没有提供,AI 会在创建任何文件前询问。Output language:所有 artifacts,包括
proposal.md、design.md、tasks.md 以及所有 AI questions 和 summaries,都会使用你的请求语言编写。如果你用 English,artifacts 就是 English;如果你用 Chinese,artifacts 就是 Chinese。恢复现有 change 时,除非你明确要求切换,否则会保留主导 artifact language。