The Problem

Clients need a quick, zero‑editing way to create polished product‑launch videos. Traditional workflows rely on After Effects, stock templates, or expensive render farms, which slow feedback cycles and double the cost. This skill turns a simple URL into a 60 fps MP4, eliminating manual compositing and enabling rapid iteration.

What This Does

The skill reads a website URL, generates a brief, writes a story, and renders a single‑shot, 60 fps film with music, beat‑synced sound‑effects, and motion blur.

  • legacy/scripts/assemble.mjs builds an HTML frame skeleton from a JSON brief.
  • legacy/scripts/transitions.mjs injects closed‑form spring‑based transitions between UI states.
  • legacy/scripts/word-timings.mjs aligns on‑screen text with the beat grid.
  • legacy/scripts/level-sfx.mjs adds click, drag, and number‑roll sound‑effects.
  • legacy/scripts/wire-audio.mjs and wire-grade.mjs mix music and SFX, then apply a WebGL glass pass if requested.
  • legacy/scripts/master.sh orchestrates the entire pipeline, calling the above scripts in sequence and finally invoking ffmpeg to render the 60 fps MP4.

The root SKILL.md exposes the skill to Claude Code; the README documents the public CLI npx skills add AbubakrChan/product-launch-motion.

How It Is Wired

Entry Point – master.sh is the single script invoked by the skill framework. Internal Call Graph –

master.sh
 ├─ assemble.mjs          → builds frame skeleton from film.json
 ├─ transitions.mjs        → injects spring transitions
 ├─ word-timings.mjs       → syncs text to beat grid
 ├─ level-sfx.mjs          → generates click/drag SFX
 ├─ wire-audio.mjs         → mixes music+SFX
 ├─ wire-grade.mjs         → applies color grading
 └─ ffmpeg command         → renders final MP4

What This Code Touches Outside Itself –

  • Reads JSON briefs (e.g., legacy/assets/film.example.json).
  • Writes intermediate HTML frames (frame-skeleton.html).
  • Calls external binaries: ffmpeg, node, and ffprobe.
  • Generates final media in release/launch-film-1080p60.mp4.

What Each File Is Responsible For –

  • assemble.mjs: HTML skeleton generation.
  • transitions.mjs: Spring‑based morphs and camera pushes.
  • word-timings.mjs: Beat‑aligned text timings.
  • level-sfx.mjs: SFX synthesis.
  • wire-audio.mjs / wire-grade.mjs: Audio mixing and grading.
  • master.sh: Orchestrator and FFmpeg wrapper.

The graph is acyclic; each file has a single responsibility, reducing the blast radius when modifying a component.

How To Use It

# 1. Install the skill
git clone https://github.com/moses-y/product-launch-motion
cd product-launch-motion
npx skills add AbubakrChan/product-launch-motion

# 2. Run the skill via Claude Code
# (In Claude, type: "Make a launch video for https://your-website.com")

No additional environment variables are required. The skill bundles its own dependencies (Node, FFmpeg) via the master.sh script.

Real‑World Use

A product marketing team can generate a preview for an upcoming feature launch by simply pointing the skill at the feature page. The resulting MP4 can be embedded in a marketing email, shared on social media, or used in a sales deck—no video editor needed.

Code Health & Issues

  • Medium / SDLC – No test files detected – Severity: Medium – All code paths untested.
  • Medium / SDLC – No CI/CD pipeline detected – Severity: Medium – Build and test gates missing.
  • Low – LICENSE is present, but no package.json – Severity: Low – No npm dependency list.

Other than the absence of tests and CI, the repository contains clear documentation (README.md, SKILL.md, references/prompts.md) and example media. The code is self‑contained and relies only on standard shell utilities and Node scripts.

The Bottom Line

This skill delivers a fully automated, 60 fps product‑launch video pipeline with minimal configuration. It excels for rapid prototyping and marketing teams that need to iterate on visual storytelling without a post‑production budget. The lack of tests and CI limits confidence for production use; adding a CI pipeline and unit tests would make the tool more robust for enterprise deployment.