abubakrchan/product-launch-motion/legacy

Claude Code and agent skill by abubakrchan/product-launch-motion

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Legacy v1 (voiceover-led, GSAP + HyperFrames). Use when making, directing or rescuing a product launch video, promo, teaser, demo reel, sizzle, feature-announcement film or animated product explainer built from code — and when an existing one looks basic, reads as a slideshow, has reveals that miss the voiceover, an invisible cursor, an inaudible sound effect, a clipped or too-quiet mix, or every video coming out looking the same. Covers SaaS, apps, hardware, e-commerce, dev tools, services. Keywords include motion design, storyboard, voiceover sync, kinetic typography, GSAP, HyperFrames, Remotion, film grain, LUFS, ffmpeg.

Install

npx vskill@latest install abubakrchan/product-launch-motion/legacy

SKILL.md

Product Launch Motion — v1 (legacy)

This is the original v1 skill, kept for voiceover-led films. The current skill is
`../SKILL.md`: music-first, one shape never cut, springs, no GSAP or HyperFrames.

A production discipline for making launch films that look like a motion designer made them — not a slideshow with a voiceover on top.

The output is a rendered MP4. The medium is HTML, CSS and GSAP, rendered frame-by-frame by a deterministic seek-based renderer (HyperFrames by default). Everything here is transferable to any renderer that can seek a timeline; the laws are renderer-neutral, the plumbing examples are HyperFrames.

This skill exists because green tooling is not the same as good film. A composition can lint clean, render without error, and still be a slideshow. The value below is the craft that separates the two, plus the traps that cost real hours to find — each one recorded with the measurement that proves it, not the vibe that suggested it.

It is a discipline, not a template. The laws below are fixed; the look is not, and deciding it is your job as director. Two films built from this skill should be unmistakably different from each other — different palette, ground, camera personality, type, texture, sound and structure — because they are arguing different claims for different audiences. Before you build anything, write three genuinely different visual directions and kill two: references/11-creative-direction.md. Reaching for the reference film's look because it is documented here is the one failure mode that makes everything else worthless.

When to use this

Use it for: a product launch or feature-announcement film (20–90s), a landing-page hero video, a demo reel, a conference sizzle, an investor-update film, or a rescue pass on a video that "looks basic".

Do not use it for: talking-head editing, screen-recording with captions slapped on, or anything where the deliverable is a live web page rather than a video file.

The ten laws

Break one and the film reads amateur, however good the individual frames are. Note what they do not cover: none of them tells you what the film should look like.

1 · Truth first. Every number, logo, face, screenshot and testimonial on screen is real and sourced. Before animating anything, write down the approved figures — the exact list of numerals allowed to appear — and refuse every other number. Invented metrics and stock faces are the fastest way to make a real product look fake. → references/02-story-and-truth.md

2 · Word-locked sync. Every reveal is cued to the measured start time of the word it illustrates. Not to a beat grid, not to an estimate — to a word-level transcript of the actual voiceover file. A frame at t=0 shows only what the voice is saying at t=0. → references/03-word-locked-sync.md

3 · Determinism. No Math.random, no Date.now, no CSS transitions, no repeat/yoyo. Any scattered or noisy value is derived from an index or the playhead. A seek to time T must reproduce byte-identical output, or your render is a lottery. → references/01-renderer-contract.md

4 · One camera, two nodes. A whole-shot rotation and a mid-shot scale must live on different elements. On the same element they fight over one transform matrix and the move judders. Outer node = dolly (scale), inner node = 3D turn (rotation + perspective). → references/05-camera-3d-cursor.md

5 · The cursor is a stage prop. A life-size pointer (~32px at 1920) disappears into any saturated control. Draw it at ~44×54 with a heavy stroke and a deep shadow, put it inside the node the camera moves, and put the zoom origin exactly on the control it clicks — that point becomes a fixed point of the transform and the aim survives the push with no compensating maths. → references/05-camera-3d-cursor.md

6 · Sound is arithmetic, not taste. A cue's volume cannot rescue a quiet source file. If the asset sits 20 dB under the narration bed, raising its volume moves the mix by tenths of a dB — measured, not guessed. Level the asset, then verify the cue landed in the delivered file. → references/07-sound-and-master.md

7 · Nothing ends moving. Every shot resolves. Motion is cued to meaning; a shot still drifting when it cuts reads as a screensaver, and a shot where everything drifts independently reads as one too. Scope: this governs resolution, not stillness. A single-take film whose camera never stops satisfies it by decelerating to rest before the end; a shot that holds a deliberate slow move while its content is settled satisfies it too. What it forbids is a shot cutting while the thing it was saying is still arriving. → references/04-motion-grammar.md

8 · Ration the accent. Two grounds (one for the argument, one for the product), one accent colour or gradient, and a written budget for where it may appear — typically: one emphasis word per headline, stat numerals, the active step, state flips, the CTA. A third hue is almost always a mistake. → references/06-look-and-grade.md

9 · Green gates are necessary, not sufficient. Lint, layout and contrast passes catch none of the things that make a film bad. After every render, extract frames from the delivered file at the beats you changed, look at them, and write down what is wrong before anyone else does. → references/08-qa-and-direction.md

10 · No house style. The look is derived from this product's claim, brand, audience and category — never inherited from the last film or from the examples in this repo. Write three different directions, pick one, and give the film a signature move that no other film has. A film that could be a competitor's film with the logo swapped has no direction. → references/11-creative-direction.md

Red flags

These are the thoughts that precede every skipped step. Each one is a signal to stop and do the thing you are about to talk yourself out of.

The thoughtWhat it actually means
"I'll estimate the timings and fix them later"You will not. Every cue will be wrong, and re-deriving them all costs more than doing it once now
"Three directions is overkill for this one"You have one idea and no basis for believing it is good. Two of the three are meant to die
"The brand is purple, so this palette is fine"Check whether you derived it or inherited it from the examples here
"It sounds fine to me"You are listening on the machine that rendered it, at a volume you chose, knowing what to listen for. Measure it
"The change is in the source, so it's in the film"Two documented bugs in this repo's history were exactly that. Sample the delivered file
"The gates passed"Gates catch broken, not bad. They have never once caught a boring film
"It's a small tweak, no need to re-verify"Small tweaks are how a −14 LUFS master became a clipped one
"I'll just overwrite the last render"Then you cannot prove the fix worked, and the version the director preferred is gone
"They said make it 3D, so I'll add rotation"Take the note as a symptom, not a spec. "Make it 3D" meant a camera rig, a cursor rebuild and a coordinate refactor
"I'll add the camera move at the end"A camera changes what every coordinate means. Retrofitting a rig means redoing every position in the shot
"It's close enough to on-the-word"200ms off reads as lag to a viewer who cannot name why

Violating the letter of a law is violating the law. "Mostly deterministic" is non-deterministic; "roughly on the word" is off the word.

The pipeline

Fourteen steps. Do not skip 1, 2, 5 or 13 — they are the ones people skip, and they are the ones that decide whether the film is any good.

Steps 1–3 are a loop, not a sequence: the direction depends on which real assets exist, and the truth pass often kills a direction outright (you cannot shoot a raking-light product film for a product that has not been manufactured). Cycle them until they agree, then go forward.

#StepOutputReference
1Intake — the product, the audience, the ONE claim, the angle (usually the product's own headline)BRIEF.mdassets/BRIEF.md
2Direction — three genuinely different visual directions, judged and cut to one, plus a signature movedirection blockreferences/11-creative-direction.md
3Truth pass — collect real assets, real screens, real customers, and fix the approved-figures listassets/, figures listreferences/02-story-and-truth.md
4Script — 40–60s written for the ear; one clause per beat; the claim lands in the first 10sSCRIPT.mdreferences/02-story-and-truth.md
5Voiceover — render or record the VO before building anything; frame durations come from real VO lengthassets/voice/*.wavreferences/03-word-locked-sync.md
6Word timings — transcribe with word-level timestamps into a cue tableaudio_meta.jsonscripts/word-timings.mjs
7Storyboard — frames, durations, the register map from your direction, and a shot per beatSTORYBOARD.mdreferences/09-shot-catalog.md
8Build frames — one HTML file per frame; camera rig and cursor from the skeleton; every tween cued to a wordcompositions/frames/*.htmlreferences/04-motion-grammar.md
9Assemble — index, transitions, audio, grade — in that order, every timeindex.htmlreferences/01-renderer-contract.md
10Gates — lint/runtime/layout/motion with the grade on; contrast with the grade off0 errorsreferences/08-qa-and-direction.md
11Render + master — two-pass loudnorm, limiter, re-encoderenders/*.mp4scripts/master.sh
12Verify in the delivered file — frames at the changed beats, cue levels measuredevidencescripts/verify-cue.sh
13Direct — watch it, list the defects yourself, fix, re-render as a NEW filev2, v3, …references/08-qa-and-direction.md
14Ship the set — vertical cut, captions, poster, loop, stills, licencesdeliverables/references/12-deliverables.md
Build order (step 9) is not negotiable

The index is generated, so anything hand-added to it is destroyed on re-assemble and must be re-injected. Every wiring script here is idempotent (it replaces its own marked block), so the safe move is always to re-run the whole chain:

bash
node scripts/assemble.mjs # film.json + measured VO → index.html
node scripts/transitions.mjs # the crossings between frames
node scripts/wire-audio.mjs # music bed + word-locked SFX cues
node scripts/wire-grade.mjs # grain + vignette + specular sweeps

assemble.mjs reads film.json (assets/film.example.json is a filled-in one) and measures every frame from its voiceover with ffprobe, so you never type a duration. It applies the arithmetic each downstream cue depends on: hold = VO + pad — the breath after the last word, because a shot that cuts on the last syllable reads as rushed — and duration = hold + the outgoing transition. The next frame starts at hold, not at duration; the difference is the overlap the transition lives in.

Reference map

Load only what the current step needs.

This is the start of the file. Read the full SKILL.md on GitHub.

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/abubakrchan/product-launch-motion/legacy/badge)](https://verified-skill.com/skills/abubakrchan/product-launch-motion/legacy)

Something wrong with this skill or its page? Tell us.