What problem does it solve?
It prevents partially finished specifications from being mistakenly treated as delivered by enforcing readiness checks and then freezing the spec as immutable history.
Core Features & Use Cases
- Readiness validation: Blocks finalization when the spec status is already closed, when tasks are not all marked Done, or when unresolved clarification markers remain in requirements/design files.
- What shipped capture: Collects commit history and existing task completion notes to accurately summarize shipped behavior versus descoped or deviated work.
- Spec lifecycle update: Updates
requirements.md frontmatter to completed, appends implementation notes to design.md, and maintains a single up-to-date entry in specs/INDEX.md.
- Use Case: After implementing a feature spec, finalize it so future work creates a new spec instead of mutating the closed one.
Quick Start
Run spec-finalize with the kebab-case feature name (for example: spec-finalize ui-theme) to verify readiness, append implementation notes, mark the spec completed, and update the specs index.