# Dev Spec Kit Judge

> Supply an LLM acceptance verdict for a dev-spec-kit `judge` check — for criteria a test can't assert (tone, copy quality, "is this error actionable", a transcript vs a rubric). Use when a @check kind=judge needs proving in harness mode (no API key needed — you are the LLM).

- Skill: `pratiyush/dev-spec-kit-judge` (Agent Skill)
- Install (CLI): `npx skillmds@latest add pratiyush/dev-spec-kit-judge`
- Raw SKILL.md: https://api.skillmd.com/api/skills/pratiyush/dev-spec-kit-judge/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: pratiyush (https://skillmd.com/u/pratiyush)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/pratiyush/dev-spec-kit-judge

---


# dev-spec-kit judge — you are the acceptance judge (harness mode)

A `judge` check binds a criterion no executed test can assert — UX-copy tone, error-message
actionability, "does this ADR explain the why", a transcript meeting a rubric. In **harness mode**
(the default), YOU are the judge: read the rubric + the evidence, decide strictly, record the verdict.
No API key, no network — you're already the model. (api mode calls Anthropic headlessly for CI.)

## Steps
1. Read the **criterion** — the spec text bound to the ref. That is your rubric.
2. Read the **evidence** — the ref's file/artifact/transcript. For `file::name`, the file is the
   evidence; otherwise judge what the ref points at.
3. Decide **strictly**. Default to FAIL when the evidence is missing, partial, or only plausibly
   satisfies the criterion — a judge proof you can't justify is verification theater.
4. Record it: `dev-spec-kit check run <taskId> "<ref>" --verdict pass|fail --reason "<one falsifiable line>"`.

## Rules (RFC-2119)
- You MUST cite specific evidence in `--reason` — what in the artifact does or doesn't satisfy the
  criterion. "looks good" is not a reason.
- You MUST NOT judge a full obligation (`REQUIREMENT_`/`NFR_`) green to dodge writing a real test;
  judge is for the genuinely-unmeasurable. The gate blocks it unless `verify.judge.allowForObligations`.
- A judge verdict is a SECOND-CLASS proof — recorded and labelled `⚖️ judged`, never an executed green.
  Prefer an executable check whenever the criterion can be mechanically asserted.
- When in doubt, FAIL and say why. Under-judging is recoverable; a false green corrupts the graph.

