Chapter 4 · Scripting & Retention · Lesson 10

Structure a piece

Why this lesson: last lesson you wrote a hook. Now you need the rest of the script. A Reel isn't a random pile of good lines — it's a fixed skeleton you fill in every single time. Learn the skeleton once and the blank screen is gone: you'll always know what the next line is for.

First, recall From Lesson 1: name the 4 building blocks of any piece, in order. (Hook → Value → Payoff → CTA.) Today's script skeleton is just those four blocks, expanded into lines you can actually record.

The 5-line skeleton

Short-form has one job per line. Map every line to a slot and you can't ramble:

1Hook
2Context
3Value
4Payoff
5CTA
  1. Hook — 1–3 seconds. Earn the next second. (Building block 1.)
  2. Context — one line of setup so the value lands: what were you doing, what broke. Keep it tiny — context is a tax, not the product.
  3. Value — the steps, the fix, the demo on screen. This is the substance. (Block 2.)
  4. Payoff — the "aha" the hook promised, delivered plainly. (Block 3.)
  5. CTA — one small ask. Follow, save, comment. Just one. (Block 4.)
The key idea Context is the only new slot — and it's the one beginners overgrow. A working script is Hook → one breath of Context → straight into Value. If your setup runs longer than your fix, you've built a rambling Reel [Ali Abdaal — scripting systems].

Write it line by line

A script is not a paragraph you'll "talk around." Write the actual on-screen text and voiceover, one line each, in order. When you can read it top to bottom in 30 seconds, it's a Reel. Ali Abdaal's whole scripting system is this: decide the skeleton first, then fill slots — never write into a blank page [Ali Abdaal — scripting systems].

Worked example · a full "Learn from me" Reel (a real bug)

Pillar: Learn from me · Platform: Instagram Reel (faceless — screen recording + big on-screen text)

Hook (frame 1): "This one line cost me 3 hours in production."

Context: "My Node API kept returning stale data after every deploy."

Value (screen recording): show the culprit — a cached response with no Cache-Control header — then add Cache-Control: no-store and redeploy. Big text labels each step.

Payoff: "One header. Stale data gone. That was the whole bug."

CTA: "Save this so it doesn't cost you 3 hours."

Five lines, ~25 seconds, no face. The context is a single line — you're on the fix before the viewer can scroll.

Quick self-check

No clues in the formatting — pick from memory, then click.

1. In the short-form skeleton, the Context line exists to…

Context is one tiny breath of setup — what you were doing, what broke — so the value makes sense. It's a tax to pay fast, not the product.

2. The five script slots map onto the four building blocks — the new slot that Chapter 1 didn't name is…

Hook, Value, Payoff and CTA are the original four. Context is the only addition — one line between Hook and Value. No "hey guys" intro belongs anywhere.

3. A sign your Reel script is structured badly is when…

If context outweighs value, you've built a rambling piece — the viewer leaves before the payoff. Setup stays tiny; the fix is the show.

Your turn · do this now Take one real bug you fixed recently. Write it as five lines — Hook / Context / Value / Payoff / CTA — using the script template. Paste the five lines to me and I'll tell you which slot is doing too much work.
Primary source · study this Ali Abdaal teaches scripting as a system, not inspiration. Watch any of his videos on scripting and notice he always fixes the structure first, then fills the slots — exactly the skeleton above.
💬 Your teacher is here. Not sure how much context a given bug needs, or where the demo ends and the payoff starts? Paste your draft — mapping your lines to the five slots together is exactly what this lesson is for.
← Lesson 9 Script template Lesson 11 →