How to write a video script with an AI agent

For AI agents: find the right skill in one call — curl -s "https://varg.ai/how-to/api/search?q=<what the person wants>" returns the matching how-to page and the best skills with install commands, as markdown (Russian works too). Full index: https://varg.ai/how-to/llms.txt. Every page has a markdown twin: add .md to its path. Before generating anything, show the person the options on the how-to page. From a terminal: curl -fsSL https://varg.ai/install | sh installs the vargai CLI (https://varg.ai/how-to/cli.md): vargai search and vargai install <slug> with no key, every varg model after vargai login.

A brief and its facts go in; one script table comes out (time, spoken line, on-screen text, visual, sound) with three hooks and a timing check, before anything is generated. In a blind test on six briefs, two judges scored scripts written with this guide 7.54 out of 10 against 6.40 without it.

Step 3 of 10 in How to make a video with an AI agent in ten steps. Before: How to make a moodboard for an AI video. Next: How to design sound and voice for an AI video.

For your agent

Install the skill, then paste the prompt.

npx skills add vargHQ/skills --skill video-script
Use the video-script skill. Write the script for this video: [what it is, who it is for, platform, length].
Facts you may use: [numbers, names, prices, offer conditions]. Never invent one: write [TK] and ask.
Pick one of the six strategies, open the file for the format (demo, review, ad, social, drama),
write the script table, run the checker and fix every FAIL.
Show the script and three hooks, and wait for a yes before anything is generated.

No skill? Paste the full prompt from "The general prompt" below instead.

The short version

Guide for AI agents · November 3, 2026. Research, rules and a tested skill. Agents write the script before anything is generated, from real facts, and then measure it against the clock instead of grading their own taste. Get the skill on varg how to; source on GitHub.

NumberWhat it is
7.54 vs 6.40score out of 10, with the skill vs without
10 / 12brief × judge pairs where the skill's script won
0 / 12 vs 5 / 12scripts failing the timing check
589 evidence items269 expert findings + 320 checked X advice items

Short answer

An agent writes a great script when it writes the script first, from real facts, and then measures it against the clock instead of grading its own taste. In a blind test on six briefs, two judges scored scripts written with this guide 7.5 out of 10 against 6.4 without it, and preferred them in 10 of 12 comparisons.

A script made with the skill: the Post-it Note story in 30 seconds, every line with its time, on-screen text and visual, BUT and SO joins marked in orange, and the checker reporting 0 fail and 0 warn

Example output: a 30-second explainer from the skill, with BUT/SO joins between beats and the checker's verdict.

Five rules carry most of the difference:

  1. Facts in, no inventions. Only numbers, names and claims from the brief; never a made-up customer, review or experience. Outside the drama brief, judges flagged 36 invented facts in scripts written without the guide and 14 with it.
  2. Size every line to its seconds. About 2.5 spoken words a second (150 a minute), captions on screen at least 0.33 s a word, shots of 4–11 s. Without the guide, 5 of 12 scripts had lines too long to say in their slot; with it, none.
  3. Deliver the promise in the first 3 seconds, as a picture that reads on mute, and name the topic: withhold the answer, never the subject.
  4. Every beat turns the next: join beats with BUT or THEREFORE, never AND THEN, and cut any line whose removal changes nothing.
  5. Show it, then end on the payoff: the voice adds only what the picture can't show, and the video ends on one action or a cut.

How to use it: install the video-script skill (or paste the general prompt below). The agent picks one of six strategies, opens the file for its format (demo, review, ad, social, drama), writes the script table, runs the checker and shows the script for approval before anything is generated.

Blind test, 6 briefsWith the guideWithout
Score out of 10, two judges7.546.40
Ranked best (brief × judge pairs)10 of 122 of 12
Lowest score6.04.5
Scripts failing the timing check0 of 125 of 12

The writers were fresh Claude Sonnet agents; the judges were Claude Opus and Claude Sonnet, blind to which script was which (sign test p = 0.039, judges agree at r = 0.66). Judges from the same model family can favor its style, so treat this as triage until audience numbers come in. The guide lost one brief, a plane-windows short, where its hooks hid the topic. That note became a rule, and a second round lifted that brief from 5.75 to 7.0.

Shipped: the skill video-script (vargHQ/skills#77), the card varg.ai/how-to/skills/video-script, a web version in varg's look at https://varg.ai/how-to/write-a-video-script-with-an-agent, and the research data (kept in varg's private research repo).

The general prompt

Paste this into any agent before it writes a script. It is the short form of the video-script skill: seven steps, nine rules, the defaults to replace and the clock. The skill adds a checker script, six example scripts and the variation files.

You are writing the script for a video. Write it before any voice, image or clip is made: every later step is cut to it.
Left alone you drift to the most probable script: a "have you ever wondered" opener, three adjectives, a narrator
describing the picture, a vague happy ending. Replace each default with the specific thing.

1. Brief and facts. Get the viewer, the one promise, platform + length + ratio, the facts, the one action and the
   production limits (AI video or footage, voice, speakers, model). Ask once, only for what changes the script; assume
   the rest and say so. Write facts.md. Never invent a number, quote, review, customer or experience: write [TK] and ask.
2. Skeleton. Find what already works for this viewer: top videos in the niche from the last 30 days, ads that have run
   for months. Note the hook, the format, how the product appears, the ending. Copy the structure, never the words.
3. Promise, ending, ten hooks. Write the promise as one sentence. Write the last line. Write ten first lines of
   different kinds; cross out the first idea you had and anything two drafts share; keep the three most specific.
4. Beat sheet. One line per beat with its time. BUT or THEREFORE between beats, never AND THEN. Where people appear:
   who wants what, what happens if they don't get it, why now.
5. Table: | # | time | spoken | on screen | visual | sound |. One spoken line = one visual. Numbers as they are said.
6. Check. Spoken words <= seconds x 2.5 (150 wpm). On-screen text >= 0.33 s a word. Every shot fits the model
   (runs of 4-11 s). Hook lands by 3 s in feeds. Run the checker, fix every FAIL, read every line aloud.
7. Show the script and three hooks, and wait for a yes before anything is generated.

Rules: one viewer, one promise. The first frame and line pay off the packaging and read on mute. Open a loop;
withhold the answer, never the topic or the stakes. Every beat turns something; cut what changes nothing. Show it, and say
only what the picture can't. Write for the ear. Specific beats general. End on the payoff and one action.
Disclose paid deals at the start; never fake a customer; an AI presenter never claims to have used the product.
Offers keep their conditions exactly as given. Codes and reference numbers go on screen, not in the voice.
You will drift toWrite instead
"Have you ever wondered…", "In this video…"the result, the conflict or the strangest true detail, shown
three adjectives ("fast, simple, powerful")one fact you can show or measure
"It's not just X, it's Y"say Y
a narrator describing the shotthe shot alone, or a line that adds what it can't show
a vague hopeful endingthe payoff, then cut; or one action
speakers who all sound alikea want and a way of talking for each person
Sarah, Emily, Elara Vossnames from the brief, or plain specific ones
the first twist that comes to mindthe third idea; drop what two drafts share
"seamless", "game-changer", "unlock", "delve"the concrete thing
invented stats, "studies show"a fact from facts.md with its source, or nothing
LengthSpoken words, max at 150 wpmBeats
15 s373–4
30 s75 (60–70 reads better)5–7
45 s1126–9
60 s150 (90–120 when the product must be watched)7–12
3 min450chapters of 3–5 beats

Pace comes from the National Center for Voice and Speech (about 150 wpm) and Brysbaert's review (audiobooks 140–180 wpm); caption speed from the BBC subtitle guidelines; shot length from varg's tested runs and each model's spec.

Strategies that work

Six structures cover most videos. Each has a credible origin and one full example script, and every example passes the checker with 0 fail and 0 warn. Pick by what the video must do, then use the format templates under Variations.

StrategyUse forBeatsWho backs it
But / thereforetrue stories, founder stories, historysituation → BUT → THEREFORE → BUT → payoffTrey Parker & Matt Stone; Aristotle
Question laddersocial shorts, mysteries, skitshook + what's coming → question → bigger question → twist → cutJenny Hoyos; Andrew Stanton; Loewenstein
Problem, agitate, solveads to people who know the problemproblem → why it's worse → product as fix → proof shown → actionOgilvy ("above average in sales results"); TikTok; Motion 2026
Result firstdemos, tutorials, app adsfinished result → how, fewest steps → payoff → actionPeter Cohan, Great Demo!
Misconception firstexplainers, sciencequestion → common wrong answer → why it seems right → evidence → right modelDerek Muller's PhD
What is / what could belaunches, pitches, brand filmstoday's pain → the possible → today → the possible made real → actionNancy Duarte

The Post-it facts come from the National Inventors Hall of Fame; the hammer and feather from NASA's NSSDC. Ferm, Sift and Relay are fictional products, and the recipe story is fiction.

But / therefore: the Post-it Note (30 s)

The sticky note started as a glue nobody could use.

#timespokenon screenvisualsound
10:00-0:03"This glue failed at its job."THE GLUE THAT FAILEDa yellow square peels off a page, leaves no marksoft peel
20:03-0:09"Spencer Silver at Three M made it: sticky, but useless for tape."SPENCER SILVER · 3Mlab bench, a tape strip lifts away cleanlab hum
30:09-0:16BUT "But in nineteen seventy-four, Art Fry's bookmark kept falling out of his hymnal."1974church choir; a paper slip slides out and drifts downchoir humming
40:16-0:21SO "So he made bookmarks with a thin coat of Silver's glue."brush on paper; the slip holds to a page, lifts clean
50:21-0:26SO "So Three M tried them in four cities, in nineteen seventy-seven."PRESS 'N PEEL · 1977a 1970s shop shelf, small padsregister ding
60:26-0:30"Renamed, they went national in nineteen eighty. Post-it Notes."POST-IT · 1980a wall of yellow notespop

Question ladder: the crossed-out line (30 s, fiction)

Why grandma crossed out the best line in her recipe.

#timespokenon screenvisualsound
10:00-0:03"Grandma crossed out one line here."ONE LINE CROSSED OUTold recipe card, one line inked overpen scratch
20:03-0:07SO "So I baked her cake both ways."two bowls, two tins, oven door shutstimer ticking
30:07-0:11"Without the line: dry and flat."WITHOUT ITcake A sliced, crumblingknife
40:11-0:16"With it, perfect. So why cross out the best part?"WITH ITcake B, tall and glossy; cut back to the card
50:16-0:22"Under the ink, against the light: a cup of coffee. Don't tell Harold."DON'T TELL HAROLDcard held to the window, the words show through
60:22-0:28"Harold, my grandpa, hated coffee. He ate this cake every Sunday for forty years."40 YEARSold photo of grandpa holding a slicesoft piano
70:28-0:30"I'm keeping it crossed out."the card goes back in the tin, lid shutsclick, cut

Problem, agitate, solve: Ferm proofer (30 s ad)

A warm, steady place for dough in a cold kitchen. Facts: holds 24–28 °C, folds flat, $89, 30-day returns.

#timespokenon screenvisualsound
10:00-0:03"Fourth flat loaf this month."#ad · MY 4TH FLAT LOAFa hand presses a dense loaf; it doesn't spring backthud
20:03-0:08"Same starter, same recipe. My kitchen is just cold."17 °Cthermometer on the counter, breath-cold windowfridge hum
30:08-0:13"I tried the oven with the light on. It melted my bowl."warped plastic bowl held up to camera
40:13-0:19SO "So now the dough goes in this. Ferm holds it at twenty-six degrees all night."FERM · 26 °Cbox unfolds, dial clicks to 26, bowl goes indial click
50:19-0:24"Eight hours later."lid lifts: domed dough full of bubblessoft gasp, music in
60:24-0:26"It folds flat after."box folds into a slim panel beside the fridge
70:26-0:30"Eighty-nine dollars, thirty days to send it back. Link below."$89 · 30-DAY RETURNSloaf with a tall ear; finger taps the link

Result first: Sift (25 s app ad)

An hour-long call in five lines you can trust.

#timespokenon screenvisualsound
10:00-0:03"An hour-long sales call, in five lines."58:12 → 5 LINESa long waveform collapses into five bullet lineswhoosh
20:03-0:08"Who decided what, who owns it, by when."DECISION · OWNER · DATEthe summary on a phone, three lines highlight in turnticks
30:08-0:14"Drop in the recording. Thirty seconds later, this."0:30screen recording: drag file, progress bar, summary appearsclick
40:14-0:20"Tap any line to hear the moment it was said."finger taps a line; the clip plays, waveform lit"...ship it Friday."
50:20-0:25"Sift. Try your longest call free."sift.applogo and URLmusic out

Misconception first: the hammer and the feather (40 s)

Why a hammer and a feather hit the Moon at the same time.

#timespokenon screenvisualsound
10:00-0:03"Hammer or feather: which lands first?"WHICH LANDS FIRST?a hand holds a hammer and a feather side by sidewind
20:03-0:08"Most people say the hammer. Heavy things fall faster."HEAVIER = FASTER?on grass: the hammer thuds, the feather driftsthud
30:08-0:14"On Earth the hammer wins, but not because it's heavier. Air holds the feather back."AIRslow motion: air currents lift the feather
40:14-0:23SO "So Apollo 15's David Scott tried it on the Moon, where there is no air. A hammer and a falcon feather."1.32 KG · 0.03 KGan astronaut on grey dust holds both out at shoulder heightradio static
50:23-0:28"He let go."both start to fallsilence
60:28-0:33"They hit the dust together."SAME TIMEboth land at once, a small puff of dust
70:33-0:40"With no air, everything falls at the same rate. Galileo said it. Scott showed it."ALL FALL AT ONE RATEEarth over the lunar horizonmusic

What is / what could be: Relay (45 s brand film)

No patient call goes unanswered while staff look after the patient in front of them.

#timespokenon screenvisualsound
10:00-0:03"This patient is calling. Nobody will answer."a phone rings on an empty front desk, full waiting roomringing
20:03-0:11"The front desk is checking someone in. The call goes to voicemail. The patient books somewhere else."MISSED CALLreceptionist with a patient; phone shows missed call; the caller dials another clinic
30:11-0:16"Now picture every call answered on the first ring, at any hour."FIRST RING. ANY HOUR.same desk; the phone lights once and a calm voice answersone ring, "Lakeside Clinic, good morning"
40:16-0:22"Today your staff choose between the person in front of them and the phone."receptionist's eyes flick from the patient to the ringing phoneringing
50:22-0:32"With Relay they don't have to. It answers, books the visit in your calendar and texts the patient."BOOKED · TEXTEDcall transcript, a calendar slot fills, a text lands on a patient's phoneding
60:32-0:40"Your team stays with the patient in the room. The one on the phone is booked too."receptionist laughing with a patient; the day's calendar fullmusic lifts
70:40-0:45"Relay. Book a fifteen-minute demo at relay dot health."relay.healthlogo and URLmusic out

Variations

Each format changes a few rules on top of the general prompt; each has its own reference file in the skill with one checked example script.

MakingWhat changesLengthHook byProduct or answer enters
Demo or launch filmresult first, villain, headline, 2–3 value moments, real UI45–90 s (demo 2–5 min)3 s (first frame = result)at once, as the result
Product reviewdisclosure, frame of reference, own test, the flaw, verdict for whom30–60 s (long 5–15 min)3–6 sat once
Ad or UGC adopener by awareness level, brand by 5 s, real proof, one action15–30 sproposition by 3 s, hook done by 6 sby 5 s (story formats: before halfway)
Social shortpackaging paid off, foreshadow, rehook at 20–25 s, cut on the payoff15–90 s3 s, readable on mutevalue by about 4 s
Short-form dramacold open on conflict, one beat per episode, a named button60–90 s an episode3–5 s, 2–3 linesthe series question stays open

Pro demo and launch video

Example: Patchwork (fictional dev tool), 60 s, 86 words.

#timespokenon screenvisual
10:00-0:03Issue #4127 → FAIL checkout.test.tsan issue page snaps into a red failing test
20:03-0:10"Most of fixing a bug is making it happen again."dev clicks through the app, nothing breaks
30:10-0:16"You could ask the reporter for steps. They'll answer Tuesday."Seen 9:14chat bubble marked seen, no reply
40:16-0:21"This is Patchwork. It turns a bug report into a failing test."PATCHWORKlogo over the issue page
50:21-0:26"Paste the issue link."the link drops into Patchwork
60:26-0:33"It reads the report, finds the code path, and writes the test."progress lines; a test file types itself
70:33-0:40"Run it. Red. Now you're not guessing."FAIL 1 of 1terminal turns red on the exact line
80:40-0:48"Fix one line. Green."PASSone edit; terminal flips green
90:48-0:55"And it opens the pull request with the test inside, so this bug never comes back."Draft PR #4128the showstopper: PR with the test
100:55-1:00"Patchwork. Free for open source. Try it on your oldest bug."patchwork.devlogo, URL

Product review

Example: Lumo H2 headlamp (fictional), 45 s, the reviewer's own test.

#timespokenon screen
10:00-0:04"The box says five hours. Mine died at four ten."#ad · Lumo sent it free / 5 H? 4:10
20:04-0:10"I've worn it on fourteen runs. Before this, a cheap AAA lamp."14 RUNS
30:10-0:17"It's much brighter, and it doesn't bounce when I run."350 LUMENS
40:17-0:24"Seventy-eight grams. Red mode, so I don't blind my dog."78 G
50:24-0:31"The bad part: the strap stretched. By week two I tied a knot in it."STRAP ✗
60:31-0:38SO "So, four hours, not five. That's still longer than my longest run."VERDICT: yes, under 4 h runs
70:38-0:45"It's forty-five dollars. If you run in the dark, I'd buy it. Link's in my bio."$45 · link in bio

Ad and UGC ad

Example: Fold&Go packing cubes (fictional), solution-aware side-by-side, 20 s, 37 words.

#timespokenvisual
10:00-0:02"Same clothes. Two cubes."split screen: two identical piles of five shirts
20:02-0:06"Regular on the left. Fold and Go on the right."both cubes zipped full, the same height
30:06-0:10"Now the second zip."the right cube squeezes down
40:10-0:14"Half the height. Same five shirts."a ruler beside both cubes
50:14-0:16SO "So the carry-on closes."the lid shuts over three cubes
60:16-0:20"Fold and Go. Three for thirty-four dollars. Link below."the set of three, a tap on the link

Social short and YouTube intro

Example: steak on a car engine (fictional experiment), YouTube Short, 34 s.

#timespokenvisual
10:00-0:03"Steak on my engine. My mechanic eats it."foil-wrapped steak on an engine block
20:03-0:08"Foil, salt, wrap it three times, tuck it by the manifold."hands triple-wrap it and wedge it in
30:08-0:14"Ten minutes of driving. I pull over. Still raw."roadside, the foil opens on grey-red meat
40:14-0:20SO "So, the highway. Hotter engine, hotter steak, right?"speedometer climbs
50:20-0:25"Thirty minutes. Smoke from the hood."thin smoke from the hood seam
60:25-0:30"Medium rare. Honestly perfect."steak sliced on the bumper
70:30-0:34MECHANIC: "Tastes like a radiator." [beat] "Can I have another?"he chews, frowns, holds out his hand; cut

Short-form drama

Example: Wrong Number, episode 1 (fiction), 70 s, two locations, every shot 8 s or less.

#timespokenon screenvisual
10:00-0:03HE KNOWS. LEAVE TONIGHT.a phone lights up on a bus dashboard
20:03-0:08JUNE: "Wrong number."June types one-thumbed at a red light
30:08-0:13JUNE. DON'T GO HOME.the reply lands; her thumb stops
40:13-0:19JUNE: [whispers] "Who is this?"she checks the mirror: the bus is empty
50:19-0:25CHECK THE FREEZER.the light turns green; she doesn't move
60:25-0:33DEREK: "You're early."kitchen; Derek at the sink, very calm
70:33-0:39JUNE: "Shift got cut."her smile too wide; eyes on the freezer
80:39-0:45DEREK: "Sit. I'll make tea."he turns his back, fills the kettle
90:45-0:52under frozen peas, a passport
100:52-0:58JUNE: [breath] "That's me."ANNA KELLERher photo, another name
110:58-1:04DEREK: "I told you not to open that."Derek in the doorway with two mugs
121:04-1:10RUN.the phone lights up; cut to black

How agents expand and improve the guide

The guide changes only on evidence, because most ideas that sound better lose: only a third of the ideas Microsoft tested improved the metric they were built for (Kohavi et al., 2013). The skill's references/improve.md is the full loop; this is the short form.

  1. Keep a test set. Six briefs, one per format, ship with the skill. Before editing the skill, write all six with the current version and keep them as the baseline. "Create evaluations BEFORE writing extensive documentation" (Anthropic, skill best practices).
  2. Log every script that ships: format, strategy, hook, length, words, checker result, who approved it, where it was posted, and the numbers when they come back. Log the losers too.
  3. Read the number, fix only the part it grades (table below).
  4. Test one thing at a time: the same body with a new hook, or the same script with a new ending, using the platform's own split test.
  5. Judge drafts the way that works: YES/NO checks from the brief, pairwise in both orders, a judge from another model family, edits that quote the failing line, at most three rounds. Model judges agree with people only about 73% of the time on stories (LitBench), so the audience decides.
  6. Promote a lesson into the skill only after a clean test win, the same note from the person twice, or two independent credible sources. Then re-run the six briefs with a fresh agent that has only the skill loaded ("Claude B") and keep the change only if it loses on no brief.
  7. Add a format by copying the shape of ad.md: when to use it, beats in seconds, word budget, rules with sources, one checked example.
  8. Refresh the evidence every few weeks: X posts from the last 7 days and 4 months sorted by bookmarks with bait accounts dropped, the Wikipedia AI-writing page for new tell-tale phrases, and the varg model specs for clip lengths.
NumberIt gradesChange
Shorts "viewed vs swiped away", 3-second holdthe hookrewrite the first beat, keep the body
YouTube "Intro" (still watching at 30 s)whether the opening keeps the title's promisedeliver the promise sooner
a dip in the retention graphthat beatcut it or tighten it
a top moment late in the videothe ordermove it earlier
a spikea great moment, or a confusing onerewatch before copying it
CTR, downloads, sales, "what is this?" commentsthe ending and product clarityrewrite the last two beats

Sources: YouTube Help, key moments; practitioners map it the same way on X: views grade the hook, downloads the CTA, revenue the funnel (@gregisenberg, 8,282 bookmarks), and Pocket FM rewrites only the hook or cliffhanger when a video misses 2.5% CTR or 55% 3-second through-play (@RohanNayak2, 12,697 bookmarks).

Ranking scripts with an LLM judge

A judge that rates scripts 1–10 is not stable enough to pick a winner. Reading the same 18 scripts in reverse order changed the winner in 2 of 3 briefs for both of our judges. What works is structural: measure what code can, gate with yes/no checks written from the brief, then rank the rest pairwise in both orders, with the judge counting and quoting failures, a different model family or a panel, and calibration on human picks. Telling the judge to be unbiased does not work: MT-Bench's default prompt already said to avoid position and length bias, and its judge still showed both (Zheng et al.).

What our own judges did

Test on our scripts (2026-11-03)Result
Same judge, same 18 scripts, 1–10 scores, reading order reversedrank correlation 0.62 (Opus) and 0.51 (Sonnet); winner changed in 2 of 3 briefs for each judge
Two judges, same 24 scripts, 1–10 scoresrank correlation 0.64; same winner in 4 of 6 briefs; their six criterion scores moved together (0.58 between criteria)
Two judges, 12 generic yes/no questions84% raw agreement but mean kappa 0.33; questions every script passed added nothing, vague ones split ("every beat follows from the last": kappa 0.07)
One judge, pairwise, counting quoted failures with a fixed decision order, both orders, 90 comparisonssame winner in both orders in 41 of 45 pairs; the first-shown script won 50%; the two orders' rankings correlate 0.87

Stable is not the same as right. The counting judge decided half its comparisons on "invented facts", and in one brief it picked a different winner than the 1–10 judges. That order of criteria is a statement of values, and it has to be checked against what the person would pick.

The biases and their fixes

BiasHow bigFix
PositionGPT-4 kept its verdict after a swap in 42% of writing comparisons (MT-Bench)judge both orders; a win counts only if it holds both ways, otherwise a tie
Lengtha "be verbose" instruction moved a win rate from 22.9% to 64.3% (Dubois et al.)compare at equal length; log length and check wins don't track it
Self-preferenceGPT-4 recognized its own text 73.5% of the time, and preferred it more the better it recognized it (Panickssery et al.)judge with another model family, or a panel of three: kappa 0.763 vs 0.627 for GPT-4 alone (PoLL)
Halotwo attributes scored in one call correlated at r = 0.979, against 0.315 for humans (Stureborg et al.)one criterion per call
Bandwagon and namesa fake "85% prefer X" swayed 11 of 15 models (CoBBLEr)neutral ids; no model names, versions, strategy labels or "the team liked this"
Sycophancy"I wrote this" made feedback more positive across 5 assistants (Sharma et al., Anthropic)never tell the judge who wrote it
Familiar textjudges score low-perplexity and LLM-written text above what humans prefer (Wataoka et al.; G-Eval)add anti-cliché and specificity checks; humans judge AI-vs-human
Creativity blind spoton 14 creativity tests, judges' correlation with experts was close to zero (TTCW); the best general judge matched readers on 73% of story pairs (LitBench)a person decides originality, emotion and the final pick
Run-to-run noiseGPT-4 agreed with itself across samples at alpha 0.587, against 0.659 between humans (Stureborg et al.)sample three times and average

The protocol

  1. Measure with code first. Pace, hook timing, shot length, numbers not in the facts and AI tells come from check_script.py. Code is "fastest and most reliable" (Anthropic).
  2. Normalize. One plain template, neutral ids, no author or version, equal length within a pair.
  3. Gate with yes/no checks written from each brief. About five per brief plus the house checks, one check per call, the judge quoting evidence before PASS, FAIL or UNKNOWN. Per-brief criteria reached 87% consistency with humans against 67% for one fixed rubric (WritingBench). Drop scripts that fail a blocking check, such as an invented claim or a missing disclosure.
  4. Rank the survivors pairwise, on one to three taste criteria (hook, ending, voice), both orders, wins only when consistent, ranked by consistent wins or Bradley–Terry.
  5. Use a judge from another model family than the writer, or a panel of three.
  6. Send to a person: pairs that flip when swapped, emotion-led ads and drama, originality.
  7. Validate the judge. Label 100–200 scripts per failure mode, pass or fail with a one-line critique. Split them 10–20% examples, 40–45% dev and 40–45% test, and report the share of failures caught (TPR), the share of good scripts passed (TNR) and Cohen's kappa, not raw agreement (Hamel Husain & Shreya Shankar). For ads, platform results and audience pretests are the stronger ground truth.

Writing criteria judges agree on

Vague criterionClear criterionPassFail
"Rate the hook 1–10"Do the words in the first 3 s name the viewer's problem or the payoff?"Your fridge is lying to you about how long food lasts.""Hey guys, welcome back!"
"Is it specific?"Is there at least one concrete fact from the brief: a number, a name, a visible detail?"Charges to 80% in 18 minutes.""Incredibly fast charging."
"Good visual storytelling"Does every spoken line add something its shot does not show?Shot: batter poured. VO: "No eggs, same rise."Shot: batter poured. VO: "Here I'm pouring the batter."
"Characters feel real"Could two characters swap lines without anyone noticing? (FAIL if yes)one speaks in clipped questions, the other in long excusesboth speak in the same polite full sentences
"Follows the brief"Is the runtime within the brief's limit? (a code check)28 s for a 30 s slot41 s for a 30 s slot

The example rows illustrate the sourced principles; they are not quotes.

The judge prompt (run twice, swapping the order)

Compare two video scripts written for the same brief. Do not reward length, confidence or formatting.
<brief>{brief}</brief>
<script id="K7">{script}</script>
<script id="Q2">{script}</script>
For EACH script, list with quotes or beat numbers:
- inventions: numbers, names, prices, offer conditions or claims not in the brief
  (a paraphrase of a brief fact is not an invention; drama may invent characters and plot)
- hook_miss: 1 if the first beat does not make clear what the video is about, as a picture that works on mute
- removable_beats: beats you could cut without changing what happens or what the viewer learns
- unsaid_lines: spoken lines a person would not say out loud like that
- unproducible_shots: shots AI video can't make in one clip of 10 s or less
Decide in this order: fewer inventions; fewer hook misses; fewer removable beats; fewer unsaid lines;
fewer unproducible shots. If all are equal, answer TIE.
<verdict>K7 | Q2 | TIE</verdict>

The skill ships this prompt, a one-check yes/no gate prompt and the protocol as references/judge.md.

What practitioners on X say

PostFollowersBookmarks / viewsRule
@trq212 (formerly Claude Code, Anthropic)401K24,776 / 3.4Mhave the agent interview you for the rubric before ranking, then double-check the top
@Vtrivedy1017K5,148 / 1.1Ma few targeted evals of real behaviors, not hundreds of tests
@HamelHusain65K3,111 / 204Kone evaluator per failure type, never one generic score
@undefinedKi, summarizing Airbnb's eval write-up20K2,749 / 211Kcode checks, then an LLM judge, humans only to calibrate it; golden sets of 50–100 with failures; kappa in the high 80s to 90s
@nateliason109K1,624 / 70Kone model writes, another judges, and how much the human edits is the quality score
@pbakaus22K1,357 / 67Ktest a creative skill by running the same brief with and without it and measuring how alike the outputs come out
@Kangwook_Lee7.5K1,263 / 223Kcorrect the judge's pass rate for its known error rate instead of reporting it raw
@cwolferesearch43K1,118 / 52Khuman raters are the north star; calibrated LLM judges are the cheap proxy; confirm with an A/B test
@AndrewYNg2.0M901 / 143Kfor video, combine prompt similarity, a criteria judge and yes/no questions ("does the camera motion match?")

The X sample was 1,444 posts from 48 queries in three windows. A reader kept 80 advice items from 53 authors, all quotes checked word for word. It flagged a campaign of 18 posts pushing one judge model, so their numbers were not used. The expert side is 45 findings from 34 sources, every quote checked against the saved page.

What varg how-to already has

varg had no script skill of its own on 2026-11-03: "video script" and "write a video script" both return two unverified community skills first, and the varg fallback is a hooks-only card. The audit ran 41 searches on the how-to engine and read 26 cards and the skills repo at origin/main f7fdc2f.

Query#1 result todayBest varg result
video scriptai-video-script (community)write-video-hooks-that-sell #3
TikTok scriptphoto-carousel card (off-topic)none
YouTube scripta transcript fetcher (off-topic)hooks card #2
short drama scriptzenstory-drama-skills (community)none in top 5
storyboard from scripta community storyboard skillnone in top 5
сценарий для видео / guion de videohooks cardhooks card #1

The knowledge exists but is scattered over about 20 files in 15 skills, and they disagree:

Gaps no file covers: one script format, a word budget per delivery (narration, dialogue, lip-sync), a check before money is spent, chunking lines into generated shots, the body of the script (only the hook has a bank), and templates for demo voiceover, review, skit and micro-drama.

Changes made in vargHQ/skills#77, merged 2026-11-03:

QueryRank of the new card
video script, write a video script, how to write a script for an AI video#1
TikTok script, YouTube script, product demo video script, product review script#1
сценарий для видео, guion de video#1
UGC ad script#2
storyboard from script#3
short drama script#5 (behind four dedicated drama skills)
how many words for a 30 second voiceovernot in top 10 yet

Experts and sources

Every rule traces to a page that was opened and quoted on 2026-11-03: 269 expert findings, 265 of them verified on the page (verbatim quotes, credibility line and link for each) and 320 advice items from X, all 320 quotes checked word for word by script with 0 failures. X corpus: 5,531 unique posts from 124 queries in three windows (last 7 days, since July, since mid-2024), 2,359 of them from the last 7 days, plus 400 X Articles read in full.

WhoWhy listenWhat the guide uses
Trey Parker & Matt Stonecreated South Park; NYU Tisch class, 2011but / therefore, never "and then"
David MametPulitzer-winning playwright, showrunner of The Unitwho wants what, what if they don't get it, why now
Aaron SorkinThe Social Network, The West Wingintention and obstacle as "the drive shaft"
Robert McKeeauthor of STORYa scene whose value doesn't turn is a "nonevent"
Andrew StantonPixar, Finding Nemo and WALL-Epromise in the first line; 2 + 2, not 4
Kurt Vonnegutnovelist, 8 rulesstart as close to the end as possible
Billy WilderSome Like It Hotvoice-over adds to the picture, never describes it
NPR, Sound ReportingNPR's own production guideone idea per sentence; read it aloud
Derek MullerVeritasium; PhD in physics educationmisconception first beats clean exposition
MrBeast production doc525M subscribersthe opening pays off the title and thumbnail
Jenny HoyosShorts creator, 12.4M subscribershook + foreshadow in 3 s; cut on the payoff (83% → 88% retention)
Kallawayshort-form strategist, 1B+ viewslean-in, but, snapback hooks; rehook at 20–25 s
Paddy GallowayYouTube strategist, worked with MrBeastShorts study of 3.3B views (10,221 bookmarks)
David Ogilvyfounder of Ogilvy & Matherproblem-solution "above average in sales results"; honest demonstration
Google ABCDGoogle/Kantar study of 11,000 adsbrand by 5 s; one message
TikTok Creative CodesTikTok's official guideproposition by 3 s, hook done by 6 s
Motion 2026$1.29B of Meta ad spend analyzedabout 5% of creatives become winners
Peter CohanGreat Demo!, 46,000+ copiesdo the last thing first
April DunfordObviously Awesome, 100,000+ copiesinsight, alternatives, perfect world, then demo
Marques BrownleeMKBHD, reviewing since 2009a review is a preview of owning it
FTCUS regulatordisclosure up front; no fake or AI testimonials
Micro-drama makersReelShort, DramaBox, Holywater, Pocket FM3-second cold open, one beat per episode, a named button
Anthropicmakers of Claudename the defaults; evals first; Claude A edits, Claude B tests
Wikipedia: Signs of AI writingeditors' field guidethe phrases and structures to replace

Most-saved X posts behind the rules (numbers as of 2026-11-03):

PostFollowersBookmarks / viewsRule
@RohanNayak2, Pocket FM CEO13.9K12,697 / 3.8Ma hook every 5 s in a trailer ad; fix the hook when CTR or 3-second hold misses
@gregisenberg756K8,282 / 1.3Mviews grade the hook, downloads the CTA
@nathanbaugh27233K7,213 / 589Kbut / therefore with a worked example
@aakashgupta, on MrBeast337K5,099 / 438Kthumbnail, title, first 5 s, first 30 s before filming
@gregisenberg756K4,534 / 140Kten first lines before opening any tool
@deedydas262K4,382 / 160Ktell the model to avoid Claudisms; add a critic
@im_roy_lee, Cluely CEO257K2,808 / 310Ksomething new on screen every 2–3 s
@MarioJoos33K2,415 / 145Kdon't let AI invent the idea; copy proven formats
@finnardley3.6K1,090 / 57Kbeat sheet first; one line, one visual

Not used, because the source could not be opened or the attribution is wrong: Ira Glass's "anecdote, then reflection"; William Goldman's "enter late, leave early"; Facebook's "47% of value in the first 3 seconds"; "kill your darlings" as Faulkner's (it is Quiller-Couch's "murder your darlings", 1914). Schwartz's awareness levels come from book notes, not the original text. Suspect X accounts (bait, bookmarks far above likes, paid-promo networks) were dropped.

The research data (corpus, reader outputs, expert findings, test scripts and judge scores) is kept in varg's private research repo.

Go deeper

All 10 steps

The route, with the one line that hands it to an agent: How to make a video with an AI agent in ten steps

  1. How to find references for an AI video
  2. How to make a moodboard for an AI video
  3. How to write a video script with an AI agent (this page)
  4. How to design sound and voice for an AI video
  5. How to design characters and props for AI video
  6. How to previz a video in Three.js or Blender
  7. How to animate a previz with AI video models
  8. How to edit a video with HyperFrames and AI agents
  9. How to judge an AI video: measure, don't grade
  10. How to keep an AI video project in GitHub