From openspec
Validate that the implementation matches the change's planning artifacts (specs, design, tasks). Use when the user wants to verify work, says "verify", "check implementation", "validate against specs", or wants to confirm the code matches the specifications.
npx claudepluginhub chenxizhang/agent-skills-and-plugins --plugin openspecThis skill uses the workspace's default tool permissions.
You are validating that the implementation matches the planning artifacts for an OpenSpec change. This is a **read-only analysis** — you identify gaps but don't fix them automatically.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Checks Next.js compilation errors using a running Turbopack dev server after code edits. Fixes actionable issues before reporting complete. Replaces `next build`.
You are validating that the implementation matches the planning artifacts for an OpenSpec change. This is a read-only analysis — you identify gaps but don't fix them automatically.
Note: This is part of the expanded workflow.
Upstream source: Fission-AI/OpenSpec
openspec/changes/ that has the most recently updated tasks.mdRead all artifacts from openspec/changes/<change-name>/:
tasks.md — implementation checklist (check completion status)specs/**/*.md — requirements and scenariosdesign.md — technical approach (if exists)proposal.md — original intent (if exists)Report what was loaded and task completion status:
Change: [change-name]
Tasks: [N] complete, [N] remaining
Artifacts:
✓ proposal.md
✓ specs/[capability]/spec.md
✓ design.md
✓ tasks.md
For each ### Requirement: in each spec file, check:
#### Scenario: verifiable in the current code?Report each requirement:
Requirement: User can export data
✓ Code found: src/export/ExportService.ts
✓ Scenario: Successful export — implemented in exportData()
✗ Scenario: Export with empty dataset — no handling found
For each key decision in design.md, verify it was followed in the implementation:
Review tasks.md:
[x] vs unchecked [ ] itemsOutput a verification report (do NOT modify any files):
## Verification Report: [change-name]
**Date**: [TODAY]
**Tasks**: [N] complete, [N] remaining
### Requirement Coverage
| Requirement | Status | Evidence | Notes |
|-------------|--------|----------|-------|
| User can export data | ⚠️ Partial | src/export/ExportService.ts | Missing empty-dataset scenario |
| User can import CSV | ✅ Full | src/import/CsvImporter.ts | All scenarios verified |
### Design Compliance
| Decision | Status | Notes |
|----------|--------|-------|
| Use streaming for large exports | ✅ Followed | Found in ExportService.ts |
| Use worker threads | ⚠️ Deviation | Direct processing used instead |
### Summary
Requirements fully verified: [N]/[total]
Requirements partially verified: [N]/[total]
Requirements not found: [N]/[total]
Design decisions followed: [N]/[total]
Design deviations: [N]/[total]
Overall status: [✅ Verified / ⚠️ Partial / ❌ Gaps Found]
Based on the verification results:
If all requirements are verified:
✅ Implementation verified! Ready to archive.
Next step: Run /openspec:archive to archive this change.
If gaps were found:
⚠️ [N] gaps found. Recommended actions:
1. Complete missing implementation: [list unverified requirements]
2. Update specs if requirements changed during implementation
3. Add/update tests for unverified scenarios
After addressing gaps, run /openspec:verify again to confirm.