product-film skill
A Claude Code skill that builds a Remotion film of your product from its own components, tokens and logo, cut to music
- 424 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- Runs local Node, Bun and Python scripts and adds Remotion to your project's dependencies
- Writes files to `videos/` and puts heavy render output in `out/`
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add skills/product-filmDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Runs local Node, Bun and Python scripts and adds Remotion to your project's dependencies
- Writes files to `videos/` and puts heavy render output in `out/`
This is third-party code. Review the repository files before installing.
What it does
product-film is a Claude Code skill that builds a product film in Remotion: a landing-page loop, a launch video, a promo or a demo reel. The agent first studies the project's design system: rules files, tokens, components, the logo, the live site and what the product may claim. It then asks what to show and offers options named after real features and components in the code. The agent writes the answers and the design it found into `videos/BRAND.md`, and that file wins over any default in the skill. The story and three style frames come from it, and you approve them before the build. The skill cuts music on the bars: `scripts/beats.py` measures the song's beat grid and `scripts/audio-edit.py` edits the track. Scenes go into one Remotion composition where every frame depends only on time. The agent shows frames and contact sheets, fixes what you flag and renders the final film, with a 240 fps master and motion blur. You get a muted loop for the page, a version with music, a WebM and a poster. `scripts/verify.py` decodes the files and checks colors, duration and that the loop closes without a jump.
Who it is for. Developers and designers of SaaS products who want a landing or launch film assembled from their own code and design system.
Good fit when
- The home page needs a muted looping film that shows the product's real components
- A 45-second promo for a release has to follow one specific song
- The film is edited like code and each render is kept in `out/<film>/v1`, `v2` and so on
- The product's brand colors, type and copy must not be swapped for stock graphics
Not a fit when
- You need a film by tomorrow morning with no interview: the skill first asks what to show
- You need footage of real people: the skill assembles animation from the product's code
- Your company needs a commercial Remotion license and cannot get one
- The music you want under the film has no cleared rights
Example request
Make a 45-second landing-page film for this product, cut to this songLimitations
- The skill works only in Claude Code: it runs local tools and is unavailable in the Claude chat apps.
- It needs Node.js, Bun and uv. The skill adds Remotion to your project, and its scripts pull numpy and a full ffmpeg (imageio-ffmpeg) on demand without installing anything system-wide.
- Remotion has its own license: it is free for individuals and small teams, while larger companies need a company license.
- You check the rights to the music yourself; the skill does not.
How to disable. Remove the plugin from the `/plugin` menu in Claude Code. If you copied the folder by hand, delete `~/.claude/skills/product-film`. The `videos/` and `out/` files in your project stay and are deleted separately.
FAQ
How do I install product-film in Claude Code?
Run `/plugin marketplace add Rieranthony/product-film-skill`, then `/plugin install product-film@product-film-skill`. To install by hand, copy `plugins/product-film/skills/product-film` from the repository into `~/.claude/skills/`; for a team, commit it to `.claude/skills/product-film/`.
Does the skill work in Claude chat or Claude Desktop?
No. The skill runs local tools, so it works only in Claude Code, where the agent can see your repository.
Do I need a Remotion license?
It depends on company size. Remotion is free for individuals and small teams, and larger companies need a company license. The terms are at remotion.dev/license.
What do I get at the end?
A muted loop for the page, a version with music, a WebM and a poster. Before delivery `scripts/verify.py` decodes the files and checks colors, duration and the seamless loop.
What is `videos/BRAND.md`?
It is the product's design kit, which the agent fills in from the `templates/BRAND.md` template: tokens, components, logo, voice and what the product may claim. It wins over any default in the skill.
Discussion
No questions or reviews yet.
Related
SkillsA skill and Remotion pipeline: the agent studies your product and builds a demo video in React code, with no screen recording
A skill that makes your agent film a short product video: concept, edit, sound and render on Remotion or HyperFrames
A Claude Code skill that records a product in the browser, composes a video with chapters and captions and masters the MP4 locally
A skill for Claude Code and Codex that builds cinematic product videos with Remotion from shot recipe cards, a ready template and audio assets
The video-explainer skill turns a script into a vertical 9:16 explainer: narration, captions, Remotion and a pre-render review
A skill for promo films and kinetic type: idea and storyboard before the build, MP4 rendered through Chrome and ffmpeg, checked by six gates
README in short
The repository front page covers installation through the Claude Code plugin marketplace or a manual folder copy, then a seven-step workflow from design discovery to the final render. It then shows the skill's file tree: references, templates with a kit for timing, springs and camera, and the render and verify scripts. It closes with requirements and the licenses of Remotion and of the skill itself (MIT).
README badge
Original SKILL.md
--- name: product-film description: Make a showreel-grade product film (landing-page loop, launch video, promo, demo reel, social cut) in code with Remotion, built on the product's own design system, components and voice. Use when someone asks for a product video, landing video, promo, launch film, explainer or "motion design video" for their app, SaaS or codebase. It asks what to include, then covers design discovery, story, music sync, transitions, review loops and a verified final render. --- # Product film A film that looks like the product made it: its colors, type, components, logo and voice, cut to music. Built in Remotion inside (or beside) the product's codebase, so it reuses real components and stays editable. ## Non-negotiables - **Their design wins.** Every rule comes from the product: its tokens, components, rules files, landing page and copy. Never carry another product's taste in, including anything in this skill that their design contradicts. - **Ask, don't assume.** What the film shows and how it is made are the user's call. Interview them before writing the story ([reference/interview.md](reference/interview.md)). Offer options drawn from what you found in their code, never generic ones. - **Every frame is a pure function of time.** No CSS transitions or keyframes, no timers, no `Date.now()`, no state carried between frames. A component that runs its own clock gets a frame-driven twin. - **Measure, never guess.** Beats come from the audio, positions from the DOM (debug overlay), colors from decoded pixels of the final files. - **Honest claims.** Show only what the product really does. Find its claims rules and approved lines before writing a word. - **Ask first** before committing, pushing or publishing. Keep every rendered version (`out/<film>/v1`, `v2`, ...). ## Workflow 1. **Quick discovery.** Just enough to ask good questions: rules files, tokens, components, the logo (and any mascot or animated mark), the landing page, the main features. See [reference/discovery.md](reference/discovery.md). 2. **Interview.** Two rounds of AskUserQuestion: the brief, then the ingredients. A third round only if needed. See [reference/interview.md](reference/interview.md). 3. **Brand kit → `videos/BRAND.md`.** Finish discovery on what they chose and fill [templates/BRAND.md](templates/BRAND.md). 4. **Story → `videos/<film>-prompt.md`.** Read [reference/story.md](reference/story.md) and [reference/ingredients.md](reference/ingredients.md), then fill [templates/film-prompt.md](templates/film-prompt.md). Checkpoint with the user: beat sheet and 3 style frames. 5. **Music.** Skip if the film is silent. See [reference/music.md](reference/music.md): `scripts/beats.py`, the per-bar stem map, `scripts/audio-edit.py`, SFX on measured peaks. 6. **Engine and scenes.** Read [reference/engine.md](reference/engine.md). - Copy [templates/kit/](templates/kit/) into `videos/src/kit/`. - One folder per film: `cues.ts` (the beat sheet as data), `layout.ts`, `acts/`, the composition. 7. **Review loop.** See [reference/review.md](reference/review.md). - Stills at every handoff (`scripts/stills.ts`, `--debug` to measure). - Contact and handoff sheets, then a half-res draft. - Fix, repeat, and show the user frames as you go. 8. **Final render, verify, deliver.** See [reference/render.md](reference/render.md): `scripts/render.ts`, then `scripts/verify.py`, then send the files. ## Quality floor (always, whatever the ingredients) - **Only the product's own surfaces, colors, borders and shades.** Never invent card backgrounds, outlines or tints it does not use. - **Readable at the delivery size.** Fewer words beat smaller words. Cut labels that restate the picture. - **Text is never covered** by a cursor, a chip or a texture. It never crosses other text in a move. A line never re-centers while it builds: keep every word's slot. - **Loading states keep their width.** Use the product's own loading pattern. - **Something happens on every beat.** A bar where nothing moves reads as slow. - **Scene boundaries land on bars.** A loop's last frame equals its first. A landing loop must read muted. - **No effects the product's language does not use:** glows, particles, click rings, bouncy easing, shaders. ## Traps that cost real time - Remotion stills do not forward console logs. Print measurements into the frame (`templates/kit/debug.tsx`). - `npx remotion still` re-bundles on every call. Use `scripts/stills.ts`: bundle once, render many frames. - Remotion's bundled ffmpeg has no `tmix`, `select` or `tile`. Use a full ffmpeg (`uv run --with imageio-ffmpeg`). - **Color range:** the Remotion master is limited range, BT.601, untagged. Blending it as full range lifts `#0a0a0a` to `#171717`, a gray box on a dark page. Decode frame 0 of every deliverable and check the numbers.