social-clip · git:20260904.14d2e37 · 2026-09-04 · sha256 66088199bd02697c

social-clip git:20260904.14d2e37A

Immutable. This exact content is served forever at /api/v1/blob/66088199bd02697c.

---
name: social-clip
description: Use when the user wants a short social video / feature announcement clip - e.g. "/social-clip", "make a clip announcing X".
---

# Social Clip

**REQUIRED BACKGROUND:** marketing-studio skill. Work in `C:/Projects/animations`.

Produces: `out/<brand>/<name>.mp4` — 10s, 1920x1080, three acts:
headline word-spring -> screenshot panel + feature lines -> end card.

## Recipe

1. Toolchain + brand check per marketing-studio.
2. Screenshot: copy the product screenshot into `studio/public/<brand>/` (create a
   `fetch-<brand>-assets.mjs` if repeatable). The SocialClip panel zooms into it —
   tune the `zoom {from,to,origin}` so the crop ends BEFORE any app-side clipped edge
   and the money-shot column/element is the rightmost thing in frame.
3. Props file `props/<brand>-<name>.json` matching `socialClipSchema`
   ({brandId, kicker, headline, lines (1-4), screenshot, cta}). Copy: terse, factual,
   brand voice, no em dashes.
4. Proof stills at frames 45/150/280 (headline / panel+lines / end card), Read each,
   iterate copy + zoom until intentional.
5. `npx remotion render SocialClip out/<brand>/<name>.mp4 --props=<props>`.
6. Score it (mandatory: SocialClip renders silent and a silent clip is not
   deliverable): `node scripts/score-social-clip.mjs <brand> <name> --vo <act>` with the
   ONE VO line from props/<brand>-audio.json that matches the plate. Output
   `out/<brand>/<name>-final.mp4`; build-postkit prefers it over the matrix row.
7. `node scripts/check-audio.mjs <brand>` exits 0, then deliver the `-final` file per
   marketing-studio.