17 AI skills for finding customers and making content

short-video-script

45-second videos that work with the sound off

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: short-video-script
description: Write a 30-60 second TikTok, Reels, Shorts or LinkedIn script with a three-second hook that works muted, one idea, timed lines, on-screen text and shot cues, in two hook variants. Use for any faceless or talking-head short video.
---

# Get a short video watched to the end

Two filmable scripts (hook A, hook B), timed to the second, with on-screen text, shot cues, caption and hook bank, scored before you see them.

## Claude does

1. Collect {TOPIC}, {PLATFORM}, {FORMAT} (faceless or talking-head), {AUDIENCE}, {GOAL} (completion, saves, comments or shares), {PROOF} (a real result or number) and the working folder. Ask once. Never invent a number, result or offer.
2. One idea in one sentence, at most two key points; a third point is the next video, say so.
3. Set {LENGTH}: TikTok 30s, Shorts 45s, Reels and LinkedIn 45s or 60s.
4. Pick the hook formula by {GOAL}: completion, cold-open result; saves, number reveal; comments, open-loop question; shares, relatable call-out.
5. Write {HOOK_A} (stop-scroll: negation, number or question) and {HOOK_B} (retention: story or confession), each opening a loop it does not answer, with 3-7 words of on-screen text in different words and its frame-one visual.
6. Write the stakes sentence with the {PROOF} number.
7. Choose two or three beats in the order that builds, one sentence and one visual change each, then the turn: exception, cost or twist.
8. Choose one {CTA} for the platform: TikTok or Reels "comment [word] to receive" or "link in bio"; Shorts "watch the full video"; LinkedIn "follow for the next one". Decide how the close loops back to frame one.
9. The hook may promise only what a beat shows on screen; otherwise change the hook, never the facts.
10. Assemble {BEAT_PLAN} and write CODEX.md with every placeholder filled.

## Then Codex does

Codex expands the fixed plan into two timed script tables (one per hook), shot cues, cards, word counts, caption, a six-hook bank and the QA score: formatting and counting from decisions already made, not judgement.

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

Fill first: {TOPIC}, {PLATFORM}, {FORMAT}, {AUDIENCE}, {GOAL}, {LENGTH}, {HOOK_A}, {HOOK_B}, {BEAT_PLAN}, {CTA}.

## Claude checks

1. Idea, hooks, beat order and CTA unchanged, and every Rule holds row by row: budget, word count, sentence length, visual changes, card lengths.
2. Read each line aloud; a mid-sentence breath sends it back.
3. Cover the spoken column: the on-screen column alone still tells the story.
4. Bait-and-switch: the result the hook promises is visibly on screen.
5. No em dashes, ALL CAPS, "leverage", "delve", or a vague cue like "[B-ROLL: something relevant]".
6. Eight hooks across at least three archetypes, different angles not rewordings.
7. Rescore the QA checklist. Under 85/100, or any failure above, goes back to Codex with row and reason; rerun until it passes. The user sees only the passing version.

## Rules

- One video, one idea, at most two key points.
- Hook on frame one, done by second 3, showing the result or the tension. No "hey guys", "welcome back", "in this video", logo or slow zoom; the post caption never does the hook's job.
- Hook under 12 words and 50 characters a line, one concrete number or named stake, no vague bait. Never open with "I" without a specific loss.
- On-screen text in different words from the spoken line, never repeated; the video works with the sound off.
- Table: Time | Spoken line | On-screen text | Visual / B-roll.
- Budget, 30s: hook 0-3, stakes 3-10, idea 10-20, turn 20-28, close 28-30; 45s: 3, 10, 35, 42, 45; 60s: 3, 15, 42, 50, 60. Spoken words 65-85, 100-130, 130-160.
- Spoken lines: contractions, short words, no subordinate clauses, 15 words a sentence at most; no ALL CAPS, em dashes or AI words.
- A visual change every 2-3 seconds, never a hold over 5; every cue specific enough to shoot.
- Cards five words or fewer (hook 3-7), sentence case, on the spoken word, inside the safe zone (not the top 20% or bottom 25%).
- One CTA, platform-matched, and the close loops to frame one. Never "like and subscribe", stacked CTAs, "Subscribe!" on Shorts or "follow for more" on TikTok.
- Caption one line, 3-5 hashtags. Vertical 9:16, re-cut per platform; never a reposted horizontal or watermarked clip.
- Deliver at 85/100 or above, then film both hooks and read your own first-3-seconds retention; no source publishes results.

## If Codex is not installed

Claude does the "Then Codex does" section itself and says so.

## Built from

- minhnv0807/ai-business-skills, https://github.com/minhnv0807/ai-business-skills/blob/master/skills/en/04-script-video-global/SKILL.md (570 stars, api.github.com 5 Sep 2026): budget, 50-character lines, 15-word sentences, A/B tables, 85/100 gate.
- alirezarezvani/claude-skills, https://alirezarezvani.github.io/claude-skills/skills/marketing-skill/video-content-strategist/ (25,542 stars, whole repo): 60s structure, captions on, 9:16, repost loss.
- vyralcontent/content-skills, https://github.com/vyralcontent/content-skills (94 stars): three-layer hook, 6-10 hooks, loop-back, safe zones.
- rediumvex/viral-hooks-skill, https://github.com/rediumvex/viral-hooks-skill (81 stars): 12-word hooks, stop-scroll plus retention pair.
- sergebulaev/tiktok-skills, https://github.com/sergebulaev/tiktok-skills (21 stars): formulas by goal, different words on screen, humaniser.
- xnomad-dev/claude-skills, https://github.com/xnomad-dev/claude-skills/blob/main/video-script-writer/SKILL.md (0 stars, craft only): words a minute, cue format.

Prompt for Codex

# Get a short video watched to the end - Codex task

## You are given

- {TOPIC}, {PLATFORM} (TikTok, Reels, Shorts or LinkedIn), {FORMAT} (faceless or talking-head), {AUDIENCE}, {GOAL} (completion, saves, comments or shares), {LENGTH} (30, 45 or 60 seconds).
- {HOOK_A} and {HOOK_B}: finished hooks, each with spoken line, 3-7 word on-screen text and frame-one visual.
- {BEAT_PLAN}: the one idea, the stakes sentence, two or three beats each with a visual change, the turn, the loop back to frame one.
- {CTA}: the single closing line.

Do not change the idea, hooks, beat order or CTA. Expand the plan; do not rethink it.

## Produce

Three files in the working folder: `script-A.md`, `script-B.md` (same plan, hook A or hook B in row one) and `hooks-and-caption.md`.

Each script file:

1. A table, one row per beat: `Time | Spoken line | On-screen text | Visual / B-roll`, timed to the budget for {LENGTH}. 30s: hook 0-3, stakes 3-10, idea 10-20, turn 20-28, close 28-30. 45s: 0-3, 3-10, 10-35, 35-42, 42-45. 60s: 0-3, 3-15, 15-42, 42-50, 50-60. Split a beat into two rows whenever a picture would hold over 3 seconds, so the visual changes every 2-3 seconds and never holds over 5. The close row carries {CTA} and the loop-back visual.
2. Visual column as shootable cues: `[B-ROLL: exact shot]`, `[CUT TO: ...]`, `[TEXT ON SCREEN: ...]`, and `[CAPTION: ...]` on every stat, punchline and the CTA. Faceless: name the shot or screen capture. Talking-head: when to cut away and to what.
3. Spoken word count, written in the file. Budget: 30s 65-85, 45s 100-130, 60s 130-160. Outside it, tighten and recount before saving.
4. Longest sentence, in words.

`hooks-and-caption.md`:

5. Caption: one line for {PLATFORM} plus 3-5 specific hashtags.
6. Hook bank: six more hooks, labelled by archetype (result, number, question, story, confession, call-out, contrarian) and goal, covering at least three archetypes, each a different angle rather than a rewording, each with its own 3-7 word on-screen text.
7. QA score for script A, ten checks at 10 points: hook by 3s; hook 50 characters or fewer a line; one idea; at most two points; spoken tone; sentences 15 words or fewer; one specific CTA; length fits the platform; does not open with "I"; every cue shootable. Score honestly.

## Rules

- Spoken lines: contractions, short words, no subordinate clauses, 15 words a sentence at most. No ALL CAPS, em dashes, "leverage", "delve", "harness", "fundamentally" or "hey guys".
- Cards: five words or fewer (hook card 3-7), sentence case, different words from the spoken line, on the spoken word, inside the safe zone (not the top 20% or bottom 25% of a 9:16 frame).
- Hooks under 12 words, never answering their own question.
- The on-screen column alone must tell the story with the sound off.
- One CTA only, exactly {CTA}; never add "like and subscribe" or a second ask.
- Every cue names a real shot; never "[B-ROLL: something relevant]".
- Nothing in {BEAT_PLAN} is dropped silently: if it does not fit, cut words, not beats, and report it.

## Return

Print at the end:

- Paths of the three files.
- Word count and longest sentence for A and B.
- Rows per table and the longest gap between visual changes, in seconds.
- Row one and the close row of script A, verbatim.
- QA score, naming any check under 10.
- Anything from the plan that did not fit.

Built from the best public work on this

Short video script - sources

Every source below was opened and read in full, and every star count was read from api.github.com/repos/<owner>/<repo> on 5 September 2026. None of them publishes retention or view data; they are craft playbooks. Film two or three hooks and read your own first-3-seconds retention.

Built from

  • **minhnv0807/ai-business-skills - Global Short-Form Video Script.** https://github.com/minhnv0807/ai-business-skills/blob/master/skills/en/04-script-video-global/SKILL.md - 570 stars, 225 forks, MIT, last push 17 Aug 2026. The only source that covers the whole 30-60s job end to end. We took the second-by-second budget (hook 0-3s, problem 3-10s, solution 10-20s, proof 20-28s, CTA 28-30s), the 50-character hook line cap, the never-open-with-"I" rule, max 15 words a sentence, max two key points, the mandatory text overlay, the two-variant A/B script table and the 10-point QA gate that refuses delivery under 85/100.
  • **alirezarezvani/claude-skills - marketing-skill/video-content-strategist.** https://alirezarezvani.github.io/claude-skills/skills/marketing-skill/video-content-strategist/ - 25,542 stars, 3,607 forks, MIT, last push 30 Aug 2026. The stars belong to the whole 380-skill repo, not this one file. We took the 60s structure (hook 0-3, problem 3-15, delivery 15-50, CTA 50-60), one idea per video, captions always on (85% watch muted), vertical 9:16, the LinkedIn authority framing, and the 60-80% reach loss for reposting horizontal video.
  • **vyralcontent/content-skills - viral-hooks, viral-short-form, viral-tiktok-content, viral-youtube-shorts.** https://github.com/vyralcontent/content-skills - 94 stars, 16 forks, MIT, created 17 Jun 2026. Sponsored by a paid product and its "200,000 viral videos studied" claim is not verifiable from the repo; its Shorts benchmark uses YouTube's real "Viewed vs swiped away" metric. We took the three-layer hook (visual, verbal, 3-7 word on-screen text) that must work muted, 6-10 hooks across at least three archetypes, the escalation at 5-8s, the loop back to frame one, "specific beats clever", "match the promise to the payoff", the caption safe zones and the anti-pattern list.
  • **rediumvex/viral-hooks-skill - 100 hook formulas across 10 psychology triggers.** https://github.com/rediumvex/viral-hooks-skill - 81 stars, 7 forks, MIT, created and last pushed 5 May 2026. A copy-paste hook library with a workflow, no results data. We took the under-12-word hook rule and the pairing rule: one stop-scroll hook (negation, specificity, question) with one retention hook (story, confession, emotional).
  • **sergebulaev/tiktok-skills - tt-hook-scripter and tt-humanizer.** https://github.com/sergebulaev/tiktok-skills - 21 stars, 3 forks, MIT, last push 3 Sep 2026. The most precise hook spec found. We took the hook formulas tagged by goal (completion, saves, comments, shares), the rule that the spoken line and the on-screen text must be different words, frame one shows the result or tension, the hook opens a loop and never answers itself, the loop-close note, and the humaniser list (em dashes, "leverage", "delve", "hey guys").
  • **xnomad-dev/claude-skills - video-script.** https://github.com/xnomad-dev/claude-skills/blob/main/video-script-writer/SKILL.md - 0 stars, 0 forks, no licence detected, last push 12 Apr 2026. Zero adoption, used for craft only. We took the word budget (130-160 words a minute, so 30-60s is 65-160 spoken words), the production-cue format ([B-ROLL], [TEXT ON SCREEN], [CUT TO], [CAPTION]) with a visual change every 2-3 seconds, a caption on every stat, punchline and CTA, one CTA only, and "never start with Hey guys, welcome to my channel".

Not used: the 32,043-star linexjlin/GPTs "Video Script Generator" prompt. It is a bare "act as an expert, write a TikTok script" prompt with no hook formula, time budget or word budget, and it produces generic scripts.

Best public prompt we found for this job

From minhnv0807/ai-business-skills, Global Short-Form Video Script:

https://github.com/minhnv0807/ai-business-skills/blob/master/skills/en/04-script-video-global/SKILL.md

Quoted exactly as published, including the author's own punctuation:

### Script timestamp structure
Applies to 30–45s videos (adjust the ratio for other lengths):
| Timestamp | Section | Content | Share |
| [0–3s] | Hook | Spark curiosity, hold the viewer. Do not introduce yourself. | 10% |
| [3–10s] | Problem / story | Express the pain or situation — the viewer sees themselves in it. | 25% |
| [10–20s] | Solution / value | Introduce the product as the solution. | 30% |
| [20–28s] | Proof | Outcome, review, stats, before / after. | 25% |
| [28–30s] | CTA | Specific action: "DM us today", "Link in bio", "Comment to receive". | 10% |
**Hook rules:**
- **Never open with "I"** — start with "You", "Here", a number, or a brand / name
- Line 1 creates a curiosity gap — line 2 raises stakes or flips the meaning
- 50 characters per line is the cap — on mobile, longer lines get clipped
### Script-writing rules
1. **One main idea only** — do not pack two messages into one video.
2. **Spoken language** — write the way you speak, not the way you write.
3. **Short sentences** — max 15 words per sentence. Long sentences kill retention.
4. **Clear transitions** — note scene changes inside the script.
5. **Mandatory text overlay** — write the on-screen text, not just the dialogue.
6. **No copyrighted music** — only trending or royalty-free tracks.
7. **Max 2 key points** — three is too many, viewers will not retain.
8. **Do not state the conclusion** — let the facts / numbers speak.

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.