You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
日本語の概要は準備中です。原文の説明を表示しています。
Comet Phase 2: Deep Design. Invoke with /comet-design. Produce Design Doc and delta spec through brainstorming.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
docs/superpowers/specs/)Execute entry verification:
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_BASH" "$COMET_STATE" check <name> design
Proceed to Step 1 after verification passes. The script outputs specific failure reasons when verification fails.
Idempotency: All design phase operations can be safely re-executed. If handoff_context and handoff_hash already exist, confirm they match current artifacts before deciding whether to regenerate.
Must be generated by script. Agent writing summaries on the fly is not allowed.
"$COMET_BASH" "$COMET_HANDOFF" <change-name> design --write
The script reads the change .comet.yaml context_compression snapshot, then generates and records the matching handoff package.
Default context_compression: off generates:
openspec/changes/<name>/.comet/handoff/design-context.json
openspec/changes/<name>/.comet/handoff/design-context.md
Beta mode (context_compression: beta in project .comet/config.yaml, snapshotted into .comet.yaml when the change is created) generates:
openspec/changes/<name>/.comet/handoff/spec-context.json
openspec/changes/<name>/.comet/handoff/spec-context.md
And writes to .comet.yaml:
handoff_context: openspec/changes/<name>/.comet/handoff/design-context.json
handoff_hash: <sha256>
The default handoff package is a compact traceable excerpt, not an agent summary:
design-context.json: machine index containing change, phase, canonical spec, source paths, hashdesign-context.md: context for Superpowers to read, containing script markers, source path, line range, sha256, deterministic excerpts[TRUNCATED] and retains Full source pathThe beta handoff package is a structured spec projection that reduces OpenSpec token load without replacing the canonical spec:
spec-context.json: machine index containing change, phase, canonical spec, source paths, hash, and file rolesspec-context.md: context for Superpowers to read, verbatim-projecting delta spec files and referencing supporting artifacts by hashIf full context is genuinely needed, explicitly run:
"$COMET_BASH" "$COMET_HANDOFF" <change-name> design --write --full
Handoff package sources come from OpenSpec open phase artifacts:
proposal.md: goals, motivation, scope, non-goalsdesign.md: high-level architecture decisions, approach constraintstasks.md: initial task boundariesspecs/*/spec.md: delta capability specsImmediately execute: Use the Skill tool to load the Superpowers brainstorming skill. Skipping this step is prohibited.
When loading the skill, ARGUMENTS must include:
Language: Use the language of the user request that triggered this workflow
After the skill loads, follow its guidance and use the following context:
Change: <change-name>
OpenSpec Context Pack: openspec/changes/<name>/.comet/handoff/design-context.md
Machine handoff: openspec/changes/<name>/.comet/handoff/design-context.json
If context_compression is beta, use:
OpenSpec Context Pack: openspec/changes/<name>/.comet/handoff/spec-context.md
Machine handoff: openspec/changes/<name>/.comet/handoff/spec-context.json
OpenSpec artifacts are the upstream source of truth, but you must not weaken the Superpowers `brainstorming` clarification flow by "skipping redundant context exploration".
Your task is to perform deep technical design based on the handoff package: implementation approach, technical risks, testing strategy, boundary conditions.
If goals, scope, non-goals, acceptance scenarios, or key constraints remain unclear, you must continue asking questions and form the design proposal first; must not create the Design Doc after only one Q&A turn.
Do not rewrite proposal/spec; if you find OpenSpec delta spec missing acceptance scenarios, you may only propose Spec Patches and write them back to OpenSpec delta spec; do not create a second requirements spec in the Design Doc. Spec Patches are limited to supplementing acceptance scenarios, correcting ambiguous descriptions, or adding boundary conditions — they must not substantially rewrite the delta spec's structure or scope. If major changes are needed, flag them as design findings and return to brainstorming for confirmation.
Design Doc frontmatter must be minimal, containing only:
---
comet_change: <change-name>
role: technical-design
canonical_spec: openspec
---
Proceed through the original `brainstorming` skill flow: clarifying questions, 2-3 approaches, and step-by-step design confirmation. Do not write the Design Doc early.
Proceeding without loading this skill is prohibited.
If the Superpowers brainstorming skill is unavailable, stop the process and prompt to install or enable Superpowers skills. Do not substitute this step with normal conversation.
After the skill loads, follow its guidance to produce design proposals (presented as conversation):
The brainstorming phase does not write to the Design Doc file; it only produces design proposals for Step 1c user confirmation. Only after confirmation should docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md be created and delta spec written back.
For context compaction recovery, the agent must incrementally update brainstorm-summary.md during brainstorming. After each clarification round or proposal iteration, update the file whenever new confirmed facts, key constraints, candidate approaches, trade-offs/risks, testing strategy, or Spec Patch candidates emerge; mark unconfirmed items as "pending" or "candidate". This file is a recovery checkpoint, not the Design Doc, and must not replace the Step 1c user confirmation.
After brainstorming produces a design proposal, must follow the comet/reference/decision-point.md protocol to pause and wait for the user to explicitly confirm the design proposal. Must not create the final Design Doc, write design_doc, run design guard, or enter /comet-build before user confirmation.
When pausing, only present essential summary:
Only after the user explicitly confirms, proceed to Step 2. If the user requests adjustments, continue brainstorming iteration until the user confirms.
After the user confirms the design proposal, before creating the Design Doc, create or update the incrementally maintained checkpoint file and finalize it as the confirmed design summary:
mkdir -p openspec/changes/<name>/.comet/handoff
openspec/changes/<name>/.comet/handoff/brainstorm-summary.md structure:
# Brainstorm Summary
- Change: <change-name>
- Date: <YYYY-MM-DD>
## Confirmed Technical Approach
<summary of the user-confirmed approach>
## Key Trade-offs and Risks
<major trade-offs and risks>
## Testing Strategy
<testing method overview>
## Spec Patches
<delta spec changes to write back, or "None" if none>
Context compaction note: Each incremental update to brainstorm-summary.md is a relatively safe recovery point. After brainstorming completes, if the context window is tight, prefer compacting here. After compaction, reload the following files to continue Step 2:
openspec/changes/<name>/.comet/handoff/brainstorm-summary.mdopenspec/changes/<name>/.comet/handoff/design-context.md (or spec-context.md in beta mode)openspec/changes/<name>/.comet/handoff/design-context.json (or spec-context.json in beta mode)After Step 1d completes and brainstorm-summary.md is written, enter the active compaction gate before creating the Design Doc. At this point the OpenSpec handoff, brainstorming decisions, and pending items are durable, so the agent should proactively release the earlier Spec and brainstorming context to preserve window space for Step 2 and the later Build phase.
Rules:
Create the Design Doc based on the full brainstorming conversation context (still in the main session).
Design Doc frontmatter must be minimal:
---
comet_change: <change-name>
role: technical-design
canonical_spec: openspec
---
Write the Design Doc to docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md.
If Spec Patches need to be written back, also edit the corresponding specs/*/spec.md.
Context compaction recovery: If context has been compacted, resume from brainstorm-summary.md + handoff context. If the user has not confirmed the design proposal yet, return to Step 1b/1c and continue brainstorming; if the user has confirmed it, continue creating the Design Doc. brainstorm-summary.md is the compaction checkpoint, not the sole input for the Design Doc — when creating, leverage the full recovered context as much as possible.
First record the design_doc path. If Spec Patches wrote back delta spec (added or modified specs/*/spec.md), must regenerate handoff to update hash:
# Record design_doc path
"$COMET_BASH" "$COMET_STATE" set <name> design_doc docs/superpowers/specs/YYYY-MM-DD-topic-design.md
# If delta spec changes exist, regenerate handoff (update hash)
"$COMET_BASH" "$COMET_HANDOFF" <change-name> design --write
# Auto-transition to next phase
"$COMET_BASH" "$COMET_GUARD" <change-name> design --apply
If there are no delta spec changes, skip the handoff regeneration step. The state file updates automatically; no manual editing of other fields needed.
comet_change, role: technical-design, canonical_spec: openspechandoff_context and handoff_hash written to .comet.yaml (enforced by guard)handoff_hash matches current OpenSpec open phase artifacts (enforced by guard)design-context.md or beta spec-context.md must be script-generated and contain source path, mode, sha256 traceability markers (enforced by guard)spec-context.json must be structurally valid and reference the current source files (enforced by guard)design_doc written to .comet.yaml"$COMET_BASH" "$COMET_GUARD" <change-name> design --apply; after all PASS, auto-transitions to phase: buildMust use --apply before exit:
"$COMET_BASH" "$COMET_GUARD" <change-name> design --apply
Follow comet/reference/context-recovery.md with phase set to design.
Follow comet/reference/auto-transition.md. Key command:
"$COMET_BASH" "$COMET_STATE" next <change-name>
NEXT: auto → invoke the skill pointed to by SKILL to enter the next phaseNEXT: manual → do not invoke the next skill; prompt user to run /<SKILL> manuallyNEXT: done → workflow is complete, no further action neededまだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
日本語の概要は準備中です。原文の説明を表示しています。
Comet 工作流入口。当用户明确调用 /comet,或明确要求使用 Comet 但未指定 Native/Classic 时使用;按项目配置加载 Native 或 Classic。
日本語の概要は準備中です。原文の説明を表示しています。
Comet workflow entry. Use when the user invokes /comet or asks to use Comet without choosing Native or Classic; load Native or Classic from project configuration.
日本語の概要は準備中です。原文の説明を表示しています。
Comet — OpenSpec + Superpowers dual-star development workflow. Start with /comet for automatic phase detection and dispatch to subcommands. Five phases: open → design → build → verify → archive.
日本語の概要は準備中です。原文の説明を表示しています。
Use when 用户要启动或恢复 Comet 工作流,需要根据 active change、.comet.yaml、hotfix/tweak 意图路由到对应阶段 Skill。
日本語の概要は準備中です。原文の説明を表示しています。
通过 Comet Creator 创建或升级 Comet Classic workflow Skill。不用于一般 Skill 的编写、整理或评审。
日本語の概要は準備中です。原文の説明を表示しています。