Five-role Design Jury review that streams scored rounds, persists a replayable transcript, and ships through the daemon's Critique Theater protocol.
57
66%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./plugins/_official/atoms/critique-theater/SKILL.mdDesign Jury is the user-facing name for Critique Theater. When the daemon enables it for an artifact-generating run, it appends the active protocol, brand source, thresholds, and weights to the agent prompt. The agent then plays the fixed v1 cast — Designer, Critic, Brand, Accessibility, and Copy — as turns inside the same CLI session.
<CRITIQUE_RUN> envelope containing <ROUND>, <PANELIST>,
and <ROUND_END> blocks and, only after a ship decision, one final
<SHIP> block. Do not emit prose outside the envelope.<MUST_FIX> items. The cast is fixed
in v1; a plugin does not replace it with a custom list of axes.PanelEvent variants
and publishes them on critique.* SSE channels. It recomputes the composite
from the scoring panelists, so an agent-supplied composite is advisory.critique.json in the project cwd or emit a
kind: "critique-panel" object. Those were the pre-orchestrator shape and
are not inputs to the current runtime.The default review uses a 0–10 scale, an 8.0 ship threshold, and at most three
rounds. A round ships only when its daemon-computed composite reaches the
configured threshold and no open must-fix items remain. The active values
come from OD_CRITIQUE_* configuration, including
OD_CRITIQUE_MAX_ROUNDS, OD_CRITIQUE_SCORE_THRESHOLD, and the fallback
policy.
OD_MAX_DEVLOOP_ITERATIONS still caps an outer plugin pipeline stage; it is
not the Design Jury round limit or ship rule. Likewise, a pipeline's
critique.score signal is a scheduler-facing projection, not the wire output
the agent should manufacture.
The daemon stores the terminal run and per-round summaries in SQLite and
writes the ordered PanelEvent stream as a replayable NDJSON transcript
(gzip-compressed when large). Final artifact bytes are stored separately; the
ship event carries only an artifactRef.
The web Design Jury surface exposes Interrupt and an Esc shortcut. After
the user triggers either, the web app posts to
/api/projects/:projectId/critique/:runId/interrupt; the daemon aborts the
registered run, persists the partial best-so-far state, and emits
critique.interrupted. od ui respond handles GenUI surfaces and does not
provide a break-loop action for Critique Theater.
f2760fd
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.