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.
68
85%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
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
rules
skills
handoff
handoff-skill
openspec-apply-change
openspec-archive-change
openspec-explore
openspec-propose
openspec-sync-specs
plan-judge
plan-mode
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