--- name: demo-with-narration description: "Demos working software: first proves every claimed behavior by exercising the real artifact, then replays the proof as a slow, voice-narrated walkthrough. Use when the user asks for a demo or to be shown that something works." --- # Demo With Narration STARTER_CHARACTER = 🎬 A demo is a proof performed twice: once fast and private to convince yourself, once slow and narrated to convince the person watching. ## Stage 1: Self-demo Exercise the real artifact the way its consumer will — the built binary, the running app. A green test suite is the starting point, not the proof. - Check every behavior you intend to claim: the happy path, each refusal path with its exact stderr reason and exit code, every way the session can end. - Probe at least one path beyond the obvious ones (quit from the menu, not just close the window) — the extra path is where green-suite bugs hide. - A detached GUI launch loses its exit status: wrap the launch in a subshell that writes `$?` to a file, read the file after the window closes. - Confirm a window really rendered with a screenshot; drive close and quit through accessibility clicks. Done when every behavior you will claim in the walkthrough has been observed working, and any bug found is fixed and re-proven. ## Stage 2: Narrated walkthrough Replay the proof slowly. The person asked to follow along, so pace for their eyes and ears. - Announce each step by voice (`speak`) before acting: what is about to happen, what to watch for. Pause a beat so the voice finishes before the action starts. - One step per command, numbered. Each step proves exactly one claim. - When something appears on screen, say how long it will stay and leave it there — ten seconds for a window is enough to actually look at it. - After each step, one or two sentences of text recapping what was just proven. - Order the steps as an argument: the input artifact first, then the refusal paths with their exit codes, then the happy path, then every way the session can end. - Include at least one step that can only pass if the whole pipeline works — a validation error from the deepest layer surfacing at the outermost one — rather than only surface behaviors. Done when every step was announced before it ran, each claim from the self-demo appeared in exactly one step, and a final recap lists every step. ## Desktop-automation safety A System Events keystroke lands on the frontmost application, whatever process the tell block names. - Click the specific button or menu item through accessibility instead of synthesizing keystrokes. - When a keystroke is unavoidable: bring the target frontmost, read back which app is actually frontmost, and type only if it matches the target. - After any slip, list the open windows and confirm nothing else was harmed before continuing.