launch-video
This skill should be used when the user asks to "make a launch video", "create a product hype/sizzle film", "build a teaser/trailer for a drop", "do a reveal montage with an end-card CTA", "cut a hero video to the beat", or "export a launch film in 16:9/9:16/1:1". Covers the hook→tease→reveal→feature-montage→end-card arc and multi-aspect export.
1How It Works & Mechanism
Rule #1: Design sound first, then cut video to it; never edit visuals first and add music later.
1. **Sound design leads picture.** Lock the track first, mark the beats and the drop, then cut visuals to those marks. Never score a finished cut — the reveal lands on the drop, not near it.
The five-stage arc is fixed; for 15s/30s/60s, scale only the middle section—never stretch the hook.
Scale the same proportions for 15s (tighter) or 60s (longer montage, never a longer hook).
Align drop frames using measured timecodes: on a paused GSAP timeline, use set for a hard cut precisely at the DROP moment.
const DROP = 9.0; // measured drop timecode (s)
Montage discipline: one benefit per shot, 0.6–1.0s duration, identical enter/exit curves.
Montage discipline: keep ONE enter curve and ONE exit across all shots; vary content, never grammar.
Multi-aspect ratios: build a 16:9 master first, then reframe shot-by-shot without letterboxing.
For 9:16, **reframe** (pan/scale per shot to keep the subject centered) — do not letterbox.
Heavyweight workflows (Remotion rendering) must bake beats/drops into props; forbid GSAP or audio callback timing.
If the launch film is built/rendered in Remotion, treat it as the heavy tier: register a `<Composition>` (+ zod `schema` + `defaultProps`), drive every value off `useCurrentFrame()` — no GSAP timelines / audio-event callbacks / `Date.now()` / `Math.random()` at render time (bake beat + drop timecodes into props).
End-card discipline: hold logo + tagline + CTA static for ≥2s, one single action, without competing against animations for attention.
Hold the logo + tagline + CTA still and clean for ≥2s. No busy motion competing with the CTA; let the brand settle.
Validation loop: sample three points (hook / reveal / end-card), and use shipped props rather than defaultProps.
**Verify loop — render stills → inspect → encode.** Sample the arc, with the **shipped** props (real headline/tagline/CTA), not just `defaultProps`.
2Core Capabilities
3External Dependencies
| Kind | Dependency / Endpoint |
|---|---|
| package | remotion(重档渲染 + zod 契约) |
| cli | npx remotion still / render |
| package | gsap(轻档 HTML 时间线) |
| cli | ffmpeg / ffprobe(仓库共享 contact-sheet.sh、probe-mp4.sh) |
| network | iart.ai(reference 尾部推广链接,具 utm 参数;仅读者点击才请求) |
4Recommended Governance & Evidence
- scripts/: Executes local scripts or commands: No bundled scripts in the skill directory; SKILL.md instructs the agent to run `npx remotion still` / `npx remotion re
- 网络端点: Declares external network access: Does not query business endpoints at runtime; audio tracks are supplied by the user (the skill specifies no external music or TTS services).
- 本地工作目录: File I/O and artifact generation: Writes `out/f-hook.png`, `out/f-reveal.png`, `out/f-end.png`, `out/launch-*.m` into the user workspace.
5Second-Pass Verification
- [discrepancy] SKILL.md 是否声明了 reference 未提供的实现 — Deliver 段要求 register `<Composition>` + zod schema + defaultProps,但唯一 reference(launch-structure.md)通篇是分镜、CSS/GSAP 与 ffmpeg 层面内容,**没有任何 Remotion 组件实现**(对比同仓 ad-creative 的 batch-ad-pipeline.md 有完整组件)——重档要由 agent 从零写。
- [ok] 「no GSAP / audio-callback timing」与正文 GSAP 代码是否自相矛盾 — 正文的 GSAP + `audio.addEventListener("play", ...)` 属轻档(HTML 交付物),Deliver 段的重档纪律被 "If the launch film is built/rendered in Remotion" 限定;属分档并存,但读者易误把事件驱动时间线用于视频导出(已记入 risks)。
- [ok] 示例帧号与 drop 时间码是否自洽 — `--frame=270` 注释为 reveal;30fps 下 270 帧=第 9.0s,正好等于 reference 的 `const DROP = 9.0`。
- [ok] hook 时长纪律是否前后一致 — SKILL.md 的「hook 0–3s / Never lengthen the hook」与 reference 的「The hook never gets longer — only the montage scales.」同口径。
- [ok] 终卡时长与多比例验证顺序 — end card ≥2s 在 SKILL.md 输出清单、reference QA 清单、Deliver 前置条件三处一致;「先每个比例验 master 再编码」与同批其他 skill 同一口径。
- [ok] 凭证/外发面反查 — token 扫描零实质命中;音轨与素材均为本地文件;skill 未指名任何外部音乐/TTS/托管服务。
6Verdict & Scenarios
056c60923ef4e60f…