Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Record, camera-process, encode, stage, and validate polished Kandev product films, landing-page loops, screenshots, and alternate framing from isolated demo data. Use when the user asks for product videos, GIF-like feature demos, cursor-follow camera motion, desktop/mobile captures, recaptures, landing media, or different framing; always invoke product-demo-seeding first.
.claude/skills/kdlbs-product-video-capture/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-05 | ✗→✓ | ▲ Improved | 89% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 39% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 257% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 213% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 125% | 0% |
Produce reusable clean masters first; derive presentation from them later. Preserve the raw master and camera config so every camera choice is reversible.
git rev-parse --show-toplevel, then verify it contains scripts/dev-isolated and apps/web/e2e/.KANDEV_LANDING_REPO when set and verify it contains both scripts/product-loop-camera.mjs and scripts/product-loop-encoder.mjs. If the variable is unset or its path fails verification, search the available workspace and sibling checkouts for both marker files; do not select a directory by name alone.KANDEV_REPO and LANDING_REPO, and use those variables for every command and copy operation.| Request | Path | | --- | --- | | New feature/story | Seed with /product-demo-seeding, then capture desktop and mobile masters | | Different zoom/crop/pacing | Invoke /product-demo-seeding to re-prove source/isolation/provenance, then reuse an approved raw master and change camera config only | | New poster/static image | Extract a settled pointer-free frame from approved master or recapture native screenshot | | Longer walkthrough | Keep continuous 1x source; add a tested delivery profile instead of speed ramps | | Actual GIF required | Derive from approved video last; retain WebM/MP4 as primary web formats |
/product-demo-seeding before this skill. For alternate framing, it validates provenance and isolation instead of manufacturing new visible state. An approved raw is reusable only when its source SHA still equals freshly fetched origin/main; otherwise recapture. Then resolve and verify KANDEV_REPO and LANDING_REPO as described above. Do not assume task-specific absolute paths.CAPTURE_ROOT, for example with mktemp -d "${TMPDIR:-/tmp}/kandev-product-capture.XXXXXX". Use it for every raw, proof, config, and staged delivery path; do not write candidates into production assets.Read capture-pipeline.md before recording and camera-encoding.md before conforming media.
3840x2400 at 25 fps delivers 1920x1200 at 25 fps; native mobile source and delivery are 1290x2796 at 25 fps.Use $LANDING_REPO/scripts/product-loop-camera.mjs and $LANDING_REPO/scripts/product-loop-encoder.mjs. Their tests define dimensions, frame rate, maximum zoom, smoothness, loop reset, codecs, and poster quality. For semantic landing desktop stories, use formFactor: "landing" with cameraProfile: "landing-editorial" and cap maximum zoom at 2.0x. The landing-editorial profile requires both focusTrack and pointerTrack; configs without either are invalid. Native mobile stays native-size and uses the tested mobile cap, never more than 2.0x. Change these contracts test-first when the user requests a genuinely different delivery format.
Do not remove waits with cuts or speed changes. Improve the source choreography or recapture. One trim at the beginning/end is acceptable; time skips are not.
The camera is center-biased, not cursor-naive: follow the active semantic target while retaining the context needed to understand the action. Use one smooth establishing tighten, then keep a stable working depth. Widen-pan-tighten for long journeys. Keep the full dialog or menu visible as a priority, even when that means less zoom. The visible cursor never leaves the frame, including its complete rendered glyph and safety margin.
Explicit rejection rules:
Follow qa-checklist.md. Do not ship until:
Report story, seed, form factors, raw/delivery dimensions, durations, codecs, camera profile, output sizes/hashes, visual audit, browser checks, teardown, and any unsupported or blocked surface.
Other measured skills in the registry, with their headline benchmark lift.