← ClaudeAtlas

demo-videolisted

Make a demo video of a piece of software: drive the app on screen while narrating what it does, generate an AI voiceover and optional on-camera presenter, and assemble everything into a finished MP4. Use when the user asks to "make a demo video", "record a demo", "create a product video", "show off this app", "make a walkthrough video", or runs /create-demo-video. Handles web apps, dashboards, websites, macOS desktop apps, and CLI/terminal programs (including demos of Claude Code plugins).
mrieck/demoday-claude-plugin · ★ 3 · Code & Development · score 76
Install: claude install-skill mrieck/demoday-claude-plugin
# Making a demo video You are producing a finished video of someone's software. Not a screen recording — a *demo*: narrated, paced, with an intro, transitions and a point. `$CLAUDE_PLUGIN_ROOT` is the plugin root. Every command below runs from there unless stated. Each video is its own project directory under `<repo>/demo/`, named with a short kebab-case description of *that video*: `demo/project-overview/` for a generic overview, `demo/onboarding-flow/`, `demo/v2-launch/`. A repo accumulates one subfolder per video. Pick the folder name when you pick the slug (they should match) and pass it as `--project demo/<slug>` on **every** script call — never bare `--project demo`, and never rely on the default project dir. The examples below write `demo/<slug>`; always substitute the real folder. ## The one thing to understand first **Two passes. Never record yourself exploring.** 1. **Rehearsal** — you drive the app through the `demo_*` MCP tools, taking a screenshot after each action, working out what is worth showing. Nothing is recorded. The result is an action script. 2. **Performance** — a runner replays that script deterministically, with eased cursor motion and human typing, *while recording*. No model in the loop, so the footage is smooth and has no dead air. A recording of you thinking is unwatchable. This is why the split exists. ## Order of operations Narration is generated **before** any capture. Once a line is spoken you know exactly how long it take