metadata:
author: openspec
version: '1.0'
- generatedBy: '1.2.0'
+ generatedBy: '1.3.1'
---
Implement tasks from an OpenSpec change.
```
This returns:
- - Context file paths (varies by schema - could be proposal/specs/design/tasks or spec/tests/implementation/docs)
+ - `contextFiles`: artifact ID -> array of concrete file paths (varies by schema - could be proposal/specs/design/tasks or spec/tests/implementation/docs)
- Progress (total, complete, remaining)
- Task list with status
- Dynamic instruction based on current state
4. **Read context files**
- Read the files listed in `contextFiles` from the apply instructions output.
+ Read every file path listed under `contextFiles` from the apply instructions output.
The files depend on the schema being used:
- **spec-driven**: proposal, specs, design, tasks
- Other schemas: follow the contextFiles from CLI output
metadata:
author: openspec
version: '1.0'
- generatedBy: '1.2.0'
+ generatedBy: '1.3.1'
---
Enter explore mode. Think deeply. Visualize freely. Follow the conversation wherever it goes.
│ Use ASCII diagrams liberally │
├─────────────────────────────────────────┤
│ │
-│ ┌────────┐ ┌────────┐ │
-│ │ State │────────▶│ State │ │
-│ │ A │ │ B │ │
-│ └────────┘ └────────┘ │
+│ ┌────────┐ ┌────────┐ │
+│ │ State │────────▶│ State │ │
+│ │ A │ │ B │ │
+│ └────────┘ └────────┘ │
│ │
│ System diagrams, state machines, │
│ data flows, architecture sketches, │
You: That changes everything.
┌─────────────────────────────────────────────────┐
- │ CLI TOOL DATA STORAGE │
+ │ CLI TOOL DATA STORAGE │
└─────────────────────────────────────────────────┘
Key constraints:
metadata:
author: openspec
version: '1.0'
- generatedBy: '1.2.0'
+ generatedBy: '1.3.1'
---
Guide the user through their first complete OpenSpec workflow cycle. This is a teaching experience—you'll do real work in their codebase while explaining each step.
**Core workflow:**
-| Command | What it does |
-|---------|--------------|
-| `/opsx-propose` | Create a change and generate all artifacts |
-| `/opsx-explore` | Think through problems before/during work |
-| `/opsx-apply` | Implement tasks from a change |
-| `/opsx-archive` | Archive a completed change |
+ | Command | What it does |
+ |-------------------|--------------------------------------------|
+ | `/opsx-propose` | Create a change and generate all artifacts |
+ | `/opsx-explore` | Think through problems before/during work |
+ | `/opsx-apply` | Implement tasks from a change |
+ | `/opsx-archive` | Archive a completed change |
**Additional commands:**
-| Command | What it does |
-|---------|--------------|
-| `/opsx-new` | Start a new change, step through artifacts one at a time |
-| `/opsx-continue` | Continue working on an existing change |
-| `/opsx-ff` | Fast-forward: create all artifacts at once |
-| `/opsx-verify` | Verify implementation matches artifacts |
+ | Command | What it does |
+ |--------------------|----------------------------------------------------------|
+ | `/opsx-new` | Start a new change, step through artifacts one at a time |
+ | `/opsx-continue` | Continue working on an existing change |
+ | `/opsx-ff` | Fast-forward: create all artifacts at once |
+ | `/opsx-verify` | Verify implementation matches artifacts |
---
**Core workflow:**
-| Command | What it does |
-|---------|--------------|
-| `/opsx-propose <name>` | Create a change and generate all artifacts |
-| `/opsx-explore` | Think through problems (no code changes) |
-| `/opsx-apply <name>` | Implement tasks |
-| `/opsx-archive <name>` | Archive when done |
+ | Command | What it does |
+ |--------------------------|--------------------------------------------|
+ | `/opsx-propose <name>` | Create a change and generate all artifacts |
+ | `/opsx-explore` | Think through problems (no code changes) |
+ | `/opsx-apply <name>` | Implement tasks |
+ | `/opsx-archive <name>` | Archive when done |
**Additional commands:**
-| Command | What it does |
-|---------|--------------|
-| `/opsx-new <name>` | Start a new change, step by step |
-| `/opsx-continue <name>` | Continue an existing change |
-| `/opsx-ff <name>` | Fast-forward: all artifacts at once |
-| `/opsx-verify <name>` | Verify implementation |
+ | Command | What it does |
+ |---------------------------|-------------------------------------|
+ | `/opsx-new <name>` | Start a new change, step by step |
+ | `/opsx-continue <name>` | Continue an existing change |
+ | `/opsx-ff <name>` | Fast-forward: all artifacts at once |
+ | `/opsx-verify <name>` | Verify implementation |
Try `/opsx-propose` to start your first change.
```
metadata:
author: openspec
version: '1.0'
- generatedBy: '1.2.0'
+ generatedBy: '1.3.1'
---
Verify that an implementation matches the change artifacts (specs, tasks, design).
openspec instructions apply --change "<name>" --json
```
- This returns the change directory and context files. Read all available artifacts from `contextFiles`.
+ This returns the change directory and `contextFiles` (artifact ID -> array of concrete file paths). Read all available artifacts from `contextFiles`.
4. **Initialize verification report structure**
5. **Verify Completeness**
**Task Completion**:
- - If tasks.md exists in contextFiles, read it
+ - If `contextFiles.tasks` exists, read every file path in it
- Parse checkboxes: `- [ ]` (incomplete) vs `- [x]` (complete)
- Count complete vs total tasks
- If incomplete tasks exist:
7. **Verify Coherence**
**Design Adherence**:
- - If design.md exists in contextFiles:
+ - If `contextFiles.design` exists:
- Extract key decisions (look for sections like "Decision:", "Approach:", "Architecture:")
- Verify implementation follows those decisions
- If contradiction detected: