Critique theater
Skill nexu-io/open-design/plugins/_official/atoms/critique-theater
๐จ The open-source Claude Design alternative. ๐ฅ๏ธ Local-first desktop app. ๐ผ๏ธ Your coding agent becomes the design engine: prototypes, landing pages, dashboards, slides, images & video โ real files, HTML/PDF/PPTX/MP4 export. ๐ค Claude Code / Codex / Cursor / Gemini / OpenCode / Qwen & 20+ CLIs via BYOK.
npx -y skills add nexu-io/open-design --skill critique-theaterAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Five-role Design Jury review that streams scored rounds, persists a replayable transcript, and ships through the daemon's Critique Theater protocol.
SKILL.md
2.8 KB, as published. Nobody here has run it
Critique Theater
Design 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.
Runtime contract
- Follow the daemon-injected tagged protocol exactly: one
<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. - Designer drafts the artifact. Critic, Brand, Accessibility, and Copy score
their own scopes and record actionable
<MUST_FIX>items. The cast is fixed in v1; a plugin does not replace it with a custom list of axes. - The daemon parses the stream incrementally into typed
PanelEventvariants and publishes them oncritique.*SSE channels. It recomputes the composite from the scoring panelists, so an agent-supplied composite is advisory. - Do not write
critique.jsonin the project cwd or emit akind: "critique-panel"object. Those were the pre-orchestrator shape and are not inputs to the current runtime.
Convergence and persistence
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.
Interrupting a run
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.