Ccxray openspec-continue-change
Continue working on an OpenSpec change by creating the next artifact. Use when the user wants to progress their change, create the next artifact, or continue their workflow.
git clone https://github.com/lis186/ccxray
T=$(mktemp -d) && git clone --depth=1 https://github.com/lis186/ccxray "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/openspec-continue-change" ~/.claude/skills/lis186-ccxray-openspec-continue-change && rm -rf "$T"
.claude/skills/openspec-continue-change/SKILL.mdContinue working on a change by creating the next artifact.
Input: Optionally specify a change name. If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.
Steps
-
If no change name provided, prompt for selection
Run
to get available changes sorted by most recently modified. Then use the AskUserQuestion tool to let the user select which change to work on.openspec list --jsonPresent the top 3-4 most recently modified changes as options, showing:
- Change name
- Schema (from
field if present, otherwise "spec-driven")schema - Status (e.g., "0/5 tasks", "complete", "no tasks")
- How recently it was modified (from
field)lastModified
Mark the most recently modified change as "(Recommended)" since it's likely what the user wants to continue.
IMPORTANT: Do NOT guess or auto-select a change. Always let the user choose.
-
Check current status
openspec status --change "<name>" --jsonParse the JSON to understand current state. The response includes:
: The workflow schema being used (e.g., "spec-driven")schemaName
: Array of artifacts with their status ("done", "ready", "blocked")artifacts
: Boolean indicating if all artifacts are completeisComplete
-
Act based on status:
If all artifacts are complete (
):isComplete: true- Congratulate the user
- Show final status including the schema used
- Suggest: "All artifacts created! You can now implement this change or archive it."
- STOP
If artifacts are ready to create (status shows artifacts with
):status: "ready"- Pick the FIRST artifact with
from the status outputstatus: "ready" - Get its instructions:
openspec instructions <artifact-id> --change "<name>" --json - Parse the JSON. The key fields are:
: Project background (constraints for you - do NOT include in output)context
: Artifact-specific rules (constraints for you - do NOT include in output)rules
: The structure to use for your output filetemplate
: Schema-specific guidanceinstruction
: Where to write the artifactoutputPath
: Completed artifacts to read for contextdependencies
- Create the artifact file:
- Read any completed dependency files for context
- Use
as the structure - fill in its sectionstemplate - Apply
andcontext
as constraints when writing - but do NOT copy them into the filerules - Write to the output path specified in instructions
- Show what was created and what's now unlocked
- STOP after creating ONE artifact
If no artifacts are ready (all blocked):
- This shouldn't happen with a valid schema
- Show status and suggest checking for issues
-
After creating an artifact, show progress
openspec status --change "<name>"
Output
After each invocation, show:
- Which artifact was created
- Schema workflow being used
- Current progress (N/M complete)
- What artifacts are now unlocked
- Prompt: "Want to continue? Just ask me to continue or tell me what to do next."
Artifact Creation Guidelines
The artifact types and their purpose depend on the schema. Use the
instruction field from the instructions output to understand what to create.
Common artifact patterns:
spec-driven schema (proposal → specs → design → tasks):
- proposal.md: Ask user about the change if not clear. Fill in Why, What Changes, Capabilities, Impact.
- The Capabilities section is critical - each capability listed will need a spec file.
- specs/<capability>/spec.md: Create one spec per capability listed in the proposal's Capabilities section (use the capability name, not the change name).
- design.md: Document technical decisions, architecture, and implementation approach.
- tasks.md: Break down implementation into checkboxed tasks.
For other schemas, follow the
instruction field from the CLI output.
Guardrails
- Create ONE artifact per invocation
- Always read dependency artifacts before creating a new one
- Never skip artifacts or create out of order
- If context is unclear, ask the user before creating
- Verify the artifact file exists after writing before marking progress
- Use the schema's artifact sequence, don't assume specific artifact names
- IMPORTANT:
andcontext
are constraints for YOU, not content for the filerules- Do NOT copy
,<context>
,<rules>
blocks into the artifact<project_context> - These guide what you write, but should never appear in the output
- Do NOT copy