How this phase is triggered
/comet-open is usually not a command you type yourself. It is the result of /comet selecting Classic and the internal /comet-classic router choosing the full workflow. Classic reads active changes and file state, builds routing context, and lets runtime scoring decide the route.
Default: use /comet for automatic recognition
Every call to/comet-classic re-reads file state (it doesn’t rely on conversation history) and routes to the open phase under these conditions:
You only need to type
/comet and describe what you want to do. When Classic is configured, the internal /comet-classic entry decides whether a new change should be opened and automatically continues to design after open completes. See Auto-transition mechanism.
Manual: when you’d need /comet-open directly
- You’ve disabled auto-transition (
auto_transition: false) — in this case/comet-classicstops after advancing one phase, and you need to manually invoke the next phase Skill. - You only want to run the open phase alone (debugging, or inserting a manual review between phases).
/comet entry normally; invoke phase commands directly only for manual control.
What you’ll experience
The open phase isn’t a one-shot document generation — it’s a process of multi-turn conversation + multiple pause points. Throughout, questions are asked and documents produced in the language you used to trigger the workflow.
The open phase filters a vague idea into three executable OpenSpec artifacts
Step 1: Explore the idea and clarify requirements
Comet loadsopenspec-explore and keeps asking questions around your idea until it can organize a complete clarification summary. It never treats a single Q&A as “enough” — it keeps asking until all five parts are clear:
Pause point 1: PRD split pre-check (conditionally triggered)
If your input is a large PRD, roadmap, or full product plan, or the clarification summary surfaces multiple independent capabilities, Comet pauses here and gives you a candidate split list (each split item includes a suggested name, goal scope, non-goals, dependency order, and core acceptance scenarios), then asks you to choose one of three:Pause point 2: Confirm requirements clarification is complete
Before creating any documents, Comet presents the complete clarification summary (all five parts) for you to review and waits for your explicit confirmation. Until confirmed, it won’t create proposal/design/tasks, nor will it useopenspec-propose for one-shot generation.
Pause point 3: Confirm the change name
Beforeopenspec new change, Comet lets you decide the name. The name must be kebab-case English (lowercase letters, digits, hyphens, e.g. refine-requirements-doc). It will:
- Recommend 2–3 kebab-case English names, each with a one-line scope description
- Let you type the name yourself — if you type Chinese or non-compliant text, it converts it to compliant kebab-case and echoes it back for your confirmation
- If the name conflicts with an existing change, report the conflict and ask you to pick another
Step 2: Create the change structure
Loadopenspec-new-change. The full workflow does not load openspec-propose by default (one-shot generation of everything) — it’s only allowed when you explicitly request it. Comet uses the standard artifact loop to generate proposal → design → tasks one by one:
- Refresh state:
openspec status --change "<name>" --json - Get instructions:
openspec instructions proposal|design|tasks --change "<name>" --json - Read
dependencies, followtemplateandinstruction, applycontext/rulesconstraints (without copying them into document content), write toresolvedOutputPath - Refresh state after each artifact to confirm
Step 3: Entry state validation + content completeness check
Pause point 4: Review the three documents and confirm
Comet presents a summary of the three documents (proposal’s background/goals/scope, design’s architecture decisions/selection, tasks’ count and key tasks), then asks you to choose one of two:Exit: Advance to the next phase
--apply is required — without it .comet.yaml stays at phase: open and the next phase’s entry check fails. The full workflow advances to phase: design; hotfix/tweak jumps directly to phase: build (skipping design).
Skills invoked
Artifacts
The tree uses<classic-root> for the configured Classic OpenSpec root: docs/openspec/ for new projects and openspec/ for projects that retain the legacy layout. .comet/config.yaml selects the location through classic.artifact_layout.
<classic-root>/changes/<name>/
.openspec.yaml
.comet.yaml
proposal.md
design.md
tasks.md
specs/<capability>/
Idempotency: safe to repeat
All operations in the open phase can be safely repeated. If.comet.yaml is already at phase: open and the three artifacts already exist, Comet skips completed steps and resumes from the first missing step. Re-running /comet after an interruption will not corrupt state.
Overview of the four pause points
The open phase has 4 pause points (globally numbered 1–4; the entire five-phase workflow has 13 — see Five-phase pause points and user decision points):
All pause points follow the decision point protocol — Comet cannot substitute recommendation rules, defaults, or “the user would probably agree” for your explicit choice.
FAQ
What if .comet.yaml is missing
What if .comet.yaml is missing
Don’t bypass it with
/opsx:new — it only creates OpenSpec artifacts and won’t create .comet.yaml, leaving the change outside Comet’s state machine. Re-run /comet; after routing to Classic, it backfills state through /comet-open.What are the change name restrictions
What are the change name restrictions
It must be kebab-case English (lowercase letters, digits, hyphens). Chinese or non-compliant names
are converted to kebab-case and echoed back for your confirmation. Conflicts with existing changes
are reported so you can pick another.
What if openspec instructions fails
What if openspec instructions fails
Comet stops artifact creation immediately and reports the OpenSpec error — it won’t fall back to a
hardcoded document structure. Check whether the OpenSpec CLI is working and whether
template/instruction/dependencies are satisfied.Does a large PRD have to be split
Does a large PRD have to be split
Not necessarily. The split pre-check gives you three choices (split / keep as one / adjust the plan). You can choose to keep it as a single change, but you should record the reason for not splitting in the documents.
Next steps
- Design phase — Enter deep design after open completes
- Five-phase pause points and user decision points — Detailed look at open’s 4 pause points
- Large PRD splitting — The full mechanism behind Step 1a
- Auto-transition mechanism — How open automatically continues to design

