Spec-driven workflow covering requirement gathering, spec authoring, implementation review, and verification — with skills, rules, and evaluation scenarios.
96
90%
Does it follow best practices?
Impact
98%
1.19xAverage score across 9 eval scenarios
Passed
No known issues
Ensure code and tests still reflect the documented requirements. Detect and fix drift between specs, implementation, and tests.
work-review flags potential spec driftFind all specs. Locate .spec.md files in the project's specs/ directory:
find specs/ -name "*.spec.md" 2>/dev/nullValidate structural integrity. For each spec, check that links resolve:
targets: path exists (expand globs, confirm matches)[@test] link points to an existing test filename, description, and at least one target# Use the bundled validation scripts:
./scripts/validate-specs.sh specs/
./scripts/check-spec-links.sh specs/If either script reports failures, record them as broken-link findings.
Run linked tests. Execute the test files referenced by [@test] links:
# Extract test paths from specs and run them
grep -rh '\[@test\]' specs/*.spec.md | sed 's/.*\[@test\] *//' | sed 's/`$//'If tests fail, diagnose the failure. Determine whether the test, the code, or the spec is wrong before proceeding.
Spot-check targets for drift. Read the files listed in targets: and compare against spec requirements:
Check for drift signals:
targets: or [@test] linksFix drift. When drift is detected:
[@test] linksA verification report:
## Spec Verification: [date]
### Specs checked
- specs/auth.spec.md — OK
- specs/payments.spec.md — 2 issues
### Broken links
- specs/payments.spec.md: target `src/billing/old.py` not found (renamed to `src/billing/processor.py`)
- specs/payments.spec.md: [@test] `tests/test_refund.py` not found
### Drift detected
- specs/auth.spec.md: `login()` now accepts OAuth tokens — not documented in spec
### Actions taken
- Updated targets in specs/payments.spec.md
- Added OAuth requirement to specs/auth.spec.md
- All linked tests pass after fixes