# Comet Open

Create a Classic change, clarify its requirements, and obtain user confirmation.

- Repository: https://github.com/rpamis/comet (3263 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add rpamis/comet --skill comet-open -g -a claude-code -y`
Codex: `npx skills add rpamis/comet --skill comet-open -g -a codex -y`
Cursor: `npx skills add rpamis/comet --skill comet-open -g -a cursor -y`
Gemini CLI: `npx skills add rpamis/comet --skill comet-open -g -a gemini-cli -y`

## Description

Create a Classic change, clarify its requirements, and obtain user confirmation. Use when the user invokes /comet-open or Classic enters Open or resumes initialization.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Comet Phase 1: Open

On first entering a phase, handing off to a new Agent, or restoring context, read and follow [Task Context and Artifact Language](../comet-classic/reference/scripts.md#task-context-and-artifact-language). Prefer the current continuation or claimed Action's `contextRequest`; do not retrieve repeatedly during uninterrupted work in the same phase.

Before starting or resuming, read and follow `comet-classic/reference/classic-layout.md`. All OpenSpec CLI calls in this file must use the adapter, and all paths must use the `<classic-*>` logical roots bound by that protocol.

## Prerequisites

- There is no active change, or the user wants to create a new one.

## Steps

### 0. Set the output language

Every question and artifact-generation request passed to OpenSpec must specify the resolved Comet artifact language using a normalized ID such as `en` or `zh-CN`. Before a change is initialized, read `classic.language` from project `.comet/config.yaml`, then global `~/.comet/config.yaml`. After initialization, reuse `configuration.language` from the current valid response; use `comet state get <name> language` only when it is missing. Fall back to the current request's language only when no language is configured. `proposal.md`, `design.md`, and `tasks.md` must primarily use that language.

### 0a. Bind the current change

When the response already includes `agent.continuation.mode`, follow `comet-classic/reference/auto-transition.md` first. `wait` distinguishes manual handoff from waiting for the original executor under auto-transition.md, without running recovery queries merely because the compatibility field says `nextAction.kind: reconcile`. Use the current response’s commands and inputs; submit `completion` only after the Skill’s actual work is complete. Recovery rules below based on `nextAction.kind` apply only to older responses without `mode`.

The rest: https://github.com/rpamis/comet/blob/HEAD/assets/skills/comet-open/SKILL.md
