Continue working on a change by creating the next artifact.
Input: Optionally specify a change name. If omitted, MUST prompt for available changes.
Steps
If no change name provided, prompt for selection
Run openspec list --json to get available changes sorted by most recently modified. Then use the AskUserQuestion tool to let the user select which change to work on.
Present the top 3-4 most recently modified changes as options, showing:
- Change name
- Schema (from
schema field if present, otherwise "spec-driven")
- Status (e.g., "0/5 tasks", "complete", "no tasks")
- How recently it was modified (from
lastModified field)
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>" --json
Parse the JSON to understand current state. The response includes:
schemaName: The workflow schema being used (e.g., "spec-driven", "tdd")
artifacts: Array of artifacts with their status ("done", "ready", "blocked")
isComplete: Boolean indicating if all artifacts are complete
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 status: "ready" from the status output
Get its instructions:
openspec instructions <artifact-id> --change "<name>" --json
Parse the JSON to get template, dependencies, and what it unlocks
Create the artifact file using the template as a starting point:
- Read any completed dependency files for context
- Fill in the template based on context and user's goals
- 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/*.md: Create one spec per capability listed in the proposal.
- design.md: Document technical decisions, architecture, and implementation approach.
- tasks.md: Break down implementation into checkboxed tasks.
tdd schema (spec → tests → implementation → docs):
- spec.md: Feature specification defining what to build.
- tests/*.test.ts: Write tests BEFORE implementation (TDD red phase).
- src/*.ts: Implement to make tests pass (TDD green phase).
- docs/*.md: Document the implemented feature.
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
1---2name: openspec-continue-change-63description: 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.4---56Continue working on a change by creating the next artifact.78**Input**: Optionally specify a change name. If omitted, MUST prompt for available changes.910**Steps**11121. **If no change name provided, prompt for selection**1314 Run `openspec list --json` to get available changes sorted by most recently modified. Then use the **AskUserQuestion tool** to let the user select which change to work on.1516 Present the top 3-4 most recently modified changes as options, showing:17 - Change name18 - Schema (from `schema` field if present, otherwise "spec-driven")19 - Status (e.g., "0/5 tasks", "complete", "no tasks")20 - How recently it was modified (from `lastModified` field)2122 Mark the most recently modified change as "(Recommended)" since it's likely what the user wants to continue.2324 **IMPORTANT**: Do NOT guess or auto-select a change. Always let the user choose.25262. **Check current status**2728 ```bash29 openspec status --change "<name>" --json30 ```3132 Parse the JSON to understand current state. The response includes:33 - `schemaName`: The workflow schema being used (e.g., "spec-driven", "tdd")34 - `artifacts`: Array of artifacts with their status ("done", "ready", "blocked")35 - `isComplete`: Boolean indicating if all artifacts are complete36373. **Act based on status**:3839 ---4041 **If all artifacts are complete (`isComplete: true`)**:42 - Congratulate the user43 - Show final status including the schema used44 - Suggest: "All artifacts created! You can now implement this change or archive it."45 - STOP4647 ---4849 **If artifacts are ready to create** (status shows artifacts with `status: "ready"`):50 - Pick the FIRST artifact with `status: "ready"` from the status output51 - Get its instructions:5253 ```bash54 openspec instructions <artifact-id> --change "<name>" --json55 ```5657 - Parse the JSON to get template, dependencies, and what it unlocks58 - **Create the artifact file** using the template as a starting point:59 - Read any completed dependency files for context60 - Fill in the template based on context and user's goals61 - Write to the output path specified in instructions62 - Show what was created and what's now unlocked63 - STOP after creating ONE artifact6465 ---6667 **If no artifacts are ready (all blocked)**:68 - This shouldn't happen with a valid schema69 - Show status and suggest checking for issues70714. **After creating an artifact, show progress**7273 ```bash74 openspec status --change "<name>"75 ```7677**Output**7879After each invocation, show:8081- Which artifact was created82- Schema workflow being used83- Current progress (N/M complete)84- What artifacts are now unlocked85- Prompt: "Want to continue? Just ask me to continue or tell me what to do next."8687**Artifact Creation Guidelines**8889The artifact types and their purpose depend on the schema. Use the `instruction` field from the instructions output to understand what to create.9091Common artifact patterns:9293**spec-driven schema** (proposal → specs → design → tasks):9495- **proposal.md**: Ask user about the change if not clear. Fill in Why, What Changes, Capabilities, Impact.96 - The Capabilities section is critical - each capability listed will need a spec file.97- **specs/*.md**: Create one spec per capability listed in the proposal.98- **design.md**: Document technical decisions, architecture, and implementation approach.99- **tasks.md**: Break down implementation into checkboxed tasks.100101**tdd schema** (spec → tests → implementation → docs):102103- **spec.md**: Feature specification defining what to build.104- **tests/*.test.ts**: Write tests BEFORE implementation (TDD red phase).105- **src/*.ts**: Implement to make tests pass (TDD green phase).106- **docs/*.md**: Document the implemented feature.107108For other schemas, follow the `instruction` field from the CLI output.109110**Guardrails**111112- Create ONE artifact per invocation113- Always read dependency artifacts before creating a new one114- Never skip artifacts or create out of order115- If context is unclear, ask the user before creating116- Verify the artifact file exists after writing before marking progress117- Use the schema's artifact sequence, don't assume specific artifact names