Docs/Skills and code/skill video-beat-review
.claude/skills/video-beat-review/SKILL.md
Stage 4 of the video beat pipeline (run on HAIKU, checklist-driven). Look at a built beat's contact sheet and the review sheet against a fixed checklist, make only the listed cheap fixes with edit.js, rebuild once, and list what needs a…
name: video-beat-review
description: Stage 4 of the video beat pipeline (run on HAIKU, checklist-driven). Look at a built beat's contact sheet and the review sheet against a fixed checklist, make only the listed cheap fixes with edit.js, rebuild once, and list what needs a person. Use via the video-beats-orchestrate skill or the video-beat-review agent.
Review one built beat (Haiku, checklist)
Model rule. Run on Haiku: Agent(subagent_type: "video-beat-review", model: "haiku", prompt: "Review beat B7"). The review is a checklist, not taste: you find the listed defects, make the listed fixes, and report everything else for a person. You are not asked whether the video is good.
One beat B#. Prerequisite: the build finished (the builder reported BUILD PASSED, or a failed check that you are asked to fix). SHEET=research/the-fall-of-moser-baer/video/beat-sheet-B#.json, S=.claude/skills/video-visual-production/scripts.
Steps
- Read
research/the-fall-of-moser-baer/video/STATUS-video-B#.md(the verdict and every row that is notpass) andREVIEW-B#.md(per scene: what the voice says, what is on screen, the sounds). - Open
C:/video-build/moser-baer-v7-hinglish/B#/contact-sheet.png(Read tool). Go through the scenes in order and tick this checklist; note the scene id of every "no":- A. Is any text cut off at an edge, or is any text on top of other text or a picture?
- B. Is the scene empty or nearly empty (a few dots on a plain ground) although the voice says something specific?
- C. Does the picture match what REVIEW-B#.md says the voice says in that scene (same thing, same number, same name)?
- D. Is a number shown that the voice does not say, or a figure shown with no source line?
- E. Do two neighbouring scenes look identical?
- F. Is a face, a logo, a news picture or a stock-looking photo shown? (must be no)
- For a scene with a "no", open its end state:
node $S/preview-scene.js --sheet $SHEET --scene B#.NN, read the PNG, and confirm the defect. - Fixes you may make (each with
node $S/edit.js ... --sheet $SHEET --note "<defect>"; it lints and undoes a bad edit by itself):- text too long or cut off: shorten it (
edit.js set B#.NN props.<path> "<shorter text>"; keep the same meaning and, if the same string is also in the scene'stextlist, set that too); - a label overlapping another: shorten one of them;
- a highlight or label on the wrong word:
edit.js words a bto find a better word, thenedit.js cue B#.NN <name> <index>; - a noisy sound:
edit.js sfx-remove B#.NN <index>, oredit.js level <sound> <dB>; - an empty scene: replace its props with a
slamof the key phrase (edit.js set B#.NN type slamandedit.js set B#.NN props '{"lines":[...]}') only if the scene is class T or M. You may not: change what a data or evidence scene claims, change a number, a name, a source or a ledger row, change class E or D scenes into something else, edit code or lint rules, or touch other beats. Anything else goes in the report.
- text too long or cut off: shorten it (
- If you changed anything:
node $S/build-beat.js --sheet $SHEETonce (cached; it queues for a build slot, so wait if it says so). Open the new contact sheet and confirm each fix. Stop after two rounds. - The honesty list for a person (report, do not fix): any scene whose picture claims more than its source line; any ledger row with status
analysisorderivedthat is shown as if it were a verified fact; any waiver; any typeset fallback; any cue on an estimated word time.
Report (final message, under 20 lines)
Beat; the checklist result as a list of scene ids with the letter of each "no"; fixes made (scene, edit); defects not fixed and why; the honesty list; the final verdict line of STATUS-video-B#.md; the paths of B#.mp4, contact-sheet.png, REVIEW-B#.md; and one line "for the user to judge: motion, sound taste, whether each scene is the right idea". Do not call the video good.
Rules (all parallel roles)
- Touch only your beat's files. Never edit code, skills,
tools.md,CLAUDE.md, memory or another beat. Never commit, push or deploy. Build only withbuild-beat.js.
Show the raw text
---
name: video-beat-review
description: Stage 4 of the video beat pipeline (run on HAIKU, checklist-driven). Look at a built beat's contact sheet and the review sheet against a fixed checklist, make only the listed cheap fixes with edit.js, rebuild once, and list what needs a person. Use via the video-beats-orchestrate skill or the video-beat-review agent.
---
# Review one built beat (Haiku, checklist)
**Model rule.** Run on **Haiku**: `Agent(subagent_type: "video-beat-review", model: "haiku", prompt: "Review beat B7")`. The review is a checklist, not taste: you find the listed defects, make the listed fixes, and report everything else for a person. You are not asked whether the video is good.
One beat `B#`. Prerequisite: the build finished (the builder reported `BUILD PASSED`, or a failed check that you are asked to fix). `SHEET=research/the-fall-of-moser-baer/video/beat-sheet-B#.json`, `S=.claude/skills/video-visual-production/scripts`.
## Steps
1. Read `research/the-fall-of-moser-baer/video/STATUS-video-B#.md` (the verdict and every row that is not `pass`) and `REVIEW-B#.md` (per scene: what the voice says, what is on screen, the sounds).
2. Open `C:/video-build/moser-baer-v7-hinglish/B#/contact-sheet.png` (Read tool). Go through the scenes in order and tick this checklist; note the scene id of every "no":
- A. Is any text cut off at an edge, or is any text on top of other text or a picture?
- B. Is the scene empty or nearly empty (a few dots on a plain ground) although the voice says something specific?
- C. Does the picture match what REVIEW-B#.md says the voice says in that scene (same thing, same number, same name)?
- D. Is a number shown that the voice does not say, or a figure shown with no source line?
- E. Do two neighbouring scenes look identical?
- F. Is a face, a logo, a news picture or a stock-looking photo shown? (must be no)
3. For a scene with a "no", open its end state: `node $S/preview-scene.js --sheet $SHEET --scene B#.NN`, read the PNG, and confirm the defect.
4. **Fixes you may make** (each with `node $S/edit.js ... --sheet $SHEET --note "<defect>"`; it lints and undoes a bad edit by itself):
- text too long or cut off: shorten it (`edit.js set B#.NN props.<path> "<shorter text>"`; keep the same meaning and, if the same string is also in the scene's `text` list, set that too);
- a label overlapping another: shorten one of them;
- a highlight or label on the wrong word: `edit.js words a b` to find a better word, then `edit.js cue B#.NN <name> <index>`;
- a noisy sound: `edit.js sfx-remove B#.NN <index>`, or `edit.js level <sound> <dB>`;
- an empty scene: replace its props with a `slam` of the key phrase (`edit.js set B#.NN type slam` and `edit.js set B#.NN props '{"lines":[...]}'`) only if the scene is class T or M.
**You may not:** change what a data or evidence scene claims, change a number, a name, a source or a ledger row, change class E or D scenes into something else, edit code or lint rules, or touch other beats. Anything else goes in the report.
5. If you changed anything: `node $S/build-beat.js --sheet $SHEET` once (cached; it queues for a build slot, so wait if it says so). Open the new contact sheet and confirm each fix. Stop after two rounds.
6. The honesty list for a person (report, do not fix): any scene whose picture claims more than its source line; any ledger row with status `analysis` or `derived` that is shown as if it were a verified fact; any waiver; any typeset fallback; any cue on an estimated word time.
## Report (final message, under 20 lines)
Beat; the checklist result as a list of scene ids with the letter of each "no"; fixes made (scene, edit); defects not fixed and why; the honesty list; the final verdict line of `STATUS-video-B#.md`; the paths of `B#.mp4`, `contact-sheet.png`, `REVIEW-B#.md`; and one line "for the user to judge: motion, sound taste, whether each scene is the right idea". Do not call the video good.
## Rules (all parallel roles)
- Touch only your beat's files. Never edit code, skills, `tools.md`, `CLAUDE.md`, memory or another beat. Never commit, push or deploy. Build only with `build-beat.js`.
Shown as it is in the repository at build time (2026-11-03); the home directory appears as <home>. If this page and the file differ, the file is right. Back to the catalogue.