## Definition
**OpenSpec** is a lightweight SDD framework that treats every meaningful change as a versioned **delta proposal** against the spec before any code is written. Proposals live in `openspec/changes/` and, once merged, archive into `openspec/archive/` as part of a growing source-of-truth document.
## Workflow
1. **Propose.** Author writes `openspec/changes/<slug>/proposal.md`. Agent helps fill in deltas.
2. **Review.** Humans and a reviewer agent push back on the proposal, not the code.
3. **Implement.** Only after the proposal is approved. The proposal *is* the prompt.
4. **Archive.** Merged proposals move to `openspec/archive/`, becoming audit trail and onboarding material.
## Proposal Template (abbreviated)
```markdown
# Proposal: <name>
## Why
<motivation>
## Spec delta
### Added
- ...
### Changed
- ...
### Removed
- ...
## Acceptance criteria
- AC1: ...
- AC2: ...
## Open questions
- ...
```
## Strengths
- **Lightest footprint** of major SDD frameworks — no agent persona overhead.
- Delta-only specs avoid repeating unchanged surface.
- Highest-rated overall in a Feb 2026 13-category independent evaluation.
## When to Use
- Public APIs.
- Compliance-relevant code.
- Any change where "what changed and why" is a real question six months later.
## Related
- [[Spec-Driven Development]]
- [[BMAD Method]]
- [[OpenSpec and the SDD Tools Map 2026]]
- [[Spec-as-Prompt Pattern]]