Skip to main content
Comet keeps requirements facts, design plans, runtime state, and user-generated Skills in separate files. Knowing where each category lives helps you recover interrupted work, debug bad state, and integrate Comet with CI. All recovery state lives in repository files, not chat history. After a device switch, platform switch, or context compaction, /comet can rebuild state from files.

Xiaoyu marks the repository layers that hold requirements facts, design plans, runtime state, and project Skills

Comet splits recoverable facts across repository files so work can resume across devices and sessions.

Classic workflow directories

New Classic and dual-workflow projects use the documentation layout by default:
classic.artifact_layout accepts docs or legacy. docs maps to docs/openspec/, while legacy maps to root-level openspec/. These are the two supported layouts; the field does not accept an arbitrary path.
Upgrading does not move an existing Classic project’s root-level openspec/. To migrate from the legacy layout to docs/openspec/, see Migrate Classic layout.

Runtime artifacts inside a change

Most files in this directory are machine-owned. Do not edit them manually unless a recovery guide specifically tells you to.
brainstorm-summary.md and subagent-progress.md are recovery anchors. Agents can reload them after context compaction.

Project-level .comet directory

Only directories for features you use will exist. A project that has never used /comet-any will not have bundle directories.
A repository-root .comet.yaml or comet.yaml is not a Comet config file and is not read as workflow state. Project defaults live in .comet/config.yaml. New projects store Classic change state in docs/openspec/changes/<name>/.comet.yaml ; projects that retain the legacy layout continue to use openspec/changes/<name>/.comet.yaml.

Responsibilities

What to commit

  • Commit: the active Classic root (docs/openspec/ for new projects or openspec/ for retained legacy layouts), docs/superpowers/, .comet/config.yaml, and .comet/skill-preferences.yaml.
  • Maybe commit: .comet/skills/, .comet/bundles/ if the team shares them.
  • Usually ignore: .comet/tmp/ and temporary runtime files.
.comet.yaml is the user-readable projection. Full machine state lives in run-state.json. Use .comet.yaml to understand progress and event logs to investigate how it changed.

Next steps

Last modified on August 2, 2026