JUDGE MOODY

A subagent for Claude Code

judge
moody

Hand it a finished thing and whatever standard exists. It returns pass, revise, or fail — and tells you how strong the standard it used actually was.

A verdict grounded in a known-good example is not the same as one graded against criteria the judge invented. This one says which it was.

View on GitHub

The verdict

Pass, revise, or fail

One of three, never a score out of ten. A number invites you to argue with the decimal instead of reading the gaps.

Graded in a clean context

It runs fresh and never sees the conversation that produced the artifact, so it cannot be talked into liking something by the reasoning that made it.

The tiers

It resolves the strongest standard you actually supplied, and declares which one it used.

  • IdealA known-good example to grade against — the strongest basis
  • RubricExplicit criteria you wrote down
  • SpecA written description the criteria get derived from
  • InferredNothing supplied — it invents criteria and says so

Below the ideal tier it prints the criteria before the verdict, so you can reject the basis rather than the grade. An unreadable standard drops a tier and says so, instead of quietly downgrading.

The gaps

Gaps come back sorted blocking first, each with a concrete fix rather than an observation. "The introduction is weak" is not a gap; "the introduction never states what the document decides" is.

Blocking

The artifact does not do its job until this is fixed.

Minor

Worth fixing, but the thing works without it. Kept separate so a long list of nits cannot masquerade as a failure.

How it runs

Manual trigger only. No schedule, no hook, nothing in a pipeline — you invoke it when you want a second opinion, through the paired slash command that collects the artifact and the standard and dispatches without pre-judging either.

Read-only by construction. It can read, search, and list files, and it cannot run commands. A grader that can modify the thing it is grading is not a grader.

Deliberately out of scope: it carries no safety or policy dimension, and no efficiency or trajectory dimension. Permission modes enforce the first for real, and nothing in the stack captures the execution traces the second would need.