
Description
Produce a polished demo video of a product feature — recorded live in the sandbox browser with cursor effects, captions, and optional voice-over narration.
SKILL.md
Use this skill when the user asks for a demo video, walkthrough recording,
or promo clip of a feature. It is NOT for verification screencasts of a code
change — that is capture-visual-proof.
Pipeline: plan the narrative → author script → narrate → capture (browser, delegated, paced to the narrative) → trim opening → render → verify → upload.
The bundled render/ project is a reference template, not a fixed
pipeline stage: copy it to the work dir and adapt the copy freely (branding,
caption styling, layout, extra presets) when the demo calls for it. The
timeline JSON is the stable contract between capture and render — keep the
copy consuming it and any adaptation stays in sync with the recording.
All work happens under /tmp/feature-demo/work (the work dir). Nothing from
this pipeline is ever committed to the repository.
mkdir -p /tmp/feature-demo && cp "$HOME/.agents/skills/feature-demo/capture/capture.mjs" /tmp/feature-demo/capture.mjs
The runner also reads /tmp/feature-demo/narration.json (written in step 3) on its own; captions-only runs simply will not have one.
agent-browser or run the capture yourself. Delegate with the Task tool to proof-runner, telling it the script path (/tmp/feature-demo/demo-script.json), the output dir (/tmp/feature-demo/work), and the staged runner path (/tmp/feature-demo/capture.mjs), and to report the runner's printed summary plus ls -la /tmp/feature-demo/work. The staged runner is proof-runner's one sanctioned script exception — an agent-browser orchestrator that shells the agent-browser CLI for every browser action — and its own instructions define the exact integrity-verified command it must use to execute it. Do not dictate the node invocation yourself; the proof-runner owns that.proof runtime unavailable) instead of driving the browser from this skill./tmp/feature-demo/work/recording.mp4 and /tmp/feature-demo/work/timeline.json. Verify both exist and that ffprobe reports a duration close to the timeline's durationSeconds (the runner itself fails loudly when the recording is much shorter than the interaction). One retry on failure; then report blocked with the runner's error.webgl surface stalls recording naming the surface rather than retrying. If record stop itself reports an ffmpeg error, the sandbox is likely a stale snapshot with an outdated runtime ffmpeg (stale sandbox runtime).
npx remotion render src/index.ts Demo-wide out/demo-wide.mp4 --browser-executable="${REMOTION_HEADLESS_SHELL_PATH:-/opt/remotion/headless-shell}" --log=error
Run this with a GENEROUS command timeout (10 minutes) on the first attempt: a narrative-length cut is 750+ frames rendering in software on a small container, which routinely exceeds the default two-minute command window — a timeout there is wasted work, not a render failure. If the binary does not exist (older sandbox snapshot), run npx remotion browser ensure once and render without the flag. Repeat for Demo-vertical when the vertical preset was requested.
More skills from the Roomote repository
View all 36 skillsaddress-pr-feedback
address unresolved GitHub PR feedback
Jul 19Code ReviewGitHubPull Requestsagent-browser
automate browser interactions for agents
Jul 16Browser AutomationCLITestingcapture-visual-proof
capture visual proof of browser tasks
Aug 1AutomationBrowser AutomationScreenshotsci-failure-triage
triage failed CI workflows
Jul 23CI/CDDebuggingGitHub Actionscode-quality-auditor
audit code quality in merged pull requests
Jul 26Code AnalysisCode ReviewQAcodeql-triage
triage and remediate CodeQL security alerts
Jul 29Code AnalysisCodeQLDebuggingGitHub +2
More from Roo Code
View publishercreate-draft-pr
create draft pull requests
Roomote
Jul 16AutomationGitHubPull Requestscreate-pr
create pull requests for pending changes
Roomote
Jul 16GitHubPull Requestsdebug-reported-bug
reproduce and debug reported bugs
Roomote
Jul 16DebuggingGitTestingdependabot-triage
triage GitHub Dependabot alerts
Roomote
Jul 29AutomationGitHubSecurityTriagedoctor
orchestrate environment health checks
Roomote
Aug 14DebuggingEngineeringMonitoringOperationsenvironment-setup
configure local development environments
Roomote
Aug 14ConfigurationLocal Development