comet
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseComet — OpenSpec + Superpowers 双星开发流程
Comet — OpenSpec + Superpowers Binary Star Development Workflow
OpenSpec 与 Superpowers 如双星系统围绕同一目标运转。
OpenSpec 负责 WHAT — 大纲、提案、spec 生命周期、归档
Superpowers 负责 HOW — 技术设计、计划、执行、收尾核心原则:brainstorming 必不可跳过。每次变更都必须经过深度设计(hotfix 和 tweak preset 除外)。
OpenSpec and Superpowers operate like a binary star system revolving around the same goal.
OpenSpec is responsible for WHAT — outlines, proposals, spec lifecycle, archiving
Superpowers is responsible for HOW — technical design, planning, execution, finalizationCore Principle: Brainstorming cannot be skipped. Every change must undergo deep design (except for hotfix and tweak presets).
决策核心(Decision Core)
Decision Core
agent 做决策只需读本节,参考附录按需查阅。
Agents only need to read this section for decision-making, and refer to the appendix as needed.
阶段自动检测
Automatic Phase Detection
Step 0: 活跃 Change 发现与意图判定
- 先做 Preset 检测;命中 hotfix/tweak 时直接调用对应 preset skill,不进入普通 open 分支
- 未命中 preset 时,运行 获取所有活跃 change
openspec list --json
Preset 检测优先级最高:
- 用户明确描述为 bug fix / 热修复 + 满足 hotfix 条件 → 直接
/comet-hotfix - 用户明确描述为文案/配置/文档/prompt 小调整 + 满足 tweak 条件 → 直接
/comet-tweak - 未命中 preset → 按下表处理
| 活跃 change | 用户输入 | 行为 |
|---|---|---|
| 无 | 非 preset 输入 | → 调用 |
| 恰好 1 个 | | → 询问:继续该变更 or 创建新变更 |
| 多个 | | → 询问:继续现有变更 or 创建新变更;若选继续 → 列出清单让用户选择 |
| 恰好 1 个 | | → 自动选中,进入 Step 1 |
| 多个 | | → 列出清单让用户选择 |
Step 1: 读取 状态元数据
.comet.yaml优先读取 。不存在时回退到 、 和 文件检查。
openspec/changes/<name>/.comet.yamlopenspec status --change "<name>" --jsontasks.mddocs/superpowers/断点恢复规则:
- 每次恢复上下文时,先重新执行 Step 0 和 Step 1,不依赖对话历史判断阶段
- 只要存在 active change 且工作区有未提交改动,必须按 协议处理。该协议定义了检查步骤、归因分类和禁令,本文件不重复
comet/reference/dirty-worktree.md - 若 ,先检查
phase: build和build_mode是否已设置;若有未设置的字段,回到isolation对应步骤补充后再执行;若均已设置,读取 tasks.md 的下一个未勾选任务继续/comet-build - 若 且
phase: verify,进入验证失败决策阻塞点:暂停并询问用户修复或接受偏差;用户选择修复后才运行verify_result: fail并调用bash "$COMET_STATE" transition <name> verify-fail/comet-build - 若 但 proposal/design/tasks 已完整,先运行
phase: open修正状态,再继续判定bash "$COMET_GUARD" <change-name> open --apply - 若 ,只允许调用
phase: archive;归档成功后 change 会移动到 archive 目录,不再对原活跃目录运行 guard/comet-archive
Step 2: 阶段判定(按顺序,命中即停)
- 或 change 已移入 archive → 流程已完成
archived: true - 且
verify_result: pass不是archived→true/comet-archive - → 进入验证失败决策阻塞点(暂停询问修复或接受偏差;用户选择修复后才
verify_result: fail并verify-fail)/comet-build - 或 tasks.md 全部勾选 →
phase: verify/comet-verify - 或已有 Design Doc 但计划/执行未完成 → 优先按 workflow 路由:
phase: build→hotfix,/comet-hotfix→tweak,/comet-tweak→full/comet-build - 或有 change 但无 Design Doc →
phase: design/comet-design - 或有活跃 change 但
phase: open缺失 →.comet.yaml/comet-open - 无活跃 change →
/comet-open
如果元数据与文件状态冲突,以文件状态为准,修正 后继续。
.comet.yamlStep 0: Active Change Discovery and Intent Determination
- First perform preset detection; if hotfix/tweak is hit, directly call the corresponding preset skill without entering the normal open branch
- If no preset is hit, run to get all active changes
openspec list --json
Preset detection has the highest priority:
- User explicitly describes as bug fix / hotfix + meets hotfix conditions → directly
/comet-hotfix - User explicitly describes as minor adjustment to copy/config/docs/prompt + meets tweak conditions → directly
/comet-tweak - No preset hit → handle according to the table below
| Active Changes | User Input | Action |
|---|---|---|
| None | Non-preset input | → Call |
| Exactly 1 | | → Ask: Continue this change or create a new change |
| Multiple | | → Ask: Continue existing change or create a new change; if continue is selected → list options for user to choose |
| Exactly 1 | | → Automatically select and proceed to Step 1 |
| Multiple | | → List options for user to choose |
Step 1: Read state metadata
.comet.yamlPrioritize reading . If it does not exist, fall back to checking , and files.
openspec/changes/<name>/.comet.yamlopenspec status --change "<name>" --jsontasks.mddocs/superpowers/Breakpoint Recovery Rules:
- When restoring context each time, re-execute Step 0 and Step 1 first, do not rely on conversation history to determine phases
- As long as there is an active change and uncommitted changes in the workspace, must handle according to the protocol. This protocol defines inspection steps, attribution classification and prohibitions, which are not repeated in this document
comet/reference/dirty-worktree.md - If , first check if
phase: buildandbuild_modeare set; if any fields are not set, return to the corresponding step inisolationto supplement before execution; if all are set, read the next unchecked task in tasks.md to continue/comet-build - If and
phase: verify, enter the verification failure decision blocking point: pause and ask the user to fix or accept deviations; only after the user chooses to fix, runverify_result: failand callbash "$COMET_STATE" transition <name> verify-fail/comet-build - If but proposal/design/tasks are complete, first run
phase: opento correct the state, then continue determinationbash "$COMET_GUARD" <change-name> open --apply - If , only
phase: archiveis allowed; after successful archiving, the change will be moved to the archive directory, and no longer run guard on the original active directory/comet-archive
Step 2: Phase Determination (in order, stop when hit)
- or change has been moved to archive → workflow completed
archived: true - and
verify_result: passis notarchived→true/comet-archive - → enter verification failure decision blocking point (pause to ask user to fix or accept deviations; only after user chooses to fix, execute
verify_result: failandverify-fail)/comet-build - or all tasks in tasks.md are checked →
phase: verify/comet-verify - or Design Doc exists but planning/execution is not completed → prioritize routing by workflow:
phase: build→hotfix,/comet-hotfix→tweak,/comet-tweak→full/comet-build - or change exists but no Design Doc →
phase: design/comet-design - or active change exists but
phase: openis missing →.comet.yaml/comet-open - No active changes →
/comet-open
If metadata conflicts with file status, take file status as the standard, correct and continue.
.comet.yaml预设升级条件
Preset Upgrade Conditions
hotfix → full(满足任一即升级):
- 改动涉及 3+ 文件
- 涉及架构变更(新模块、新接口、新依赖)
- 涉及数据库 schema 变更
- 修复引入新的 public API
- 修复范围超出单一函数/模块
tweak → full(满足任一即升级):
- 改动涉及 5+ 文件
- 涉及多个模块的协调修改
- 需要新增测试用例 5+
- 涉及配置项的新增或删除(非值修改)
hotfix → full (upgrade if any condition is met):
- Changes involve 3+ files
- Involves architectural changes (new modules, new interfaces, new dependencies)
- Involves database schema changes
- Fix introduces new public APIs
- Fix scope exceeds a single function/module
tweak → full (upgrade if any condition is met):
- Changes involve 5+ files
- Involves coordinated modifications across multiple modules
- Requires adding 5+ test cases
- Involves adding or deleting configuration items (not value modifications)
错误处理速查
Error Handling Quick Reference
| 场景 | 处理方式 |
|---|---|
| 检查 openspec 是否已安装,提示 |
| 子 skill 不可用 | 停止流程,提示安装或启用对应 skill |
| 以文件状态为准,用 |
| 构建/测试失败 | 返回 build 阶段修复,不进入 verify |
| change 目录结构不完整 | 按 |
| Scenario | Handling Method |
|---|---|
| Check if openspec is installed, prompt |
| Sub-skill unavailable | Stop workflow, prompt to install or enable the corresponding skill |
| Take file status as the standard, correct with |
| Build/test failure | Return to build phase for repair, do not enter verify |
| Change directory structure incomplete | Comply with |
阶段衔接
Phase Transition
<IMPORTANT>
单次 `/comet` 调用从检测到的阶段开始,退出条件满足后进入下一阶段。
</IMPORTANT>
流转链:open → design → build → verify → archive
连续执行要求:从检测到的阶段开始,agent 自动推进后续阶段。但自动推进仅适用于没有用户决策的衔接点。遇到用户决策点时,必须使用 AskUserQuestion 工具暂停并等待用户明确回复,不得用推荐规则、默认值或历史偏好代替用户确认,也不得仅输出文字提示后继续执行。
决策点是阻塞点:只要到达下列任一节点,当前 调用必须停住,使用 AskUserQuestion 工具等待用户选择。用户明确选择后才能写入对应状态字段、执行对应操作,随后再继续自动流转。
/comet需要用户参与的节点(仅在这些节点暂停):
- open 阶段 proposal/design/tasks 审视确认
- brainstorming 确认设计方案
- build 阶段选择工作方式(隔离方式 + 执行方式,一次交互完成)
- verify 不通过时决定修复或接受偏差(含 Spec 漂移处理方式选择)
- finishing-branch 选择分支处理方式
- 遇到升级条件(hotfix/tweak → 完整流程)
- build 阶段范围扩张需重新设计或拆分新 change
agent 不应跳过这些决策点;其他明确无歧义的阶段衔接必须自动继续推进,不得中途退出。到达决策点时,禁止以文字输出代替工具等待——必须通过 AskUserQuestion 明确获取用户选择后才能继续。
红旗清单 — 以下想法出现时立即停止并检查:
| Agent 心理 | 实际风险 |
|---|---|
| "用户应该会同意这个方案" | 不能替用户决策,用 AskUserQuestion |
| "这只是个小改动,不需要确认" | 决策点无大小之分,阻塞点必须等待 |
| "用户之前选过 A,这次也选 A" | 历史偏好不能替代当前确认 |
| "我已经解释了方案,用户没反对" | 没反对 ≠ 同意,必须用工具获取明确选择 |
| "流程走到这里应该没问题了" | 验证不通过 ≠ 通过,检查 verify_result |
<IMPORTANT>
A single `/comet` call starts from the detected phase, and proceeds to the next phase after exit conditions are met.
</IMPORTANT>
Flow chain: open → design → build → verify → archive
Continuous Execution Requirement: Start from the detected phase, the agent automatically advances subsequent phases. But automatic advancement only applies to transition points without user decisions. When encountering a user decision point, must use the AskUserQuestion tool to pause and wait for the user's explicit reply, and cannot replace user confirmation with recommendation rules, default values or historical preferences, nor continue execution after only outputting text prompts.
Decision points are blocking points: As long as any of the following nodes is reached, the current call must stop, wait for the user's selection using the AskUserQuestion tool. Only after the user explicitly selects, can the corresponding state field be written, corresponding operations executed, and then continue automatic flow.
/cometNodes requiring user participation (only pause at these nodes):
- Proposal/design/tasks review confirmation in open phase
- Design plan confirmation during brainstorming
- Selection of working method in build phase (isolation method + execution method, completed in one interaction)
- Decide to fix or accept deviations when verification fails (including selection of Spec drift handling method)
- Branch handling method selection in finishing-branch
- Encounter upgrade conditions (hotfix/tweak → full workflow)
- Scope expansion in build phase requires re-design or splitting new change
Agents should not skip these decision points; other unambiguous phase transitions must continue automatically without exiting midway. When reaching a decision point, prohibited to replace tool waiting with text output — must explicitly obtain user selection via AskUserQuestion before continuing.
Red Flag List — Stop and check immediately when any of the following thoughts occur:
| Agent Mindset | Actual Risk |
|---|---|
| "The user should agree to this plan" | Cannot make decisions for the user, use AskUserQuestion |
| "This is just a small change, no need for confirmation" | Decision points have no size distinction, blocking points must wait |
| "The user chose A before, so choose A this time" | Historical preferences cannot replace current confirmation |
| "I have explained the plan, the user did not object" | No objection ≠ agreement, must obtain explicit selection via tool |
| "The workflow should be fine here" | Verification failure ≠ pass, check verify_result |
子命令速查
Subcommand Quick Reference
| 命令 | 阶段 | 归属 | 产物 |
|---|---|---|---|
| 1. 开启 | OpenSpec | proposal.md、design.md、tasks.md |
| 2. 深度设计 | Superpowers | Design Doc、delta spec |
| 3. 计划与构建 | Superpowers | 实施计划、代码提交 |
| 4. 验证与收尾 | Both | 验证报告、分支处理 |
| 5. 归档 | OpenSpec | delta→main spec 同步、design doc 标注、归档 |
| 预设路径 | Both | 快速修复(跳过 brainstorming) |
| 预设路径 | Both | 小改动(跳过 brainstorming 和完整 plan) |
/comet
↓ 自动检测
/comet-open ──→ /comet-design ──→ /comet-build ──→ /comet-verify ──→ /comet-archive
(OpenSpec) (Superpowers) (Superpowers) (Both) (OpenSpec)
/comet-hotfix(预设路径,跳过 brainstorming)
open ──→ build ──→ verify ──→ archive
↑ 如触发升级条件 → 阻塞确认升级 → 补充 Design Doc → 回到完整流程
/comet-tweak(预设路径,跳过 brainstorming 和完整 plan)
open ──→ lightweight build ──→ light verify ──→ archive
↑ 如触发升级条件 → 阻塞确认升级 → 补充 Design Doc → 回到完整流程| Command | Phase | Owner | Output |
|---|---|---|---|
| 1. Open | OpenSpec | proposal.md, design.md, tasks.md |
| 2. Deep Design | Superpowers | Design Doc, delta spec |
| 3. Plan & Build | Superpowers | Implementation plan, code commits |
| 4. Verify & Finalize | Both | Verification report, branch handling |
| 5. Archive | OpenSpec | delta→main spec sync, design doc annotation, archiving |
| Preset Path | Both | Quick fix (skips brainstorming) |
| Preset Path | Both | Minor changes (skips brainstorming and full plan) |
/comet
↓ Auto-detect
/comet-open ──→ /comet-design ──→ /comet-build ──→ /comet-verify ──→ /comet-archive
(OpenSpec) (Superpowers) (Superpowers) (Both) (OpenSpec)
/comet-hotfix (preset path, skips brainstorming)
open ──→ build ──→ verify ──→ archive
↑ If upgrade condition is triggered → block to confirm upgrade → supplement Design Doc → return to full workflow
/comet-tweak (preset path, skips brainstorming and full plan)
open ──→ lightweight build ──→ light verify ──→ archive
↑ If upgrade condition is triggered → block to confirm upgrade → supplement Design Doc → return to full workflow参考附录(Reference Appendix)
Reference Appendix
.comet.yaml 字段说明
.comet.yaml Field Description
yaml
workflow: full
phase: build
design_doc: docs/superpowers/specs/YYYY-MM-DD-topic-design.md
plan: docs/superpowers/plans/YYYY-MM-DD-feature.md
base_ref: a1b2c3d4e5f6...
build_mode: subagent-driven-development
isolation: branch
verify_mode: light
verify_result: pending
verification_report: null
branch_status: pending
created_at: 2026-05-26
verified_at: null
archived: false| 字段 | 含义 |
|---|---|
| |
| 当前阶段: |
| 关联的 Superpowers Design Doc 路径,可为空 |
| 关联的 Superpowers Plan 路径,可为空 |
| init 时记录的 git commit SHA,用于 scale 评估。无 plan 时作为改动文件数统计基准 |
| 已选择的执行方式,可为空 |
| |
| |
| |
| 验证报告文件路径,verify 通过前必须指向已存在文件 |
| |
| change 创建日期(init 时自动写入),格式 |
| 验证通过时间,可为空 |
| change 是否已归档 |
可选字段:
| 字段 | 含义 |
|---|---|
| |
| 项目构建命令。guard 优先运行该命令,失败时打印命令输出 |
| 项目验证命令。verify guard 优先运行该命令,未配置时回退到构建命令 |
状态机硬约束:
- 前,
build → verify必须是isolation或branchworktree - 前,
build → verify必须已选择build_mode - 默认只允许
build_mode: direct/hotfix;full workflow 需要tweakdirect_override: true - 这些约束同时存在于 和
comet-guard.sh build --applycomet-state.sh transition <name> build-complete
yaml
workflow: full
phase: build
design_doc: docs/superpowers/specs/YYYY-MM-DD-topic-design.md
plan: docs/superpowers/plans/YYYY-MM-DD-feature.md
base_ref: a1b2c3d4e5f6...
build_mode: subagent-driven-development
isolation: branch
verify_mode: light
verify_result: pending
verification_report: null
branch_status: pending
created_at: 2026-05-26
verified_at: null
archived: false| Field | Meaning |
|---|---|
| |
| Current phase: |
| Path to associated Superpowers Design Doc, can be empty |
| Path to associated Superpowers Plan, can be empty |
| git commit SHA recorded during init, used for scale evaluation. Serves as the benchmark for counting changed files when there is no plan |
| Selected execution mode, can be empty |
| |
| |
| |
| Path to verification report file, must point to an existing file before verify passes |
| |
| Change creation date (automatically written during init), format |
| Verification pass time, can be empty |
| Whether the change has been archived |
Optional Fields:
| Field | Meaning |
|---|---|
| |
| Project build command. Guard runs this command first, prints command output on failure |
| Project verification command. Verify guard runs this command first, falls back to build command if not configured |
State Machine Hard Constraints:
- Before ,
build → verifymust beisolationorbranchworktree - Before ,
build → verifymust be selectedbuild_mode - is only allowed for
build_mode: direct/hotfixby default; full workflow requirestweakdirect_override: true - These constraints exist in both and
comet-guard.sh build --applycomet-state.sh transition <name> build-complete
脚本定位
Script Location
Comet 脚本随 skill 包分发在 下。不硬编码路径 — 定位一次,缓存到环境变量:
comet/scripts/bash
COMET_ENV="${COMET_ENV:-$(find . "$HOME"/.*/skills "$HOME/.config" "$HOME/.gemini" -path '*/comet/scripts/comet-env.sh' -type f -print -quit 2>/dev/null)}"
if [ -z "$COMET_ENV" ]; then
echo "ERROR: comet-env.sh not found. Ensure the comet skill is installed." >&2
return 1
fi
. "$COMET_ENV"Comet scripts are distributed with the skill package under . Do not hardcode paths — locate once and cache to environment variables:
comet/scripts/bash
COMET_ENV="${COMET_ENV:-$(find . "$HOME"/.*/skills "$HOME/.config" "$HOME/.gemini" -path '*/comet/scripts/comet-env.sh' -type f -print -quit 2>/dev/null)}"
if [ -z "$COMET_ENV" ]; then
echo "ERROR: comet-env.sh not found. Ensure the comet skill is installed." >&2
return 1
fi
. "$COMET_ENV"脚本定位失败时停止流程
Stop the workflow if script location fails
if [ -z "$COMET_GUARD" ] || [ -z "$COMET_STATE" ] || [ -z "$COMET_HANDOFF" ] || [ -z "$COMET_ARCHIVE" ]; then
echo "ERROR: Comet scripts not found. Ensure the comet skill is installed." >&2
echo "Expected path pattern: /comet/scripts/comet-.sh under project or platform skill directories" >&2
return 1
fi
**自动状态更新**:guard 支持 `--apply` 参数,验证通过后自动更新 `.comet.yaml` 状态字段:
```bash
bash "$COMET_GUARD" <change-name> <phase> --apply--applycomet-state transitionbash
bash "$COMET_STATE" transition <change-name> open-complete
bash "$COMET_STATE" transition <change-name> design-complete
bash "$COMET_STATE" transition <change-name> build-complete
bash "$COMET_STATE" transition <change-name> verify-pass
bash "$COMET_STATE" transition <change-name> verify-fail
bash "$COMET_STATE" transition <archive-name> archived归档脚本:一键完成归档全部步骤:
bash
bash "$COMET_ARCHIVE" <change-name>加载 comet 后,agent 应执行以上变量赋值一次,后续全程复用 、、、。
$COMET_GUARD$COMET_STATE$COMET_HANDOFF$COMET_ARCHIVEif [ -z "$COMET_GUARD" ] || [ -z "$COMET_STATE" ] || [ -z "$COMET_HANDOFF" ] || [ -z "$COMET_ARCHIVE" ]; then
echo "ERROR: Comet scripts not found. Ensure the comet skill is installed." >&2
echo "Expected path pattern: /comet/scripts/comet-.sh under project or platform skill directories" >&2
return 1
fi
**Automatic State Update**: Guard supports the `--apply` parameter, which automatically updates `.comet.yaml` state fields after verification passes:
```bash
bash "$COMET_GUARD" <change-name> <phase> --apply--applycomet-state transitionbash
bash "$COMET_STATE" transition <change-name> open-complete
bash "$COMET_STATE" transition <change-name> design-complete
bash "$COMET_STATE" transition <change-name> build-complete
bash "$COMET_STATE" transition <change-name> verify-pass
bash "$COMET_STATE" transition <change-name> verify-fail
bash "$COMET_STATE" transition <archive-name> archivedArchive Script: Complete all archiving steps with one click:
bash
bash "$COMET_ARCHIVE" <change-name>After loading comet, the agent should perform the above variable assignment once, and reuse , , , throughout the process.
$COMET_GUARD$COMET_STATE$COMET_HANDOFF$COMET_ARCHIVE文件结构
File Structure
openspec/ # OpenSpec — WHAT
├── config.yaml
├── changes/
│ ├── <name>/ # 活跃 change
│ │ ├── .openspec.yaml
│ │ ├── .comet.yaml
│ │ ├── proposal.md # Why + What
│ │ ├── design.md # 高层架构决策
│ │ ├── specs/<capability>/spec.md # Delta 能力规格
│ │ ├── .comet/handoff/ # 脚本生成的阶段交接包
│ │ └── tasks.md # 任务清单
│ └── archive/YYYY-MM-DD-<name>/ # 已归档
└── specs/<capability>/spec.md # 主 specs(归档时从 delta 覆盖)
docs/superpowers/ # Superpowers — HOW
├── specs/YYYY-MM-DD-<topic>-design.md # 设计文档(技术 RFC,归档时标注状态)
└── plans/YYYY-MM-DD-<feature>.md # 实施计划(文件头含 change 关联元数据)openspec/ # OpenSpec — WHAT
├── config.yaml
├── changes/
│ ├── <name>/ # Active change
│ │ ├── .openspec.yaml
│ │ ├── .comet.yaml
│ │ ├── proposal.md # Why + What
│ │ ├── design.md # High-level architecture decisions
│ │ ├── specs/<capability>/spec.md # Delta capability specification
│ │ ├── .comet/handoff/ # Phase handoff package generated by script
│ │ └── tasks.md # Task list
│ └── archive/YYYY-MM-DD-<name>/ # Archived
└── specs/<capability>/spec.md # Main specs (overwritten from delta during archiving)
docs/superpowers/ # Superpowers — HOW
├── specs/YYYY-MM-DD-<topic>-design.md # Design document (technical RFC, state annotated during archiving)
└── plans/YYYY-MM-DD-<feature>.md # Implementation plan (contains change association metadata in file header)最佳实践
Best Practices
- brainstorming 不可跳过 — 每次变更必须经过深度设计(hotfix 和 tweak 除外)
- delta spec 是活文档 — 阶段 3 期间可自由修改,归档时同步
- 交接包由脚本生成 — OpenSpec → Superpowers 的上下文必须通过 生成 compact 可追溯摘录(必要时
comet-handoff.sh),并由 guard 校验 source/hash/mode--full - 保持 tasks.md 同步 — 完成一个勾一个
- 频繁提交 — 每个任务一次提交,message 体现设计意图
- 先验证再归档 — 通过后才执行
/comet-verify/comet-archive - 增量更新分级 — 小编辑、中重 brainstorming、大新 change
- Plan 必须关联 change — 文件头包含 和
change:元数据design-doc: - 归档闭环 — design doc 和 plan 必须标注 状态
archived-with - 修改已有功能 — 直接 open 新 change 即可
- Preset 有上限 — hotfix/tweak 满足升级条件时及时切换到完整流程
- Brainstorming cannot be skipped — Every change must undergo deep design (except hotfix and tweak)
- Delta spec is a living document — Can be freely modified during Phase 3, synchronized during archiving
- Handoff packages are generated by scripts — Context from OpenSpec → Superpowers must be generated as compact, traceable excerpts via (use
comet-handoff.shif necessary), and validated by guard for source/hash/mode--full - Keep tasks.md synchronized — Check off one task after completion
- Commit frequently — One commit per task, message reflects design intent
- Verify before archiving — Execute only after
/comet-archivepasses/comet-verify - Incremental update grading — Minor edits, medium brainstorming, major new changes
- Plan must be associated with change — File header contains and
change:metadatadesign-doc: - Archiving closed loop — Design doc and plan must be annotated with state
archived-with - Modify existing features — Simply open a new change
- Presets have limits — Switch to full workflow promptly when hotfix/tweak meets upgrade conditions