How to use
- Copy the installation command and review the source package before installing it in your own agent environment.
- Check the source document for required tools, credentials and supported hosts.
- Describe your input and desired deliverable; review the output against the source material.
npx skills add https://github.com/whaleyxbt/claude-motion --skill review-loopBefore you start
- Installation does not include a model subscription, API allowance or permission to access your files.
- Repository stars and installation counts describe activity, not an independent quality or security test.
Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.
Review loop
You can't watch the video, but you can look at frames. Never report a video as done without looking at contact sheets of the current render.
Loop
npm run draft— half-resolution render toout/draft.mp4(fast).npm run sheet— one frame per timeline beat, 0.3 s after it so motion has settled, tiled 4×2 intoout/sheets/beats-N.png. Each tile is labelled with its timestamp.- Open every sheet image and go through the checklist below.
- Zoom in on anything suspicious:
npm run sheet -- --from 3 --to 5 --every 0.2to scrub a transition,npm run sheet -- 3.7 3.75 3.8for exact moments,npm run still -- out/still.png --frame=222for one full-resolution frame.
- Fix, then go back to step 1. Stop when a full pass finds nothing.
- Final:
npm run build, thennpm run sheet -- --video out/effort.mp4andnpm run wave.
Checklist
Composition
- One focal point per frame. If two things compete, one of them waits.
- Nothing collides or overlaps unintentionally, especially during transitions where an exiting and an entering element share space.
- Safe area: nothing important within ~60 px of an edge.
- Frame 0 is a real image, not black (it's the X thumbnail).
Type
- Nothing clipped by a mask, container or the frame when it shouldn't be.
- Key message readable when the sheet tile is shrunk to phone width.
- Text isn't moving while it's meant to be read.
Timing
- Each readable state holds long enough (see
motion-design§4). If a tile mid-hold shows text still animating, the hold is too short. - Scenes overlap instead of cutting to empty frames.
- Exits are faster than entrances.
Consistency
- Only palette colors from
C; the accent marks the point of the frame. - Same element looks the same in every scene it appears in.
Sound (after npm run wave)
- Transients sit on beat lines in
out/wave.png. - −14 LUFS ±1, true peak ≤ −1 dBFS.
Report
When you finish, say what you checked, what you fixed, and which sheet shows it. Don't claim a fix you haven't re-rendered and looked at.




