Docs/Skills and code/skill video-script-production

.claude/skills/video-script-production/references/voice.md

Markdown54 lines6.8 KBSkill: video-script-production

What the file says about itself

Spoken voice: taking the machine out of the sentences: Added after the Moser Baer v4 review ("at times it feels full of AI speak: no x, no y, just a simple z").

Mentioned on: page 06, page 12

Spoken voice: taking the machine out of the sentences

Added after the Moser Baer v4 review ("at times it feels full of AI speak: no x, no y, just a simple z"). The fix is a pass at the end of writing, plus budgets in the linter (F rules), not a new way of drafting.

What this rests on

SourceWhat it gives usCaveat
Wikipedia, Signs of AI writing (WikiProject AI Cleanup)The catalogue: negative parallelism ("not just X, it's Y"), rule of three, superficial "-ing" riders, vague attributions, promotional tone, "serves as" for "is", vague connection words, section-ending summaries, stock vocabulary, heavy dashesThe page itself says these appear in human editorials, blogs and fiction, that they are potential signs only, and that humans are poor at telling the difference. Use them as a checklist for flat prose, not a detector.
blader/humanizer skill (26 patterns, mark, draft, audit, rewrite)The useful distinction: patterns that justify an edit on one sighting (not-X-but-Y, one-line closers, deep-sounding sayings, staged run-ups like "Here's the thing", arguing with nobody) versus ones that count only when several share a passage (dashes, stacked hedges, passive). Also: changes how text sounds, never what it says; never invents names, numbers or quotesIt targets written prose and wants a voice sample; a script has no sample until we have a recording.
hardikpandya/stop-slop skillStructure families worth naming: binary contrasts, negative listing ("It wasn't X. It wasn't Y. It was Z."), dramatic fragmentation, rhetorical setups, false agency, a narrator floating above the scene. A five-axis check: directness, rhythm, trust, authenticity, densityIts blanket bans (no questions starting with wh-, no adverbs, no three-item lists, no dashes) are written for essays. Voice-over uses questions and the occasional list on purpose, so the linter uses budgets.

Neither skill is evidence that a fix improves retention. The case for it is the plain one: a viewer who hears the same five sentence shapes repeated stops hearing the content. Treat the F rules as a budget on repetition.

The tells, as they show up in a spoken script (Moser Baer v4 examples)

TellWhy it reads as machineFixBefore, then after
Negation pivot (F1)It denies something nobody said, then says the thing. Three in a row is the "no X, no Y, just Z" shape.Say the thing."no crash, no scandal, just a margin so thin that a small slip wipes out everything" becomes "From outside it looked fine. The margin was so thin that a 5 percent dip in sales erased a year's profit."
Staged run-up (F2)Announces that a point is coming instead of making it.Cut the announcement; the next sentence is the point."Think about what that does. A shrinking business has no date." becomes "A shrinking business has no date."
Script-talk (F2)The narrator talks about the script: promises, reminders, naming the idea aloud.Use the name; skip the ceremony."I call that the treadmill, and I'll keep using the word." becomes "Call it the treadmill."
Stock depth (F3)Sounds profound, says nothing.Replace with the fact it gestures at."Brilliant is the right word." becomes "By 2007 it was the second-biggest maker of recordable discs in the world."
Triad (F4)Three items because three sounds finished.Use the number of items there are."It sells, it shrinks, it protects what is left." becomes "It sells what it can and shrinks to what it can afford."
Punch-line closer on every beat (F4)A six-word zinger ending each paragraph makes every paragraph the same shape.Let some beats end on the hinge question, some on a plain fact.
Fragment drumroll (F4)Short, short, short. Manufactured emphasis.One complete sentence.
Written English (F5)No contractions, because it was typed, not said.Read it aloud; contract where you would. The twelve English winner transcripts we have run about 1.5 contractions per 100 words (range 0 to 3.7).

The pass (Step 4b of SKILL.md)

Run it after the texture pass (Step 4a), which adds a persona, figures, people and landings. This pass removes the tells those additions may bring ("It was like a", "Think about what that does", a staged aside). Add, then subtract.

  1. Mark. Run lint.js; read the F detail lines. Then read the script aloud once at speaking pace and mark every place you stumble, run out of breath, or would not say it to a friend.
  2. Rewrite by pattern, not by sentence. For each tell, ask what the sentence is for. If it carries a fact, keep the fact and drop the frame. If it only announces, cut it. Where you cut a sentence that also carried a hinge or a care line, move the hinge into the neighbouring sentence and re-check C and D.
  3. Specificity test. Replace each abstract line (the situation, the pattern, the stakes) with a name, a number, a date, an object or a quote that is already in the fact ledger. Never add a fact that is not in the ledger; the humanizer rule applies: change how it sounds, never what it says.
  4. Keep the honest hedges. "I couldn't find where that money went" is both the most human line in the script and the one that protects the claim.
  5. Do not over-correct. A contrast that carries information stays ("In December the company said it was well-funded. The quarter before, it had made a loss."). A question the viewer is actually asking stays. The linter's budgets leave room for these; if a rule fires on a sentence that carries a fact, keep the sentence and note why in the lint log.
  6. Re-run lint, then the fresh-reader pass with one added question: which sentences sound written rather than spoken?

What the F rules measure

RuleMeasuresDefault budget (rules.json > voice)
F1negation pivotswarn above 1, fail above 4
F2staged run-ups and script-talkwarn above 3, fail above 8
F3stock phrases, machine vocabulary, empty intensifiers, lazy extremeswarn above 2, fail above 8; extremes under 6 per 1000 words
F4fragment runs, triads, short closers, sentence-length variation, repeated openersfail above 3 fragment runs; the rest warn
F5contractions, dashes, average sentence lengthwarn

Patterns live in scripts/voice-patterns.json. Add a pattern when a reader or a new skill names a tell the list misses, and add the sentence that taught it to the table above.

What it cannot do

It finds the tells that a regex can find. A script can pass every F rule and still read like a template, and a script with a few tells can still sound like a person. The final test is a person (or a fresh reader) hearing it. Detectors are not the goal; the humanizer skill's own page notes that detectors still flag most of its output, and flag plenty of human text too.

Show the raw text
# Spoken voice: taking the machine out of the sentences

Added after the Moser Baer v4 review ("at times it feels full of AI speak: no x, no y, just a simple z"). The fix is a pass at the end of writing, plus budgets in the linter (F rules), not a new way of drafting.

## What this rests on

| Source | What it gives us | Caveat |
|---|---|---|
| Wikipedia, *Signs of AI writing* (WikiProject AI Cleanup) | The catalogue: negative parallelism ("not just X, it's Y"), rule of three, superficial "-ing" riders, vague attributions, promotional tone, "serves as" for "is", vague connection words, section-ending summaries, stock vocabulary, heavy dashes | The page itself says these appear in human editorials, blogs and fiction, that they are potential signs only, and that humans are poor at telling the difference. Use them as a **checklist for flat prose, not a detector.** |
| `blader/humanizer` skill (26 patterns, mark, draft, audit, rewrite) | The useful distinction: patterns that justify an edit on **one** sighting (not-X-but-Y, one-line closers, deep-sounding sayings, staged run-ups like "Here's the thing", arguing with nobody) versus ones that count only when several share a passage (dashes, stacked hedges, passive). Also: changes how text sounds, never what it says; never invents names, numbers or quotes | It targets written prose and wants a voice sample; a script has no sample until we have a recording. |
| `hardikpandya/stop-slop` skill | Structure families worth naming: binary contrasts, negative listing ("It wasn't X. It wasn't Y. It was Z."), dramatic fragmentation, rhetorical setups, false agency, a narrator floating above the scene. A five-axis check: directness, rhythm, trust, authenticity, density | Its blanket bans (no questions starting with wh-, no adverbs, no three-item lists, no dashes) are written for essays. Voice-over uses questions and the occasional list on purpose, so the linter uses budgets. |

Neither skill is evidence that a fix improves retention. The case for it is the plain one: a viewer who hears the same five sentence shapes repeated stops hearing the content. Treat the F rules as a budget on repetition.

## The tells, as they show up in a spoken script (Moser Baer v4 examples)

| Tell | Why it reads as machine | Fix | Before, then after |
|---|---|---|---|
| **Negation pivot** (F1) | It denies something nobody said, then says the thing. Three in a row is the "no X, no Y, just Z" shape. | Say the thing. | "no crash, no scandal, just a margin so thin that a small slip wipes out everything" becomes "From outside it looked fine. The margin was so thin that a 5 percent dip in sales erased a year's profit." |
| **Staged run-up** (F2) | Announces that a point is coming instead of making it. | Cut the announcement; the next sentence is the point. | "Think about what that does. A shrinking business has no date." becomes "A shrinking business has no date." |
| **Script-talk** (F2) | The narrator talks about the script: promises, reminders, naming the idea aloud. | Use the name; skip the ceremony. | "I call that the treadmill, and I'll keep using the word." becomes "Call it the treadmill." |
| **Stock depth** (F3) | Sounds profound, says nothing. | Replace with the fact it gestures at. | "Brilliant is the right word." becomes "By 2007 it was the second-biggest maker of recordable discs in the world." |
| **Triad** (F4) | Three items because three sounds finished. | Use the number of items there are. | "It sells, it shrinks, it protects what is left." becomes "It sells what it can and shrinks to what it can afford." |
| **Punch-line closer on every beat** (F4) | A six-word zinger ending each paragraph makes every paragraph the same shape. | Let some beats end on the hinge question, some on a plain fact. | |
| **Fragment drumroll** (F4) | Short, short, short. Manufactured emphasis. | One complete sentence. | |
| **Written English** (F5) | No contractions, because it was typed, not said. | Read it aloud; contract where you would. The twelve English winner transcripts we have run about 1.5 contractions per 100 words (range 0 to 3.7). | |

## The pass (Step 4b of SKILL.md)

Run it **after** the texture pass (Step 4a), which adds a persona, figures, people and landings. This pass removes the tells those additions may bring ("It was like a", "Think about what that does", a staged aside). Add, then subtract.

1. **Mark.** Run `lint.js`; read the F detail lines. Then read the script aloud once at speaking pace and mark every place you stumble, run out of breath, or would not say it to a friend.
2. **Rewrite by pattern, not by sentence.** For each tell, ask what the sentence is *for*. If it carries a fact, keep the fact and drop the frame. If it only announces, cut it. Where you cut a sentence that also carried a hinge or a care line, move the hinge into the neighbouring sentence and re-check C and D.
3. **Specificity test.** Replace each abstract line (the situation, the pattern, the stakes) with a name, a number, a date, an object or a quote that is already in the fact ledger. Never add a fact that is not in the ledger; the humanizer rule applies: change how it sounds, never what it says.
4. **Keep the honest hedges.** "I couldn't find where that money went" is both the most human line in the script and the one that protects the claim.
5. **Do not over-correct.** A contrast that carries information stays ("In December the company said it was well-funded. The quarter before, it had made a loss."). A question the viewer is actually asking stays. The linter's budgets leave room for these; if a rule fires on a sentence that carries a fact, keep the sentence and note why in the lint log.
6. **Re-run lint**, then the fresh-reader pass with one added question: *which sentences sound written rather than spoken?*

## What the F rules measure

| Rule | Measures | Default budget (`rules.json` > `voice`) |
|---|---|---|
| F1 | negation pivots | warn above 1, fail above 4 |
| F2 | staged run-ups and script-talk | warn above 3, fail above 8 |
| F3 | stock phrases, machine vocabulary, empty intensifiers, lazy extremes | warn above 2, fail above 8; extremes under 6 per 1000 words |
| F4 | fragment runs, triads, short closers, sentence-length variation, repeated openers | fail above 3 fragment runs; the rest warn |
| F5 | contractions, dashes, average sentence length | warn |

Patterns live in `scripts/voice-patterns.json`. Add a pattern when a reader or a new skill names a tell the list misses, and add the sentence that taught it to the table above.

## What it cannot do

It finds the tells that a regex can find. A script can pass every F rule and still read like a template, and a script with a few tells can still sound like a person. The final test is a person (or a fresh reader) hearing it. Detectors are not the goal; the humanizer skill's own page notes that detectors still flag most of its output, and flag plenty of human text too.

Shown as it is in the repository at build time (2026-11-03); the home directory appears as <home>. If this page and the file differ, the file is right. Back to the catalogue.