The blind-select + critic-loop (盲选 + 甲乙环) stage of the remotion-director pipeline — how to pick the most promising base among N draws, then run the design-blind aesthetic critic (甲) against the builder (乙), round after round until it converges, with the orchestrator ferrying verdicts verbatim. Loads the two authoritative protocol files (BLIND-SELECT-PROTOCOL.md, CRITIC-PROTOCOL.md). Use when N draws of a piece exist and need selecting + refining; invoked by the create skill.
Scanned 9/19/2026
Install to Claude Code
npx -y skills add Zane-0x5a/remotion-director --skill critic-loop --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Critic Loop?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/zane-0x5a-critic-loop)More formats (shields.io, HTML) on the badges page.
---
name: critic-loop
description: The blind-select + critic-loop (盲选 + 甲乙环) stage of the remotion-director pipeline — how to pick the most promising base among N draws, then run the design-blind aesthetic critic (甲) against the builder (乙), round after round until it converges, with the orchestrator ferrying verdicts verbatim. Loads the two authoritative protocol files (BLIND-SELECT-PROTOCOL.md, CRITIC-PROTOCOL.md). Use when N draws of a piece exist and need selecting + refining; invoked by the create skill.
version: 0.1.0
user-invocable: false
---
# critic-loop
This stage turns N rendered draws into one refined piece. Two protocols govern it; both are the **authoritative wording** and are used **verbatim** (`⟨…⟩` = slots the orchestrator fills, the rest unchanged). Do NOT paraphrase them — Read the files and use their exact text.
## 1 · Blind select — pick the most promising base
Read **`${CLAUDE_PLUGIN_ROOT}/skills/critic-loop/BLIND-SELECT-PROTOCOL.md`**. Wait for all N builders to report settled, verify each reported output's video, stills and strip, then spawn the `blind-selector` agent (fresh, one-shot) with the brief + those exact canonical candidate dirs (each has 6 `still-*.png` + `strip/`; render numbers can differ). It selects for **potential** (the base whose ceiling after the loop is highest), not fewest current flaws — fixable execution nits must not count against a strong base. It returns `{ winner, reason }`. The orchestrator does NOT judge; it hands over candidates and takes back the winner.
## 2 · Critic loop (甲乙环) — refine the winner until it converges
Read **`${CLAUDE_PLUGIN_ROOT}/skills/critic-loop/CRITIC-PROTOCOL.md`** (条带规格 harness contract + 版本交接 + the verbatim 甲 prompt + the per-round ferry message + 乙环纪律). Follow its version handoff rules: review rounds and render versions are independent; fill `⟨STRIP_DIR⟩` from the builder's explicitly reported canonical output and allocate an unused `⟨NEXT_OUT_DIR⟩` for fixes.
- **甲 (critic)** = the `aesthetic-critic` agent. Spawn ONE instance for the piece and continue the SAME instance across rounds (it is persistent — retained memory across rounds is the point — but design-blind: it sees only the frame strip + the brief, never DESIGN.md or code). It reports phenomena + severity and never prescribes a fix; its last line is `CONVERGED: YES|NO`.
- **乙 (builder)** = the SAME continuous-context builder instance that designed and built the winning draw (do NOT spawn a fresh agent to read-back context — that is the degraded rescue form). It receives 甲's verdict and adjudicates each item per §5 环纪律.
- **The orchestrator ferries verbatim, both ways, and never judges aesthetics**:
- 甲's verdict text → the builder's conversation, and archive it to `⟨RUN_DIR⟩/CRITIC-VERDICTS.md`.
- The builder's pixel-grounded rebuttal → 甲 (甲's INTEGRITY forbids it from reading any file other than the frames + its own crops, so it cannot fetch the rebuttal itself).
- The builder re-renders to the assigned `⟨NEXT_OUT_DIR⟩` (render-arm then render-strip), confirms non-white, and appends fixes to `⟨RUN_DIR⟩/FIXES.md`. If self-check needs further renders, it uses later unused directories and reports the actual final output. Advance canonical only after its explicit completion report and artifact verification; deliver that output's strip to 甲 with the next review round number.
- **Loop until `CONVERGED: YES`** — no round cap. 甲's retained cross-round memory is what drives fast convergence (typically a few rounds); never stop it while high-/med-severity items remain. The result is the canonical output whose strip 甲 actually reviewed and marked converged.
## 3 · Final gate = the user's eyes
Blind-select and 甲 are VLM-perspective reference judgments, NOT ground truth. The **user's own eyes are the final gate** (they outrank every VLM judge). Present the converged piece (key stills + the mp4) for the user to judge; do not declare it shipped on a VLM's `CONVERGED: YES` alone.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!