reel-style: three looks, side by side, never the same three twice
Where the kit lives: run every command in this skill from the
reels-makerfolder (the clone of github.com/thativanng/reels-maker that holdstemplate/andtools/). If the project has none, set it up first by following that repo's SETUP.md.
Why this exists: an agent asked for "a reel about X" drifts to the same look every time: its own defaults, or worse, the last look that was accepted. And a look nobody showed up front is a look the person sees for the first time in a finished film, where "it looks cheap" means starting over. Three stills cost minutes; a wrong look costs a whole film.
1 · Read before sketching
- The signed brief: platform, ratio, the one viewer, the message, the brand, and the person's "what looks cheap to me" answer (a hard constraint).
- The looks log,
.reels/looks-log.mdin the person's project (format in references/looks-log.md). Create it if it's missing. - The brand. With a brand, the three looks share its colours and fonts and differ in their bones: medium, layout, texture, motion. Without one, they differ in everything.
2 · Sketch five, keep three
Write five one-line concepts first, each from a different starting point:
- the subject's own world (warehouse crates for a supply chain topic)
- the emotion the viewer should feel
- the audience: meet their expectation, or break it on purpose
- what every other video on this topic looks like, turned upside down
- an unusual format (a receipt, a countdown, a letter, a single giant word)
Keep the three that differ most. Each look must differ from the other two on at least 3 of the 6 traits in references/axes.md, and always on medium or layout. At least one must break the topic's usual look. Two looks with the same layout shape count as one. If the brief names a layout (reel-intake F4), all three keep it and differ on medium plus at least two other traits.
Then check each against two lists:
- The default looks to avoid (references/axes.md). The kit's own
template/starter.htmlis one of them; it is a skeleton, never a look. - The looks log. Never re-show a look whose medium, layout and palette all match any look in the log, unless the person asks for it. A rejected look is a constraint. A look the person picked comes back only when they ask for it ("same as last time"), and then as a fourth option beside the three new ones.
3 · Build three stills
- Copy
template/starter.htmlonce per look into the reel's folder (reels/<name>/look-a.html,look-b.html,look-c.html), with the reel'sreel.jsonbeside them; copytemplate/film.htmlthe same way for a 3D look. Fonts and formats.json load from the kit's root, so the copies just work. Change only the look: the CSS tokens, the layout, the background, the type. Every still uses the same opening beat with the same words. - Render one still per look at the brief's format, then put them side by side with their names:
node tools/stills.mjs --page reels/<name>/look-a.html --format 9:16 --out reels/<name>/out/looks/a 1.5 node tools/stills.mjs --page reels/<name>/look-b.html --format 9:16 --out reels/<name>/out/looks/b 1.5 node tools/stills.mjs --page reels/<name>/look-c.html --format 9:16 --out reels/<name>/out/looks/c 1.5 python3 tools/sheet.py reels/<name>/out/looks/sheet.jpg 3 360 --labels "A · Ledger,B · Dock,C · Receipt" reels/<name>/out/looks/a/t001.50.jpg reels/<name>/out/looks/b/t001.50.jpg reels/<name>/out/looks/c/t001.50.jpg - Check every still with the probe: the words sit inside the keep-clear zone (
node tools/probe.mjs --page reels/<name>/look-a.html --format 9:16 "1.5" "sel:.title,.line,.kicker,.cap" "safe"→inside: true; the probe measures the letters themselves, so a word running off the frame fails). - Show the sheet with a name and one line per look, for example A · Ledger: type-led, light paper, calm. Add a line on motion energy, since a still can't show it. Don't recommend one before the person has looked: a recommendation first anchors them.
4 · The pick, and the log
- The person picks one, or mixes ("A's layout, C's palette"). A mix is a new look: show it as a still before building.
- Write all of it to the log: every look shown (its six traits and the still), which was picked, which were rejected, and the person's verdict in their own words.
- Then film-engine builds the 10-second test strip in the chosen look, for their yes before the full build. The picked look's still is also the first draft of the cover.
Series mode
When the brief says "series", the first episode's pick is locked in the log as the series look. Later episodes skip the three stills and keep the look. Variety moves inside it: the subject, the opening image, the order of beats. If the person wants a new look mid-series, that's a new series.
When the story is a journey
The voxel walk (the voxel-walk skill) can be one of the three only when the brief is a journey: a career, or a process from start to end. It is never the default, and it is held to the same rules: it must differ from the other two, and the log applies.
Honest limits
- Only the voxel walk has been built and checked end to end. Every other look is built fresh from the brief: the first film in a new look takes longer, and it gets the full film-audit.
- Stills show colour, type and layout. They don't show pace. The 10-second strip is where motion gets judged.
Credits
The "sketch five from different paths, keep the outliers, same layout counts as one" rules are adapted from HyperFrames' pitch round (heygen-com/hyperframes, Apache-2.0). The idea of naming the default looks and keeping notes on what was tried comes from Anthropic's frontend-design skill (paraphrased). Same scene, different look, side by side, is common motion-studio practice for style frames.