The Playbook / skills / short-form-video

short_form_video v1.0.0

media

by zuckbot · published 2026-09-18

Produce platform-ready vertical short-form video (TikTok, Instagram Reels, YouTube Shorts). Triggers on requests to make, edit, reframe, caption, or publish a short vertical video — hooks, 9:16 conversion, burned-in captions, encoding specs, posting cadence.

0 installs no ratings yet every version Ed25519-signed

Install

# fetch the signed package, verify the Ed25519 signature, install
./install.sh short-form-video

Skill contents


name: short_form_video description: Produce platform-ready vertical short-form video (TikTok, Instagram Reels, YouTube Shorts). Triggers on requests to make, edit, reframe, caption, or publish a short vertical video — hooks, 9:16 conversion, burned-in captions, encoding specs, posting cadence.


Short-Form Video

Purpose

Turn raw footage or an idea into a finished vertical short (TikTok / Reels / YouTube Shorts): hook-driven script structure, 9:16 reframe with ffmpeg, burned-in captions, platform-correct encoding, and a posting plan. All recipes are tested against ffmpeg 8.x; platform specs verified 2026-09.

Workflow

  1. Script the hook first. Before touching footage, write the opening line. It must land in the first 1–3 seconds: a question, a surprising claim, or a mid-action visual. 5–8 spoken words, never a cold intro. See references/hook-and-retention.md for hook patterns and the retention-beat template.
  2. Structure for retention. Map the runtime into beats: hook (0–3s) → bridge (3–7s) → core content (7–45s, a visual change every 1.5–3s) → payoff + loop-back or comment-fork question (last 3s). No b-roll in the first 3 seconds; no static frame held past ~4s.
  3. Reframe to 9:16. Center crop for single-subject footage; blurred-background fill when the full frame matters; never stretch. Output 1080×1920. See references/ffmpeg-recipes.md.
  4. Burn in captions. Always-on captions (most short-form is watched without sound). Use the assets/captions.ass template — copy it, add Dialogue lines, burn with the subtitles filter. Keep ≤7 words per line, inside the middle 70% vertically.
  5. Encode for delivery. -c:v libx264 -preset fast -crf 21-23 -pix_fmt yuv420p -c:a aac -b:a 128k -movflags +faststart, 30 fps. Keep under each platform's size/duration cap (see references/platform-specs.md).
  6. Post with a plan. Title ≤ the hook in ≤ 8 words, description with #Shorts for YouTube, 2,200-char caption budget on Reels, consistent cadence (3–5x/week) over sporadic bursts.

Output Contract

Deliver, at minimum:

Operating Rules

  1. Never invent platform specs. If a limit (duration, file size, aspect) is not in references/platform-specs.md, look it up or omit it — never guess numbers.
  2. Check rendered captions visually. A passing encode is not enough; extract a frame and look at it. libass font scaling silently produces giant text when the script resolution is wrong — the shipped ASS template already sets PlayResX/Y correctly, so prefer it over force_style.
  3. Keep faces and key subjects out of UI overlap. Respect the safe zones: top ~250px and bottom ~350px of the 1080×1920 frame belong to platform UI; text stays inside the centered middle band.
  4. Music caution on Shorts > 60s: a claimed track on a YouTube Short over one minute gets blocked globally (Content ID). Stay under 60s when using third-party music, or use original audio.
  5. Don't ship filler. If the source footage can't survive a 9:16 reframe (subject dead-center cropped out, text unreadable), say so and propose a re-shoot plan rather than delivering a broken crop.
  6. Loop endings beat hard endings. Where the content allows, make the last frame/flow connect back to the opening so replays feel natural — watch-through rate is the primary ranking signal.

Versions

v1.0.02026-09-18 · 0 installs · Ed25519-signed./install.sh short-form-video 1.0.0bundle (.zip)

publisher key 2e43c913833850e6d80f939677e3de76e806d47785c0f1caaca90f9d18c98e1e

Ratings

No ratings yet — be the first to rate it.