OpenSpec Apply Skill
Use /opsx:apply to implement tasks from a change. The agent reads tasks.md, works through tasks one by one, writes code, creates files, runs tests as needed, and checks off completed items with [x].
When to Use
- All planning artifacts are complete and the user wants to implement.
- The user says "implement", "apply", "start coding", "execute tasks".
- Resuming implementation after an interruption.
Prerequisites
- Planning artifacts complete — at minimum
tasks.mdexists (created via openspec-ff or openspec-continue).
Workflow
-
Start implementation
/opsx:apply— apply the current/inferred change./opsx:apply <change-name>— apply a specific change.
-
Read tasks
- The agent reads
tasks.mdand identifies incomplete tasks (unchecked[ ]items).
- The agent reads
-
Work through tasks
- For each task: read relevant specs, design, and existing code; write code; create/modify files; run tests.
- Mark each task complete with
[x]intasks.md.
-
Handle issues
- If a task reveals that the design was wrong, edit the artifact (e.g.
design.md) and continue. - OpenSpec is fluid — updating artifacts during implementation is expected and encouraged.
- If a task reveals that the design was wrong, edit the artifact (e.g.
-
Resume if interrupted
- Run
/opsx:applyagain; it picks up where it left off based on checkbox state.
- Run
Outputs
- Code changes (new files, modified files) implementing the tasks.
tasks.mdupdated with[x]for completed tasks.
Next Steps
- Use openspec-verify to validate implementation matches artifacts.
- Use openspec-archive to archive the completed change.
Troubleshooting
- "Change not found": Specify the change name:
/opsx:apply add-dark-mode. - Tasks seem wrong: Edit
tasks.md(or use/opsx:continueto regenerate) before applying. - Implementation diverges from design: Edit
design.mdorspecs/as needed; OpenSpec is iterative.