pb-show-build
Build a show across lights (grandMA3), media (Resolume) and generative visuals (TouchDesigner) from one cue list, offline first. A lane whose console or app is not running is skipped and logged while
Files1
View on GitHubSKILL.mdskills/playbooks/pb-show-build/SKILL.md
GitHubShow build: lights, media, visuals
What you get: a cue sheet and a show built per lane, rehearsed offline first, with the live rig touched only after your GO. A lane that is not available is skipped, not faked.
Inputs
- tracker — the pb-event-tracker output (
tracker.csv,brief.md) - cue_list — the cues: number, name, what happens in light, media and visuals
- fixture_list — fixtures with type, mode, universe and address
- media_folder — the clip files for Resolume
Steps
- Preflight — one probe per lane, each independent:
grandma3_pingonbdb_grandma3_mcp;resolume_pingonbdb_resolume_mcp;get_td_infoonbdb_td_minddesigner(pass:connected: true). MCP tools may be deferred in the harness: try to load the tool once via the harness tool search before declaring it missing. Tool not loaded, call errors or the pass condition fails → log "Missing MCP:<server>(<tool>unavailable). Start <the grandMA3 console or onPC|Resolume Arena|TouchDesigner> and checkmcpServers.<server>in your harness config." and mark that laneoff; the other lanes continue and every step below runs only for lanes markedon. All threeoff→ stop and write nothing except the run log — each lane markedonoroffin the run log - bdbmediastorm + godmode-eventtech — tracker, cue_list, fixture_list, media_folder →
cue-sheet.md, one row per cue with its target per lane (MA3 macro, Resolume clip, TD cue;lane offwhere a lane is missing) — stops for approval - TouchDesigner lane (bdb-touchdesigner-mcp) — cue-sheet →
compose_cue_listandcreate_safety_blackout_chain, thenget_td_node_errors— errors empty; offline: nothing is sent to live outputs - Resolume lane (bdb-resolume-mcp) — media_folder, cue-sheet →
get_compositioncompared with the clips the cue sheet names — every Resolume clip in the sheet is present in the composition, missing ones listed for the human to load (no MCP tool loads media) - [GO] patch console (grandMA3 lane) —
patch_fixturefor each fixture in fixture_list (patching only, no macro is executed here), the full fixture list named in the WAITING FOR GO line. The run stops here until the human types GO. This changes the live console, and no hook guards it, so this GO is the only guard. One GO = this one list, one time. - [GO] live rehearsal — walk the cue sheet on live outputs with
trigger_clipandclear_layer(Resolume), the TD cue list andexecute_macrofor each macro in cue-sheet.md (grandMA3), only for lanes markedon; the cue count, the macro list and the lanes named in the WAITING FOR GO line. The run stops here until the human types GO. Light, video and projection go live, and no hook guards it, so this GO is the only guard. One GO = one rehearsal pass. - Check — every cue row in
cue-sheet.mdmaps to a TD cue, Resolume clip or MA3 macro or is markedlane off;get_td_node_errorsempty again after the rehearsal — mapping table and result in the run log
Run log: production_artifacts/pb-show-build-<date>.md in the start directory, never committed
Rules
- Anything other than the literal GO (case-insensitive) is not a GO; a GO covers only that one step, one time.
- A failed check stops the run: write the failure into the run log and report. No silent retries.
- Write one run-log line per step as it completes (
N. done|skipped|failed — artifact — check result) andWAITING FOR GO: <step>at each gate. A lane markedoffis loggedskippedwith its Missing MCP line.