OpenSpec Apply Change
Use this skill when the user wants to implement an existing OpenSpec change.
Workflow
-
Resolve the target change.
- If the user names it, use that change.
- Otherwise inspect active changes and choose the only obvious candidate.
- If multiple candidates are plausible, ask the user to pick one.
-
Inspect change status:
openspec status --change "<name>" --json
- Load implementation instructions:
openspec instructions apply --change "<name>" --json
-
Handle instruction states:
blocked: explain what artifact is missing and suggestopenspec-propose-changeall_done: summarize that implementation is complete and suggest archive- otherwise: continue
-
Read all files listed in
contextFiles. -
Implement pending tasks.
- Keep changes minimal and scoped.
- Mark completed tasks in the tasks artifact immediately.
- Continue until done, blocked, or the user interrupts.
-
If implementation reveals a spec or design mismatch:
- pause
- explain the mismatch
- suggest updating the change artifacts before continuing
Output
Always report:
- which change is being used
- current progress
- tasks completed in this session
- whether the next step is more implementation, verify, or archive
Guardrails
- Always read
contextFilesbefore changing code. - Do not guess through ambiguous tasks.
- If the change has no tasks yet, do not improvise implementation.
- Prefer finishing one coherent chunk of work before stopping.