video-to-remotionlisted
Install: claude install-skill e4glevlr/video-recreation-kit
# Recreating a video in Remotion
Six steps. Two of them (**spec** and **measure**) are the ones that did not
exist the first time this was done by hand, and they are where the errors were.
For how to write the Remotion itself — camera rigs, panel springs, kinetic
type — load the `remotion-motion-design` skill; this skill is the pipeline
around it.
## 1 · Acquire
`watch-skill watch "<url>"` handles 1800+ sites and gives frames, OCR and a
transcript. When yt-dlp has no extractor (Threads, some embeds), fall back to
driving a headless browser and reading `document.querySelectorAll('video')`.
If Playwright complains its browser build is missing, do not run
`playwright install` — pass `executable_path` to the `chrome-headless-shell`
already under `~/Library/Caches/ms-playwright/`.
## 2 · Spec — the step that decides everything downstream
```bash
python3 assets/spec.py reference.mp4 spec.json
```
Emits: resolution/fps, **blank windows**, per-half-second content class
(blank / ink-on-white / device), device framing per beat, and a 6×4 median
colour field of the screen region.
**Read its warnings before its output.** The classifier encodes a genre — a
reference with three visual regimes (empty, type on white, device with
wallpaper). Run it on something else and it collapses. On a 16s flat-UI SaaS
demo it found one beat across the whole video, and both `blank` and `device`
never fired; it now says so loudly instead of returning a confident wrong
answer. When it warns, treat th