product-video — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited product-video (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
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.
skills/creative/talking-head.skills/creative/remotion-script-writer; you can still run this skill first to define concept and beats, then hand the beat sheet over.skills/creative/social-graphics.skills/creative/creative-strategist first; its style guide feeds this skill.Ask in one tight batch, only what's missing:
skills/creative/creative-strategist style 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.
| 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.
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.
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" |
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.
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 2KIf 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).
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]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.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.