CtrlK
BlogDocsLog inGet started
Tessl Logo

spec-driven-development/spec-as-source

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

Quality

85%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

Overview
Quality
Evals
Security
Files

SKILL.mdskills/plan-judge/

name:
plan-judge
description:
Reviews the entire PLAN.md of a new project through fixed, file-only provider rounds. Triggered by plan-mode when every plan entry is draft; Round 1 alternates Codex and Claude, then returns control to a human checkpoint.

Plan Judge

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.

Scope

Round 1 is the only round implemented here. It uses the five shared questions:

  1. cosa non va
  2. cos'e' migliorabile
  3. e' fattibile
  4. di cosa ho bisogno
  5. che tecnologie servono

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.

Preconditions

  • plan-mode has handed control here because openspec/PLAN.md exists and every entry is draft.
  • Run from the project being reviewed. The runner copies the input plan into .plan-judge/round-1/ before either provider sees it.
  • The non-interactive codex exec and claude -p commands must be available and authenticated. The runner stops before a turn when either is unavailable.

Round 1

The behavior instructions and immutable role prompts live in prompts/round-1/. Run exactly this round:

bash skills/plan-judge/scripts/run-round-1.sh

The runner performs four writer/judge turns with this fixed rotation:

TurnWriterJudge
1codexclaude
2claudecodex
3codexclaude
4claudecodex

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.

Authority Boundary

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.

skills

README.md

tile.json