Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

2 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽฌ remotion-ad-video

A Claude Code skill for building product/SaaS ad videos entirely in code โ€” with frame-precise music beat-sync, synthesized SFX, and a visual-QC loop.

ืกืงื™ืœ ืœ-Claude Code ืœื‘ื ื™ื™ืช ืกืจื˜ื•ื ื™ ืคืจืกื•ืžืช ืžืกื•ื ื›ืจื ื™ื ืœื‘ื™ื˜ โ€” ื›ืงื•ื“, ื‘ืœื™ ืขื•ืจืš ื•ื™ื“ืื•.

Skill Remotion License


๐Ÿ‡ฎ๐Ÿ‡ฑ ืžื” ื–ื”?

ืฉื™ื˜ืช ืขื‘ื•ื“ื” ืฉืœืžื” โ€” ืืจื•ื–ื” ื›-Skill ืœ-Claude Code โ€” ืœื‘ื ื™ื™ืช ืกืจื˜ื•ืŸ ืคืจืกื•ืžืช ืžืงืฆื•ืขื™ ืœื’ืžืจื™ ื‘ืงื•ื“ (Remotion + React), ื‘ืœื™ ืœืคืชื•ื— ืขื•ืจืš ื•ื™ื“ืื• ืืฃ ืคืขื.

ื”ืกืงื™ืœ ื ื‘ื ื” ื•ื–ื•ืงืง ืœืื•ืจืš 19 ื’ืจืกืื•ืช ืฉืœ ืคืจืกื•ืžืช SaaS ืืžื™ืชื™ืช ื‘ืื•ืจืš 77 ืฉื ื™ื•ืช, ื›ื•ืœืœ:

  • ๐ŸŽต ืกื ื›ืจื•ืŸ ืžื•ื–ื™ืงื” ืœื‘ื™ื˜ ืžื“ื•ื™ืง ืœืคืจื™ื™ื (ื–ื™ื”ื•ื™ BPM, ื‘ื ื™ื™ืช ืคืชื™ื— ืžื”-DNA ืฉืœ ื”ื˜ืจืืง, ืงื•ื•ื ื˜ื™ื–ืฆื™ื” ืฉืœ ืกืฆื ื•ืช)
  • ๐Ÿ”Š ืืคืงื˜ื™ ืกืื•ื ื“ ืžืกื•ื ืชื–ื™ื ืž-numpy (ื”ืงืœื“ื”, ืคื•ืค, ื•ื•ืฉ, ืงืœื™ืง, ืžืฉื™ื›ืช-ื˜ื•ืฉ) โ€” ื‘ืœื™ ืงื‘ืฆื™ื ื—ื™ืฆื•ื ื™ื™ื
  • ๐ŸŽž๏ธ ื™ื™ืฆื•ื ืžืงื˜ืขื™ื โ€” ื›ืœ ืกืฆื ื” ื’ื ื›ืงืœื™ืค ืขืฆืžืื™ ืœืจืฉืชื•ืช
  • ๐Ÿ” QC ื•ื™ื–ื•ืืœื™ โ€” ื”ื•ื›ื—ืช ื›ืœ ืชื™ืงื•ืŸ ืขืœ ืคืจื™ื™ืžื™ื ืžืจื•ื ื“ืจื™ื, ืœื ื”ื ื—ื•ืช
  • ๐ŸŒ ืชืจื’ื•ื ื•ืœื•ืงืœื™ื–ืฆื™ื” โ€” ืžืชื’ LANG ื™ื—ื™ื“ ืฉื”ื•ืคืš ืืช ื›ืœ ื”ืกืจื˜ื•ืŸ ืœืฉืคื” ืื—ืจืช: ื˜ืงืกื˜, ืžื˜ื‘ืข, ืกืœื ื’, ื•ื”ื™ืคื•ืš RTLโ†”LTR (ื›ื•ืœืœ ืชืจื’ื•ื ืฆื™ืœื•ืžื™ ื”ืžืกืš ื‘ืคื ื™ื) โ€” ื‘ืœื™ ืœื’ืขืช ื‘ืกื ื›ืจื•ืŸ ื”ื‘ื™ื˜

ื”ืฉื™ื˜ื” ืื’ื ื•ืกื˜ื™ืช ืœืžื•ืชื’ โ€” ื”ืฆื‘ืขื™ื, ื”ืคื•ื ื˜ื™ื ื•ื”ืœื•ื’ื• ื”ื ืงืœื˜, ืœื ื—ืœืง ืžื”ืฉื™ื˜ื”. ืขื•ื‘ื“ ืœื›ืœ ืžื•ืฆืจ.

๐Ÿ‡ฌ๐Ÿ‡ง What is this?

A complete methodology โ€” packaged as a Claude Code skill โ€” for producing premium ad videos entirely in code (Remotion + React). No video editor, ever.

Battle-tested across 19 feedback iterations on a real 77-second SaaS ad. The video is a React composition: every frame is deterministic, every client note is a one-line edit plus a re-render, and music sync is exact because timing lives in numbers, not on a timeline.


๐Ÿ“ฆ What's inside

skill/
โ”œโ”€โ”€ SKILL.md                      # the 6-phase workflow + non-negotiables + QC method
โ”œโ”€โ”€ references/
โ”‚   โ”œโ”€โ”€ beat-sync.md              # full music-sync recipe (BPM detect โ†’ build intro โ†’ quantize)
โ”‚   โ”œโ”€โ”€ remotion-patterns.md      # component patterns: TypedTitle, SplitTitle, KPI counters,
โ”‚   โ”‚                             #   screen stacks, camera flyovers, cursor+click, SFX arrays
โ”‚   โ””โ”€โ”€ localization.md           # translate to another language: LANG switch, RTLโ†”LTR flip,
โ”‚                                 #   currency/idiom, translating embedded UI screenshots
โ””โ”€โ”€ scripts/
    โ”œโ”€โ”€ beat_sync.py              # detect BPM + beat grid, suggest quantized scene durations
    โ””โ”€โ”€ build_soundtrack.py       # assemble a beat-synced soundtrack from any groove track

๐Ÿš€ Install

Copy the skill into your project's (or global) skills directory:

# clone
git clone https://github.com/Alon17-12/remotion-ad-video-skill.git

# install into a project
mkdir -p .claude/skills
cp -r remotion-ad-video-skill/skill .claude/skills/remotion-ad-video

# โ€” or globally for all projects โ€”
cp -r remotion-ad-video-skill/skill ~/.claude/skills/remotion-ad-video

That's it. Next time you ask Claude Code "let's make a product ad video" or "sync this video to the beat", the skill activates automatically.

Requirements

  • Claude Code
  • Remotion 4 (npx create-video)
  • Python 3 with numpy + scipy (for the audio scripts) โ€” no librosa needed
  • ffmpeg (the audio scripts point at the imageio-ffmpeg binary; adjust the path in the scripts)

๐ŸŽฏ The method in one screen

  1. Ideas before pixels โ€” deliver 50 frame ideas grouped by category; the client picks.
  2. Scene skeleton โ€” one file per scene, a SCENES array, per-scene segment exports.
  3. The feedback loop โ€” timestamped notes โ†’ one-line edit โ†’ re-render โ†’ prove it on frames โ†’ open the file.
  4. Music (after picture locks) โ€” the client generates a groove (Suno etc.); you build the trailer intro from the track's own drop, then quantize every scene to the beat grid.
  5. Lock โ€” brand font on headings, fade aligned to a musical phrase, refresh all segments.
  6. Localize (optional) โ€” one LANG switch flips the whole film to another language: native idiom + currency + dates, RTLโ†”LTR layout (logical CSS, mirrored chat bubbles, flipped chevrons โ€” but charts still rise leftโ†’right), and the embedded UI screenshots re-shot in the target language. Durations stay frozen, so the beat-sync is untouched.

The seven non-negotiables (learned the hard way)

  1. RTL growth charts still rise leftโ†’right (a right-to-left line reads as decline).
  2. Client copy is sacred โ€” apply it character-for-character; flag suspected typos, never silently rewrite.
  3. Brand names stay in their canonical script.
  4. No invented data in KPI/demo scenes for a real brand.
  5. Soft, synthesized, few SFX โ€” loud stock risers get rejected.
  6. Everything lands on the beat grid once music exists โ€” compute, don't eyeball (a 3-frame miss โ‰ˆ 100ms is audible).
  7. One visual language โ€” pick 1-2 motifs, model them as shared components, repeat everywhere.

๐Ÿ’ก Example prompts

Kick off a project:

I want to create a SaaS ad in Remotion for my product: [description]. Vibe: technological, premium, [brand colors]. Open a folder I'll upload materials into (screenshots, logo, mascots) โ€” and give me 50 frame ideas grouped into categories: hook, product-demo, data, features, closer.

Beat-sync an existing render:

Take the track I uploaded. Detect the BPM and the drop, sample one hit from it and build a three-boom intro that lands exactly on the three hook screens, then quantize every scene duration to the beat grid and align the ending to a full musical phrase with a fade-out.

Translate an existing ad to another language:

Translate the whole ad to English. Don't fork the project โ€” route every string through a single LANG switch so I can flip back to the original anytime. Adapt the copy to natural English (idiom, not word-for-word), switch the currency to $, localize dates and demo names, and flip the layout RTLโ†’LTR (sidebars, chat bubbles, chevrons โ€” but keep charts rising leftโ†’right). Translate the embedded UI screenshots too, and keep every scene duration identical so the music stays in sync.

Suno prompt (paste into the Style box):

Upbeat tech house / synth-pop instrumental, 120 BPM, modern SaaS commercial energy. Punchy four-on-the-floor kick, tight snappy percussion, deep clean bass groove. Bright plucky synth arpeggios, warm analog chords. Builds steadily, short dreamy breakdown in the last third, final euphoric lift. Polished, premium Apple-commercial feel. Clean mix, steady constant tempo, no vocals, no fade-in.


๐Ÿ™ Credits

Built with Claude Code, Remotion, and Suno.

Created by Alon Gabay ยท shared freely for the community.

๐Ÿ“„ License

MIT โ€” use it, fork it, ship ads with it.

About

๐ŸŽฌ Claude Code skill: build product/SaaS ad videos as code (Remotion) with frame-precise music beat-sync, synthesized SFX & a visual-QC loop. Brand-agnostic.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages