demo-capturelisted
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]"],