Product video
Skill sanky369/vibe-building-skills/skills/creative/product-video
Open-source agent skills library for building SaaS, marketing systems, creative assets, and frontend design workflows
npx -y skills add sanky369/vibe-building-skills --skill product-videoAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Plan an animated product video end-to-end: pick the video type, define the animation style and pacing, write a beat-by-beat shot list, and produce ready-to-run keyframe prompts. Use whenever the user wants a product video, product animation, launch video, promo or ad video, animated product reveal, 360 spin, feature showcase, or 'a short video for my product' — even if they only say 'I need a video for the launch' or 'make my product look good in motion'. Also use to storyboard a video another tool will render. Produces a Product Video Production Spec: concept, beat sheet with timings and transitions, keyframe prompt list for fal-ai/nano-banana-pro, and audio/CTA direction.
SKILL.md
8.8 KB, as published. Nobody here has run it
Product Video
Turn a product and a goal into a complete Product Video Production Spec — one chosen video concept, a beat-by-beat shot list with timings, an animation and pacing plan, and generation-ready keyframe prompts. The governing principle: one video communicates one thing. Every beat either builds toward the single message (the reveal, the benefit, the transformation) or it gets cut. You produce the plan and the keyframes; rendering the motion happens downstream.
When to use / when not to
- Use for product-centric motion content: reveals, feature showcases, product-in-action, transformations, 360 spins.
- If the video is fronted by a person (presenter, testimonial, UGC) → use
skills/creative/talking-head. - If the video will be rendered programmatically in Remotion (UI demos, code tutorials, data viz) → use
skills/creative/remotion-script-writer; you can still run this skill first to define concept and beats, then hand the beat sheet over. - If the user needs static assets (posts, banners) →
skills/creative/social-graphics. - If there is no brand style guide yet and the user cares about brand consistency → run
skills/creative/creative-strategistfirst; its style guide feeds this skill.
Intake
Ask in one tight batch, only what's missing:
- Product — what is it and what's the one thing the video must communicate (new launch? a feature? a benefit? a before/after)?
- Where it runs — TikTok/Reels/Shorts, product page, YouTube pre-roll, trade show loop? (This decides aspect ratio, duration, pacing.)
- What the viewer should do after — the CTA.
- Brand style — is there a
skills/creative/creative-strategiststyle guide or existing brand assets to match?
Infer from context instead of asking: aspect ratio from platform, mood from product category, style from any existing brand materials in the project. Don't stall: if the product and goal are clear, state your assumptions for the rest ("Assuming Reels, 12s, vertical, energetic — say otherwise") and proceed.
Workflow
1. Choose the video type (decision rule, not a menu)
| If the message is… | Type | Duration | Beat structure |
|---|---|---|---|
| "This exists / it's new" | Reveal | 5–15s | hidden/obscured → reveal animation (fade, slide, rotate) → hero shot |
| "It does these 2–4 things" | Feature Showcase | 15–30s | feature 1 highlight → feature 2 → feature 3 → full product |
| "Here's the benefit in use" | In Action | 10–20s | product in environment → product being used → outcome shown |
| "Look at the change" | Transformation | 10–15s | before state → morph → after state |
| "Just show the object" (e-commerce, listings) | 360 Spin | 5–10s | continuous smooth rotation, clean background |
Commit to one type with a one-line reason. Offer a single backup only if two genuinely fit. Never showcase more than 4 features — cut to the strongest.
2. Set pacing from platform
- Fast (5–10s, quick snappy cuts): social feeds, ads, anything skippable. Hook in the first 2 seconds.
- Medium (10–20s, smooth transitions): product pages, marketing site, email embeds.
- Slow (20–30s, deliberate luxurious moves): premium/luxury products, storytelling. Only choose slow if the product's price point earns the patience.
Aspect ratio by placement: 9:16 vertical (TikTok/Reels/Shorts/Stories), 16:9 (YouTube, web hero), 1:1 or 4:5 (feed posts). These map directly to --aspect-ratio values in the CLI.
3. Pick one animation style
Match to brand personality — pick exactly one and use its phrase verbatim in every keyframe prompt so frames stay consistent:
| Brand feel | Style | Prompt phrase |
|---|---|---|
| Elegant, calm | Smooth Fade | "smooth fade transitions, gentle pacing, elegant" |
| Modern, energetic | Dynamic Slide | "dynamic slide transitions, elements slide in, energetic pacing" |
| Cinematic, bold | Zoom & Rotate | "zoom and rotate moves, dynamic pacing, cinematic" |
| Sophisticated, fluid | Morphing | "smooth morphing transitions, fluid animation, sophisticated" |
| High-tech | Particle Effects | "particle effects, product materializes/dissolves, high-tech" |
4. Write the beat sheet
Break the duration into 3–6 beats. For each beat: time range, what's on screen, camera/motion, and the transition out. Every beat must advance the single message; the last beat always holds the product + CTA for ≥2 seconds.
5. Write keyframe prompts
One keyframe per beat (two for a transformation's before/after). Each prompt = subject + state at that beat + the animation-style phrase + lighting + the same style/lighting descriptors across all frames (consistency is what makes frames read as one video). All keyframes use identical background and lighting descriptions unless the beat explicitly changes location.
If FAL_API_KEY (or FAL_KEY) is set, generate the keyframes now with the repo CLI — model fal-ai/nano-banana-pro via docs/fal_api.py:
python docs/creative_cli.py custom \
--category "video-keyframes" --name "beat-1-hero" \
--prompt "<keyframe prompt>" --aspect-ratio 9:16 --resolution 2K
If no key is set, deliver the prompts as ready-to-run commands. Note: nano-banana-pro generates still keyframes only — the motion between them is produced downstream (Remotion, a video generation tool, or an editor).
6. Self-check against the quality bar, then deliver the spec.
Required output format
Always deliver this structure:
# Product Video Production Spec — [Product]
## Overview
- **Message (one sentence):** ...
- **Type:** Reveal | Feature Showcase | In Action | Transformation | 360 Spin — [one-line reason]
- **Platform / placement:** ... · **Aspect ratio:** ... · **Duration:** ...s · **Pacing:** Fast/Medium/Slow
- **Animation style:** [style + verbatim prompt phrase]
- **CTA:** ...
## Beat sheet
| # | Time | On screen | Camera / motion | Transition out |
|---|------|-----------|-----------------|----------------|
| 1 | 0–3s | ... | ... | ... |
| 2 | 3–7s | ... | ... | ... |
(final beat: product + CTA, held ≥2s)
## Keyframes
### KF-1 (beat 1) — [label]
> [full nano-banana-pro prompt]
`python docs/creative_cli.py custom --category "video-keyframes" --name "kf-1" --prompt "..." --aspect-ratio [ratio] --resolution 2K`
(repeat per beat; identical style/lighting descriptors across all)
## Audio direction
- Music: [genre/energy matched to pacing] · Sound design: [key moments] · VO: [none, or one line per beat]
## Production notes
- [render path: Remotion via skills/creative/remotion-script-writer / video gen tool / editor]
- [anything beat-specific: logo timing, text overlays, loop point for trade-show/spin videos]
Quality bar (check before delivering)
- One message; if you can't state it in one sentence, restart at step 1.
- Hook lands within the first 2 seconds for Fast pacing, 4 for Medium.
- Beat count 3–6; no beat shorter than 1.5s; timings sum exactly to the stated duration.
- Every keyframe prompt contains the same animation-style phrase and the same lighting/background descriptors (unless the beat changes location) — inconsistent frames are the #1 failure mode.
- Prompts specify "smooth", "fluid" motion language — never leave motion quality implicit.
- CTA present in the final beat, held ≥2 seconds.
- No invented performance claims ("this format gets 3x engagement") — pacing/duration guidance above is heuristic, label it as such if asked.
Integration
skills/creative/creative-strategist→ feeds in: the style guide (colors, mood, lighting language) that all keyframe prompts must obey.skills/creative/product-photography→ feeds in: existing hero-shot prompts/lighting setups reused as the video's hero frame for consistency.skills/creative/image-generation→ consumes: keyframe prompts, if the user wants deeper control over generation than the CLI one-liners.skills/creative/remotion-script-writer→ consumes: the beat sheet + keyframes, when the video will be rendered as a Remotion composition.skills/creative/social-graphics→ consumes: hero keyframes as source imagery for supporting static posts.