← ClaudeAtlas

demo-capturelisted

Craft and mechanics of capturing software on screen for a demo video — rehearsing a flow, staging a window, the action-script format, pacing to narration, and macOS permissions and coordinates. Use when recording an app, driving a UI for a video, debugging a capture that looks wrong, or when clicks land in the wrong place.
mrieck/demoday-claude-plugin · ★ 3 · Code & Development · score 76
Install: claude install-skill mrieck/demoday-claude-plugin
# Capturing the screen ## Rehearse, then perform The rehearsal session (`demo_*` MCP tools) is for figuring things out. The performance runner replays what you found, smoothly, while recording. Consequences worth internalising: - Anything you do during rehearsal is invisible in the final video. Explore freely. - Only *successful* actions are recorded, so a failed click cannot poison a script. - The performance replays **exactly** the recorded steps. If the app needs to be in a particular state to start, put that in the action script or reset the app before performing. ## Writing a flow that films well - **One idea per scene.** If narration needs "and then", it is two scenes. - **Start where the user starts.** Not on a page you navigated to off-camera. - **Type realistic content.** "Acme Demo" reads as a demo. "asdf" reads as a bug. - **Pause after the payoff.** Add `dwellMs` on the step that produces the result; the viewer needs a beat to see what changed. - **Highlight the moment that matters.** One `demo_highlight` per scene, on the thing the narration is naming. More than one and none of them land. - **Never demo a login.** Use `storageState` or log in before `markStart`. ## Pacing to the narration `--target-duration` stretches *dwell*, never motion. The clip lands on the voiceover instead of being cut to fit afterwards. `pinToWord` goes further: a step fires exactly when a word is spoken. ```json { "type": "click", "selectors": ["[data-testid=save]"],