---
name: "event_run_of_show"
description: "Build and call a run of show for a live event: a minute by minute timing sheet with fixed, flex, cuttable, and buffer segments, cue types and who calls them, stage and AV handoffs, a recovery ladder for segments that run long, and a show caller script. Triggers when planning or calling a conference session, awards show, gala, launch, concert, or livestream that has to end on time."
---

# Event Run of Show

## Purpose
Turn a list of segments into a show that ends on time even when parts of it run long. The run of show is the crew facing document: one row per segment, clock time, duration, what happens, which cues fire, and who owns each piece. It is not the attendee agenda, which only lists what the audience sees, and it is not the production schedule, which covers load in, rigging, and sound check before doors.

The difference this skill adds over a plain template is the timing system. Every segment is typed before the show as fixed, flex, cuttable, or buffer, with floors and cut ranks agreed in advance. When a segment overruns, the caller follows a recovery ladder that was approved on paper. Nobody invents cuts live.

## Workflow

1. **Lock the anchors first.** Get, in writing: doors time, show start, the hard out and what makes it hard (venue curfew, stream slot end, next room, union break), and the segments that cannot move at all. If there is no hard out, set one. A show with no hard out has no timing system, only a list.

2. **Build the sheet.** One row per segment with these columns: clock start, duration, segment name, what happens on stage, cues, owner, segment kind, floor, and a contingency note. Copy `assets/run-of-show-template.csv` as the starting sheet. Map every transition, not just every segment: who walks, who presets furniture, which mic changes hands, and what the audience sees while it happens. Transitions are where shows lose time quietly.

3. **Type every segment.** Assign one kind to each row:
   - **fixed**: cannot shrink or drop. Sponsor contract pieces, legal or safety items, the closing send. Keep this list short. If half the show is fixed, there is nothing to recover with.
   - **flex**: can shrink to a floor set in advance, for example a panel planned at 25 that still works at 18. Write the floor in the sheet.
   - **cuttable**: can drop entirely. Rank them, 1 drops first. Hosts get told their cuttable pieces exist before the show, not during it.
   - **buffer**: time placed on purpose to be spent, such as hold music, a host fill, or dessert service. Place buffers before fixed segments and after the segments most likely to run long. A buffer at the very end only protects the hard out.

4. **Run the timing math.** Total the sheet against the window between start and hard out. Then test it with the bundled calculator, which builds the clock timeline and simulates an overrun using only the time still ahead in the show:

   `python3 scripts/ros_timing.py assets/run-of-show-template.csv --start 09:00 --hard-out 11:35 --overrun "Panel:7"`

   Fix any plan that misses the hard out on paper. A plan that is over before doors will be over on stage.

5. **Write the cues.** Every technical action gets a cue id: a department prefix plus a number in show order, such as LX 12, SQ 5, VID 3. Prefixes, a filled in cue row, and the full calling sequence are in `references/cue-sheet-and-caller-script.md`. Rules that hold on any show size:
   - Cues live on the run of show row that triggers them, with the trigger written as a spoken line, a visual event, or a clock time. "When ready" is not a trigger.
   - Cut cues are struck through and marked CUT. Numbers are never reused.
   - Safety cues, such as confetti, haze, or a moving set piece, get their own standby and a clear area confirmation before GO.

6. **Agree the recovery ladder.** Write the order on the sheet itself, in this sequence: spend buffer first, shrink flex segments to their floors, drop cuttable segments in rank order, then stop and escalate to the producer for a decision about a fixed segment or the hard out. Add trigger rules where clock time alone is not enough, for example: doors do not open until check in is tested and staffed, or the break extends by the exact minutes the previous session ran long, up to a cap. The caller executes the ladder. The producer owns any step past it.

7. **Rehearse in three passes.** First a technical cue to cue, where operators run cues without full performances. Then a talent pass, where speakers and performers walk entrances, mic handoffs, and exits at show speed. Then a final technical pass to fix what the first two found. Time the rehearsal segments and update the sheet floors with real numbers where the plan guessed wrong.

8. **Call the show.** One voice calls. The show caller is the only person who says GO. The pattern is warning, standby, confirmations, then GO with the cue id first and GO last, because operators react to the word GO itself. Full wording, caller only words such as HOLD and STANDBY CANCEL, and a 90 second caller script excerpt are in `references/cue-sheet-and-caller-script.md`. The caller also owns the clock: at each segment end, state the variance plainly, for example two minutes over, buffer spent, close is now three minutes, and say which ladder step was taken.

9. **Handle the overrun live.** When a segment runs long, in order: check the clock against the plan, tell the stage manager the variance and the ladder step, give wrap signals at the agreed times (a wrap light, a card, a word via the stage manager), and brief the host with time facts only. Never recover time by speeding up a fixed safety or contract piece, and never take it from a segment that has already played.

10. **Close the loop after the show.** Mark actual start and end times per segment on the sheet while memory is fresh. Note which ladder steps were used and which floors were wrong. That marked up sheet is the starting point for the next edition of the same event.

Three fully worked shows, a corporate general session, an awards gala, and a livestreamed launch, each with its recovery math done, are in `references/worked-examples.md`.

## Output Contract
- A run of show sheet in the template format: clock times, durations, segment kinds, floors, cut ranks, cues, owners, and contingency notes.
- A cue sheet extract per department, with cue ids, triggers, and backups for playback items.
- A recovery ladder written on the sheet, with buffer placement, flex floors, cut order, and the escalation point.
- A caller script for the top of show and for any dense cue sequence, using the warning, standby, GO pattern.
- A timing check result from the calculator: planned end against the hard out, plus at least one overrun simulation.

## Operating Rules
1. One document, one owner, one version on show day. Changes after the final distribution go through the show caller, who announces them on headset and marks the sheet. Side copies with private edits cause missed cues.
2. One voice calls GO. Anyone who needs an action asks the caller for it. The word GO is not used on headset for anything else.
3. Standby is confirmed or the cue does not fire. No reply from a department means that department is not ready, and the caller re-issues the standby.
4. Floors and cut ranks are set before the show and approved by the producer. The caller executes them, the caller does not set them mid show.
5. Every segment has a named owner in the room, not a department and not a person who is elsewhere.
6. Playback is always loaded twice, main and spare, and the run of show names the spare cue id. A video that exists in one place does not exist.
7. State time variance as facts, early and plainly. A host who hears the real number at the planned end can land a segment. A host who hears it five minutes later cannot.
8. Do not invent timings, cue counts, or venue rules. Segment lengths come from rehearsal timing or the speaker, floors come from the segment owner, and curfew and capacity rules come from the venue.
