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
plan-judge reviews the entire openspec/PLAN.md of a project at its start.
It is a separate skill called by plan-mode; it does not replace the plan gate,
the router, or the human approval step.
Round 1 is the only round implemented here. It uses the five shared questions:
The Round 1 result is a rewritten Markdown artifact. It is presented at the
human checkpoint; it is not applied automatically to openspec/PLAN.md.
plan-mode has handed control here because openspec/PLAN.md exists and
every entry is draft..plan-judge/round-1/ before either provider sees it.codex exec and claude -p commands must be available
and authenticated. The runner stops before a turn when either is unavailable.The behavior instructions and immutable role prompts live in
prompts/round-1/. Run exactly this round:
bash skills/plan-judge/scripts/run-round-1.shThe runner performs four writer/judge turns with this fixed rotation:
| Turn | Writer | Judge |
|---|---|---|
| 1 | codex | claude |
| 2 | claude | codex |
| 3 | codex | claude |
| 4 | claude | codex |
Each provider starts with fresh context. Providers communicate only through
artifacts in .plan-judge/round-1/; they read the named input file and write
the named output file. The runner validates the frontmatter and input digest of
each artifact, reports the fourth rewritten plan, and exits. It never starts a
subsequent round.
Do not approve an entry. Do not calculate or write approval hashes. Do not
advance entry states or write Approved by or Approved at. Do not alter
ROUTER.md. plan-mode and the human retain those responsibilities.
After the runner exits, show the rewritten Markdown path to the human and stop at the checkpoint. Round 2, Round 3 and Round 4 require their separately approved plan entries.
.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