Writing scripts

A script is markdown. The prompter reads a small, deliberate subset of it — four marks that mean something about delivery, and a heading that divides the script into sections.

The four marks

These are the product, not decoration. The colours are consistent everywhere, so reading them becomes a skill you build while presenting.

  • **bold**Vocal stress. Punch this word.

    One to three per slide. Everything emphasised is nothing emphasised.

  • *italic*A wry aside, a tone shift.

    One or two per slide.

  • `code`An identifier, read as a token.

    Lets you write the real symbol instead of spelling it out.

  • "quoted"Something a real person actually said.

    Only for real quotes. Wrap the complete quote, not just its tail.

Sections and slides

A [SLIDE NN — label] heading starts a new section. Crossing that heading broadcasts the slide number to a deck listening on the same browser, so ordinary slide changes need no tokens at all.

[SLIDE 01 — title]

Hello world, and here's what happened this week.

[SLIDE 02 — the first story]

Voting opened on Friday.

A script with no headings at all still works — it scrolls as one section and simply drives no deck.

Watch the numbering. Deck sync fires on the heading's number, so re-using one sends the deck backwards. A teaser filmed as a separate take is the usual culprit. The prompter warns you when a number repeats.

Why word count matters

Scroll speed is derived from each section's own density rather than a fixed pixel rate, so 140 words per minute means the same reading pace in a sparse section and a dense one. Markup characters and control tokens are excluded from the count — they are never spoken, so they must not push the scroll along.

The practical consequence: don't pad a script with anything you won't say. Pronunciation notes in particular belong somewhere else.

Want to run your next take on this?

PteroPrompter is in early access. Leave an address and we'll be in touch when the first takes ship.