skills/openspec-verify-change/SKILL.md
Verify that an implementation matches the change artifacts (specs, tasks, design).
Store selection: If the user names a store (a store is a standalone OpenSpec repo registered on this machine) or the work lives in one, run openspec store list --json to discover registered store ids, then pass --store <id> on the commands that read or write specs and changes (new change, status, instructions, list, show, validate, archive, doctor, context, view). Other commands do not take the flag. Hints printed by commands already carry the flag; keep it on follow-ups. Without a store, commands act on the nearest local openspec/ root.
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
Select the change
If a name is provided, use it. Otherwise:
openspec list --json to get available changes and ask the user to select oneWhen prompting, show changes that have implementation tasks (tasks artifact exists). Include the schema used for each change if available. Mark changes with incomplete tasks as "(In Progress)".
Always announce: "Using change: <name>" and how to override (e.g., /openspec-verify-change <other>).
Check status to understand the schema
openspec status --change "<name>" --json
Parse the JSON to understand:
schemaName: The workflow being used (e.g., "spec-driven")planningHome, changeRoot, artifactPaths, and actionContext: path and scope contextGet planning context and load artifacts
openspec instructions apply --change "<name>" --json
This returns the change directory and contextFiles (artifact ID -> array of concrete file paths). Read all available artifacts from contextFiles.
Initialize verification report structure
Create a report structure with three dimensions:
Each dimension can have CRITICAL, WARNING, or SUGGESTION issues.
Verify Completeness
Task Completion:
contextFiles.tasks exists, read every file path in it- [ ] (incomplete) vs - [x] (complete)Spec Coverage:
contextFiles.specs:
Verify Correctness
Requirement Implementation Mapping:
Scenario Coverage:
Verify Coherence
Design Adherence:
contextFiles.design exists:
Code Pattern Consistency:
Generate Verification Report
Summary Scorecard:
## Verification Report: <change-name>
### Summary
| Dimension | Status |
|--------------|------------------|
| Completeness | X/Y tasks, N reqs|
| Correctness | M/N reqs covered |
| Coherence | Followed/Issues |
Issues by Priority:
CRITICAL (Must fix before archive):
WARNING (Should fix):
SUGGESTION (Nice to fix):
Final Assessment:
Verification Heuristics
Graceful Degradation
Output Format
Use clear markdown with:
file.ts:123