--- name: product-demo description: Use when the user wants a product demo video / screen recording with zooms and cursor / dashboard walkthrough clip for any product (e.g. "/product-demo", "record a demo of the app", "Screen-Studio style demo"). --- # Product Demo **REQUIRED BACKGROUND:** marketing-studio skill; also read `${CLAUDE_SKILL_DIR}/../../docs/playbook/capture.md` and `${CLAUDE_SKILL_DIR}/../../docs/playbook/remotion.md`. Work in `${CLAUDE_SKILL_DIR}/../..`. Produces `/marketing/assets//demo.mp4`: real app footage with a timestamp-driven cursor, subject-safe camera framing, and concise captions. ## Recipe 1. Toolchain + brand check per marketing-studio. The product's app must be RUNNING (ask the user to start it; never start their stack yourself). 2. Capture script: `feeders/capture/record--demo.mjs`. For a new product copy `record-noban-demo.mjs`: viewport wide enough for the app, `deviceScaleFactor: 2`, proven ready-locators per view, a step caption per view. Read `${CLAUDE_SKILL_DIR}/../../docs/playbook/capture.md` FIRST — especially: camera focus rects are MEASURED from raw footage frames, never derived from click points, and must end before any app-side clipped edge. 3. Run the capture with `--project `; verify `capture OK` and the product-owned props/public files it writes. Do not stage product footage in the engine. 4. Measure/tune focus rects: extract raw frames (`npx remotion ffmpeg -ss -i /marketing/assets//public//demo.webm -frames:v 1 f.png`), Read them, set focus {x,y,w,h} centers/sizes in the capture script, re-capture (~20s). 5. Render one proof per view with `--public-dir=/marketing/assets//public`; check that the product action is legible at delivery size, camera framing is safe, and pointer phases match capture. 6. Render into the product workspace and deliver per marketing-studio. A full desktop recording is raw material, not automatically an authored edit.