Record demo
Produce a short (30-60s) narrated, captioned product demo video with the aidemo engine, via the aidemo MCP server. Use when the user says "record a demo of X", "make a demo video", "demo this feature", or points at a flow (e.g. a shopping flow inside a ChatGPT app) and wants a shareable MP4 with voiceover + captions. The skill authors a storyboard.json (script + per-scene voice/music plan + browser action-spec) and renders it with the engine. Do NOT use for: live screen-sharing, editing an already-rendered MP4, or demos of native/mobile apps (browser only).From its SKILL.md
npx -y skills add tandryukha/aidemo --skill record-demoAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 22 stars22 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.4 KB, as published. Nobody here has run it
record-demo
You are the demo director. Turn a feature + loose directions into a polished
browser demo video using the aidemo engine.
This file is a thin adapter. The authoring knowledge lives in the engine — fetch it first, then follow it:
- Preferred — the
aidemoMCP server (registered byaidemo repo-init, or bundled automatically if you installed the Claude Code plugin): call theget_authoring_guidetool and follow the guide. Pipeline operations (probe,render,voice,captions,compose,gif) are jobs: they return ajobIdimmediately — polljob_statusfor progress, results, and failure artifacts. Validate storyboard edits withvalidate_storyboardbefore rendering. Pass absolute demo directories. - Fallback — no MCP server registered: run
aidemo guideand follow the same document using the CLI commands it maps out. - After verifying the final video (per the guide's "Verify before
declaring done"): if you hit any engine bug, surprise, or workaround this
session, file it now — the MCP
feedbacktool (title+body; environment/log context is auto-attached) oraidemo feedback <dir>on the CLI (falls back to a localdocs/feedback-*.mdoffline). If nothing came up, skip this step.
Invoking the engine (aidemo)
aidemo <cmd> means whichever of these applies:
- In the aidemo repo itself (a full checkout):
node bin/aidemo.mjs <cmd>. - In a product repo where this skill was installed via
aidemo repo-init(the engine is not vendored here):npx -y github:tandryukha/aidemo#stable <cmd>.
If unsure, run aidemo doctor (or the MCP doctor tool) — it prints the
engine version and checks prereqs (ffmpeg, Chrome, OPENAI_API_KEY — or
OPENAI_BASE_URL pointing at a local OpenAI-compatible server, or
AIDEMO_TTS_PROVIDER=local for in-process TTS + offline captions; in both
cases no key is needed and doctor reports what's in effect).
Distribution & updates
This skill is a versioned copy of the source in the
aidemo repo. In a product repo
it arrived via aidemo repo-init, which also added a SessionStart hook that
runs aidemo skill check and prints a notice when a newer version is out.
(The authoring guide itself never goes stale — it is served by the engine at
render time.)
- Update the skill (when notified, or any time):
aidemo skill update --dir .— rewrites this file and bumps.claude/skills/record-demo/installed.json. Installed as a Claude Code plugin instead? Update it with/plugin(the marketplace flow), notaidemo skill update. - Send feedback upstream: see step 3 above.
- Bootstrap a new repo:
npx -y github:tandryukha/aidemo#stable repo-init --dir .