---
name: Social Clip
slug: social-clip
category: Automation
description: Social Clip creates 10-second social media teaser videos for product launches and feature announcements. Use it when you need a short, branded clip for X, LinkedIn, TikTok, or similar channels.
github: "https://github.com/ucsandman/marketing-studio/tree/main/skills/social-clip"
language: JavaScript
stars: 225
forks: 31
install: "npx degit https://github.com/ucsandman/marketing-studio/tree/main/skills/social-clip ~/.claude/skills/social-clip"
installs_to: ~/.claude/skills/social-clip
source_path: skills/social-clip/SKILL.md
collection_size: 15
category_size: 1754
collection_url: "https://dirskills.com/collections/ucsandman/marketing-studio"
added: 2026-09-03T06:05:21.200Z
last_synced: 2026-09-03T06:05:21.200Z
canonical_url: "https://dirskills.com/skills/social-clip"
---

# Social Clip

Social Clip creates 10-second social media teaser videos for product launches and feature announcements. Use it when you need a short, branded clip for X, LinkedIn, TikTok, or similar channels.

**Install:**

```bash
npx degit https://github.com/ucsandman/marketing-studio/tree/main/skills/social-clip ~/.claude/skills/social-clip
```

## README

# Social Clip

**REQUIRED BACKGROUND:** marketing-studio skill. Work in `${CLAUDE_SKILL_DIR}/../..`.

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.
