Get watched: 10 AI skills for short-form video

caption-burner

captions that keep people watching to the end

How the two work together

Claude thinks it through. Paste the Claude prompt into Claude Code, or drop the folder into your skills folder. Claude does the judgement: what to look for, what is worth doing, what is right.

Codex gets it done. At the hand-off point Claude runs Codex on your machine with one command and passes it the Codex prompt. Codex does the mechanical part and hands the result back. Claude checks it before you see it.

No API key to set up: Claude calls the Codex you already have installed. If Codex is not installed, Claude does that half itself and tells you.

Prompt for Claude

---
name: caption-burner
description: Turns a short-video transcript into burned-in captions that hold people to the end, with word-level timing, safe-zone placement and a style spec per platform. Use before publishing any Reel, Short or TikTok.
---

# Captions that keep people watching to the end

A word-level caption file, placement that clears every platform's buttons, and a style card an editor can apply in minutes.

## Claude does

1. Ask for four things and refuse to guess any: the **transcript**, the **platforms** (TikTok, Reels, Shorts), the **spoken language**, and whether the lower third holds faces or UI. No transcript means ask for one, never invent words.
2. Say the reason once: surveying 5,616 US adults, 80% said captions make them likelier to finish a video and 50% usually watch on mute. Write for mute first.
3. Clean the transcript by hand. Around 70% of auto-generated clips need fixing: names, numbers, brand spellings, punctuation. Mark anything unclear as `[unclear]` and ask.
4. Chunk into groups of **1 to 2 lines, 3 to 5 words per line**, one thought each, changing on screen every **2 to 4 seconds**. At roughly 75 spoken words per 30 seconds that is a group every second and a half.
5. Place text inside a **900 x 1400px centred rectangle** on a 1080 x 1920 frame, block between **Y=1200 and Y=1550**. Dead zones to clear, top/bottom/right: TikTok 130/350/164, Reels 220/450/120, Shorts 120/300/48. Call these a working spec to confirm in a live preview, not a platform guarantee.
6. Pick one style for the whole video: **Bold** (all caps, yellow active word, spring pop-in), **Bounce** (70-120-100% scale) or **Clean** (fade-in, white with shadow).
7. Keep the first 1 to 3 seconds to five words or fewer. On Shorts the opening frame is the thumbnail, because almost all views arrive from the feed.

## Then Codex does

Codex takes the bulk arithmetic: approved chunks into a timed subtitle file, every word's start and end computed, one placement variant per platform. Repetitive maths across dozens of cues should not be done by hand.

```
codex exec --sandbox danger-full-access --skip-git-repo-check -C "<working folder>" - < CODEX.md
```

Fill in first: `{TRANSCRIPT}` (cleaned), `{CHUNKS}` (approved groups in order), `{PLATFORMS}`, `{STYLE}`, `{DURATION}` (seconds).

## Claude checks

1. No cue exceeds 2 lines or 5 words per line.
2. Every cue's Y sits inside 1200-1550 and clears that platform's dead zones. A file that renders is not proof it is readable; read the numbers.
3. Caption text matches the cleaned transcript word for word. One added, dropped or improved word is a reject.
4. First cue starts at 0.0s; last cue ends at or before `{DURATION}`.
5. One style only, named in hex values, not adjectives.
6. On any failure, send it back quoting the failing cue numbers. Never patch it yourself or show a half-fixed file.

## Rules

- Auto-captions are a draft, never an output.
- Do not wave off a safe-zone number. Reels raised its bottom dead zone in late 2025 and TikTok ads push it to 370-484px.
- The burned-in caption is not the post caption. Keep them separate.
- Public information only.
- Never invent a fact, a number or a quote.
- Anything sent in someone's name says whose name it is.

## If Codex is not installed

Claude writes the timed file and the per-platform variants itself, and says plainly that it timed them by hand.

## Built from

- social-media-skills/skills, https://github.com/social-media-skills/skills, 66 stars on api.github.com, 5 Sep 2026; the 1-2 line rule, ~70% cleanup, muted-first.
- AgriciDaniel/claude-shorts, https://github.com/AgriciDaniel/claude-shorts, 204 stars on api.github.com, 5 Sep 2026; the three styles, word-level karaoke.
- Verizon Media / Publicis Media study via 3Play Media, https://www.3playmedia.com/blog/verizon-media-and-publicis-media-find-viewers-want-captions/, 5,616 US adults, April 2019; the 80% and 50%.
- sergebulaev/tiktok-skills, https://github.com/sergebulaev/tiktok-skills, 22 stars on api.github.com, 5 Sep 2026; hook-is-not-the-caption.

Prompt for Codex

# Captions that keep people watching to the end - Codex task

You are producing burned-in caption files for a vertical short-form video. You have no memory of any earlier conversation. Work only from what is below.

## You are given

- `{TRANSCRIPT}` - the cleaned spoken words, already human-corrected. Final text.
- `{CHUNKS}` - the approved caption groups, one per line, in order. These are the display units.
- `{PLATFORMS}` - one or more of `tiktok`, `reels`, `shorts`.
- `{STYLE}` - one of `bold`, `bounce`, `clean`.
- `{DURATION}` - clip length in seconds, decimal.

## Produce

1. `captions.srt` - one cue per chunk, numbered from 1, timestamps `HH:MM:SS,mmm`. First cue at `00:00:00,000`, last ends at or before `{DURATION}`. Distribute time by word count across the clip, round to 10ms, no overlaps, no gap over 200ms.
2. `words.json` - an array of `{"word": "...", "start": 0.00, "end": 0.00, "cue": 1}` covering every word of every chunk, in order, for karaoke rendering.
3. `placement-<platform>.json` for each of `{PLATFORMS}`, on a 1080x1920 frame: `{"safe_rect": [90, 260, 990, 1660], "block_y": 1200, "block_y_max": 1550, "dead_zones": {"top": N, "bottom": N, "left": N, "right": N}}` using tiktok 130/350/60/164, reels 220/450/60/120, shorts 120/300/60/48 (top/bottom/left/right).
4. `style.json` - `{STYLE}` as concrete values: weight, capitalisation, hex for base text, active word and shadow, and the animation curve. Use bold = ALL CAPS, base `#FFFFFF`, active `#FFE800`, spring pop-in; bounce = sentence case, base `#FFFFFF`, scale 70-120-100 per cent; clean = sentence case, base `#FFFFFF`, shadow `#000000` at 60 per cent, 120ms fade-in.

## Rules

- Do not change, add, remove or improve a single word of `{TRANSCRIPT}` or `{CHUNKS}`.
- Do not merge or split the supplied chunks. Their count is the cue count.
- If a supplied chunk breaks 2 lines or 5 words per line, output it unchanged and list it under `WARNINGS`.
- Every caption Y stays between 1200 and 1550, inside the 900x1400 centred rectangle.
- One style across the whole video. No per-cue switching.
- Fetch nothing from the internet. Invent no timings for words absent from the transcript.
- If `{DURATION}` is too short for the words at roughly 2.5 words per second, still fit them and flag it.

## Return

Print, in order:

- `FILES:` each filename written, one per line, with byte size.
- `CUES:` total cue count, plus the max words-per-line and max lines found.
- `TIMING:` first cue start, last cue end, `{DURATION}`.
- `PLACEMENT:` per platform, the block Y range and `OK` or `CLASH` against its dead zones.
- `STYLE:` the style name and the hex values used.
- `WARNINGS:` every flag above with its cue number, or `WARNINGS: none`.

Built from the best public work on this

Sources

  • **social-media-skills/skills** - https://github.com/social-media-skills/skills - 66 stargazers_count read from api.github.com on 5 Sep 2026 (created 2026-07-16, pushed 2026-09-03, actively maintained; 106 skill directories confirmed via the contents API). The `captions-and-clipping` and `short-form-video-script` SKILL.md files give the 1-2 line caption rule, the ~70% auto-clip cleanup figure, "~80-85% watch on mute", "burned-in captions lift retention ~15-25%", "~75 words = 30s" and "visual change every ~2-4s".
  • **AgriciDaniel/claude-shorts** - https://github.com/AgriciDaniel/claude-shorts - 204 stargazers_count from api.github.com on 5 Sep 2026 (created 2026-02-16, pushed 2026-07-11). Publishes three named caption styles (Bold = ALL CAPS with yellow highlights and spring pop-in; Bounce = 70-120-100% scale; Clean = fade-in, white with shadow), all Remotion word-level karaoke, plus per-platform 1080x1920 encode specs. Evidence it works: it renders actual video, not advice.
  • **Verizon Media / Publicis Media captions study, via 3Play Media** - https://www.3playmedia.com/blog/verizon-media-and-publicis-media-find-viewers-want-captions/ - online survey of 5,616 US adults aged 18-54, April 2019. 80% more likely to watch an entire video with captions; 50% say captions matter and they usually watch with sound off; 1 in 3 use captions in public; 37% say captions make them turn sound on. This is the sampled study behind the "write muted first" rule the skill repos assert without citation.
  • **sergebulaev/tiktok-skills** - https://github.com/sergebulaev/tiktok-skills - 22 stargazers_count from api.github.com on 5 Sep 2026 (created 2026-07-02, pushed 2026-09-03). MIT licensed. Prescriptive where others are vague: caption spec of <=2,200 characters, 3-5 hashtags of mixed reach, hashtags last, and the explicit separation between the on-screen hook text and the post caption.

Safe-zone pixel geometry in the skill (900x1400 centred rectangle, block between Y=1200 and Y=1550, and the per-platform dead zones) comes from Blitzcut, https://blitzcutai.com/blog/best-caption-placement-short-form-video. That is a vendor blog rather than a platform document, so it is carried as a working spec to confirm against a live preview, not as a confirmed source.

Best public prompt we found for this job

https://github.com/social-media-skills/skills - the `captions-and-clipping` skill. It is the only public source that treats captioning as an ordered process rather than a setting, and it is the one to read first if you want to extend this skill.

Its load-bearing claims, as published in the repo: burned-in captions lift retention by roughly 15-25%, around 80-85% of short-form viewing happens on mute, and roughly 70% of auto-generated clips need manual cleanup before they are usable. Those three lines are why this skill cleans the transcript by hand before it times anything.

Want this running in your business?

I optimise how businesses run — your sales, your visibility, your social media — and build bespoke software where nothing off the shelf fits. The first conversation is free. Work starts from £150 a day.