Docs/Skills and code/skill video-beat-review

.claude/skills/video-beat-review/SKILL.md

Markdown40 lines4.1 KBSkill: video-beat-review

What the file says about itself

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…

Skill header (frontmatter)

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):
  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)

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.