Spec-driven development on OpenSpec, with mechanical spec-as-source enforcement: a custom 'spec-as-source' OpenSpec schema adds file-ownership (targets) and test-verification ([@test]) metadata to every capability spec, three scripts (link check, ownership check, manifest build) keep code and specs from drifting apart, plus requirement-gathering, spec-writer, work-review, and a session-handoff skill with a proactive context-warning hook.
73
92%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Advisory
Suggest reviewing before use
The final artifact of a prompt-loop session, produced only after the loop
reaches its stop criterion. It contains exactly the sections the SDD
workflow consumes downstream, so it feeds openspec-propose or
openspec-explore directly, with no re-asking of locked decisions.
Every section is filled from the session document or marked n/a — never
invented, assumed, or filled with plausible defaults. Present this document
to the user for explicit confirmation before any downstream step runs.
The final prompt revision, verbatim from the last round of the session document. All locked decisions appear in it unchanged.
What the deliverable must do, stated as observable behavior — the essence
that openspec-propose will turn into requirements.
Boundary conditions, failure modes, and unusual inputs the user confirmed
or that the prompt states. Unknowns are n/a, not guesses.
Technical, stylistic, or process constraints the work must respect (stack, conventions, compatibility, performance, deadlines).
Existing or new capabilities affected, in kebab-case — the candidate
openspec/specs/<capability>/ names downstream.
How the user will know the work is done: tests to exist, behaviors to demonstrate, checks to pass.
The last scoring round, copied from the session document. Every score above 0 keeps its verbatim evidence quote.
| Dimension | Score (0–2) | Evidence (verbatim quote) |
|---|---|---|
| Objective clarity | ||
| Scope boundaries | ||
| Verifiability of outcomes | ||
| Completeness of constraints and edge cases | ||
| Absence of invented or assumed facts |
Total: <0–10>
The complete ## Locked register from the session document, copied
verbatim — including superseded entries kept struck-through for audit.
.tessl-plugin
skills
handoff
handoff-skill
openspec-apply-change
openspec-archive-change
openspec-explore
openspec-propose
openspec-sync-specs
prompt-loop
requirement-gathering
spec-as-source-setup
templates
openspec-schema
spec-as-source
templates
spec-ci-sync
spec-loop
spec-rebuild
spec-verify
spec-writer
work-review