comet-classic
Comet Classic — OpenSpec + Superpowers
Classic has five phases: Open → Design → Build → Verify → Archive. OpenSpec manages specifications and archiving. Superpowers provides design methods and the planning, execution, and review methods selected by the user. The full workflow requires brainstorming and design confirmation; hotfix/tweak follow their preset steps.
1. Resolve the Target and Workspace
On a new task or host change, read and perform the host capability check before approving Open. When execution configuration changes, check only capabilities required by the new strategy.
Before starting or resuming, resolve artifact paths with comet-classic/reference/classic-layout.md and follow “CLI Bootstrap” in comet-classic/reference/scripts.md. Use the public Comet CLI and its OpenSpec adapter. Read only sections needed for the current action; reuse valid instructions already in context.
- When Classic was not explicitly invoked and existing work may need to resume: read Ambient Resume in
comet-classic/reference/context-recovery.mdand followcomet resume-probe . --stdin --json. Onlyauto_resumeenters automatically; forask_userask byreasonusing the Ambient Resume table's question and options;out_of_scope/nonedoes not enter. - When starting a new request or the target change is unclear: read the minimal example and target-selection rules in
comet-classic/reference/intent-frame.md. List active changes, fill a CometIntentFrame, and runcomet classic intent route --stdin. The Agent extracts intent fields from evidence; Runtime computes the route. Follow its result without inventing a separate set of prose scoring rules. - When the target change is explicit and Runtime has initialized it, bind its workspace below. New SDK changes use
comet-state.yaml; historical.comet.yamlfiles are read and written in place, and compat initialization still uses the old name. Use Runtime ownership returned bystate next, not the mere presence of the state file, to choose the recovery path. Do not bind early when several active changes exist and none has been selected. A genuinely new change goes to/comet-openor the matching preset Skill, which prepares the workspace before initializing;workspace resolvereports not-found for an uninitialized change.
comet classic workspace resolve <change-name> --json
# Enter the returned projectRoot before selecting the change
comet state select <change-name> --json