Skip to content
Conduit

skill

product-launch-video

Agent skill that makes beat-synced product launch videos

Mason-Levyy/product-launch-videocommunitylistedunreviewed

Set up

Skills are installed by placing their folder where your agent loads skills.

The download comes from github.com/Mason-Levyy/product-launch-video itself, not from our server, so what you get is exactly what its author published.

Install instructions come from the README

Skills do not use an MCP config. Follow the steps in the README below.

README

synced Oct 21, 2026

product-launch-video

License: MIT Gate

An agent skill that makes marketing launch videos as code. It writes the concept, script and an original soundtrack, then builds and renders the video in Remotion. The result is a beat-synced promo spot with kinetic typography and brand-matched transitions, not an animated screen recording.

It works with Claude Code and with goose.

Install

Copy the skill folder into your personal skills directory:

git clone https://github.com/Mason-Levyy/product-launch-video.git
mkdir -p ~/.claude/skills
cp -r product-launch-video/product-launch-video ~/.claude/skills/

To install it for a single project, copy it to <project>/.claude/skills/ instead. In goose, turn on the Summon extension so goose can load skills.

Requirements

  • Node.js (current LTS) and npm, for Remotion
  • Python 3 with numpy and scipy (pip install numpy scipy) for the soundtrack
  • ffmpeg for the contact sheet, the waveform check and the loudness pass

Quick start

Open your product's repo in Claude Code and ask:

Make a 30-second launch video for this product.

Other requests also trigger it: "promo", "teaser", "Product Hunt video", "a video for my product". You don't need to mention Remotion.

The skill first scans the repo for brand colours, fonts, logo and copy. It then asks one round of questions (brand, music mood, format, length, voiceover, story), or you can answer "defaults". The Remotion project is created in its own <slug>-launch/ folder, so nothing else in your repo changes.

How it works

PhaseWhat happensYour input
0. SetupScaffolds a Remotion project, installs Remotion's agent skills and packages, and copies in the kit
1. IntakeReads the brand and story from your repo, then asks one round of questions; saves the answers to launch-brief.mdAnswer once, or say "defaults"
2. Creative directionPitches 2–3 concepts, each with its visual device, transitions, sound and beat mapGate 1: pick or mix concepts
3. Score + shot listGenerates an original soundtrack at an exact BPM, then writes a shot list where every cut lands on a beatGate 2: approve
4. BuildBuilds one scene at a time and renders a still of each
5. Self-reviewRenders review frames, tiles them into a contact sheet, fixes clipping, overlaps and uncovered cuts, and checks the waveformListen to the audio
6. Render + shipRenders the MP4, loudness-normalises it to −14 LUFS, and delivers the post copy; offers 9:16, 1:1, silent-loop and teaser cuts

Three ideas shape that order:

  1. A literal brief gets a literal video. The concept is built from the product's own verb (a commenting tool marks up its own headline), so the concept comes before the script.
  2. Rhythm makes motion look designed. The music has a known BPM, so it is made before the build.
  3. The agent can't see or hear the result. It renders stills and reviews them, and it asks you to do the listening.

What's in the skill

product-launch-video/
├── SKILL.md                     # the workflow above
├── references/
│   ├── creative-playbook.md     # concept patterns, scene types, transitions, sound map
│   ├── craft-rules.md           # hooks, launch structures, anti-patterns
│   └── prompt-template.md       # standalone prompt for use without the skill
├── scripts/
│   ├── make_soundtrack.py       # original score + SFX kit + beats.json
│   └── review_frames.sh         # review stills + contact sheet
└── assets/kit/                  # brand-agnostic Remotion components

The kit contains the beat grid, easing helpers, Slam, Stamp, Annotation, NamedCursor, Cursor, Sfx, Grain, and the MarkerWipe, ShutterCut and StickySlap transitions. Colours come in as props, so nothing is tied to a particular brand.

The soundtrack

make_soundtrack.py synthesizes all music and SFX from scratch with numpy and scipy. No samples are used, so there is nothing to license. Because the tempo is exact, every beat falls on a known frame.

python3 make_soundtrack.py --bpm 120 --fps 30 \
  --sections "intro:2,drop:7,break:3,drop:2,outro:1" --key A --mode minor --out public/audio

It writes music.wav, eight SFX (whoosh, riser, impact, pop, slap, tick, shutter, stamp) and beats.json, which holds frames per beat and the frame range of each section. The sound is electronic. For an acoustic or orchestral feel, bring your own track and give its BPM.

Configuration

The skill needs no setup. Choices for each video live in the launch-brief.md it writes, so you can change one with a one-line request such as "make it more somber" or "give me a 9:16 version". To change the defaults, edit SKILL.md (for example, the mood → BPM table in Phase 3) or the kit components.

Remotion licence: Remotion is free for individuals and for companies of three people or fewer. Larger companies need a company licence. This skill's MIT licence covers the skill, not Remotion.

Development

npm ci
pip install pyyaml numpy scipy
python scripts/validate_skill.py     # SKILL.md frontmatter
python scripts/smoke_soundtrack.py   # soundtrack + beat grid
npm run typecheck                    # kit, strict TypeScript
shellcheck product-launch-video/scripts/*.sh

CI runs the same gate on every pull request. See CONTRIBUTING.md.

License

MIT © 2026 Mason Levy

↑↓ navigate openesc close