web-product-demo-video
Installation
SKILL.md
Web Product Demo Video
Create the demo from the target application's real behavior. Keep service-specific facts, selectors, actions, captions, and timing in the generated project; never add them to this Skill.
Required workflow
- Read the target repository instructions and inspect its run commands.
- Confirm the target URL, runtime limit, required features, authentication method, output directory, and whether captions or audio are wanted. Default to 1920x1080, CFR 60fps, H.264, captions on, and no audio.
- Check for Node.js, Playwright, FFmpeg, FFprobe, and a usable Python 3 runtime. Reuse project dependencies when available.
- Run
scripts/init_demo_project.py OUTPUT_DIRto create an isolated demo project. - Inspect the real UI with Playwright or an existing signed-in browser. Record only verified routes, selectors, states, actions, and results in
feature-inventory.jsonandrecording-plan.json. - Run
scripts/create_storyboard.pyand then refinestoryboard.json. Readreferences/storyboard-schema.mdwhen editing the data contract. - Run
scripts/validate_storyboard.pybefore recording. If it fails, fix the inventory or storyboard instead of bypassing the check. - Adapt the generated
record-demo.mjsonly where the target application needs custom interaction logic. Keep credentials in environment variables or a Playwright storage-state file outside the package. - Record the complete real interaction. Preserve action markers, but remove waiting, skeleton, error, and blank states from the edited timeline.
- Rebuild the storyboard with
--markers recording-markers.json, verify every trim visually, and run the storyboard validator with--require-media. - Render with
scripts/render_video.py. Use direct cuts by default and restrained zoom only when a small interaction needs emphasis. - Validate with
scripts/validate_video.py, inspect the generated contact sheet, and rerender until all checks pass.