← The Lab

claude-motion teaches an agent taste, then makes it check its own frames

Spotted, not yet tested

Motion rules with actual numbers, a contact-sheet review loop, and a sound engine written in plain Python.

Most motion skills teach an agent an API. whaley's claude-motion goes after the other half of the job: taste. The motion-design skill swaps vague words like 'smooth' for numbers. Entrances use an ease-out curve of bezier(0.16, 1, 0.3, 1), exits run at half the entrance time, and words stagger about 0.09 seconds apart. There are spring presets, reading holds, a type scale and a one-accent-colour rule.

The best idea in the repo is the review loop. Agents can't watch video, but they can look at stills. So after a draft render the agent gets a contact sheet with one timestamped frame per beat. It checks that sheet against a list (collisions, clipping, holds too short to read, safe areas, legibility on a phone) and fixes what it finds before it reports the job done. You can copy that pattern into any video pipeline.

Sound comes from a pure-Python stdlib engine, so there are no samples and no licences to track. It has generators for clicks, whooshes, risers, impacts and pads, a mixer on the same timeline as the picture, and mastering to −14 LUFS. Every beat is a named timestamp in a single JSON file, so if you retime the picture, the sound and the checks move with it.

A newer 'sims' pipeline handles pieces that are really simulations, like swarms or a rocket engine fly-through. Each one is a single HTML page where render(t) is a pure function of time, and headless Chromium steps through it frame by frame into ffmpeg at 60 fps. A beats.py script finds the tempo, bars and drop of a track so cuts land on the music.