Create Video Recording
Create a short reviewer-facing proof artifact: video, screenshot, manifest, and a PR-ready Verification snippet. Prefer a real browser recording; do not fake proof. If recording cannot run, report the exact blocker and fallback artifact.
Decision
Record video when the change affects:
- UI, CSS, layout, browser flow, chart, dashboard, generated HTML, or report rendering
- visible product behavior, onboarding, checkout, booking, search, payments, or admin surfaces
- a demoable checkpoint the user should review before more work
Skip video only when the change is clearly backend-only, docs-only, tests-only, or config-only. If skipping before PR, write the reason in the Verification section.
Workflow
-
Resolve the demo target:
- URL, local HTML file, report file, or dev server route
- expected behavior to prove
- commands already run, such as lint/typecheck/tests
-
Run the recorder:
node skills/create-video-recording/scripts/record_web_demo.mjs \ --url http://127.0.0.1:3000 \ --title "Checkout verification" \ --scenario "Open checkout, verify payment CTA remains visible"For a local HTML report:
node skills/create-video-recording/scripts/record_web_demo.mjs \ --html outputs/report/index.html \ --title "Report verification" \ --scenario "Open report and verify charts render" -
Read
.tmp/verification/latest-video.json. -
Include the generated
verificationSnippetunder the PR## Verificationsection. -
If a richer report is needed, run:
node skills/create-video-recording/scripts/build_verification_report.mjs \ --manifest .tmp/verification/latest-video.json -
If publishing externally for reviewers, use
publish-to-wego-hubon the generatedindex.htmland video file.
Output Contract
The recorder writes:
outputs/verification/<branch>/<timestamp>/demo.webmordemo.mp4outputs/verification/<branch>/<timestamp>/screenshot.pngoutputs/verification/<branch>/<timestamp>/manifest.jsonoutputs/verification/<branch>/<timestamp>/verification.md.tmp/verification/latest-video.json
The manifest must include branch, commit, diff fingerprint, scenario, artifact paths, and verificationSnippet.
PR Gate
The companion hook blocks gh pr create only when a video-requiring file changed and no fresh manifest exists for the current diff. It should not guess the demo scenario or silently generate a meaningless recording inside the hook. Run this skill first, then retry PR creation.
Scripts
scripts/record_web_demo.mjs— record or construct a real browser-derived demo artifact.scripts/build_verification_report.mjs— turn a manifest into a standalone HTML verification report.scripts/check_pr_verification.mjs— hook-safe pre-PR freshness check.
If Playwright is installed, the recorder uses Playwright video capture. Otherwise it falls back to Chrome/Brave headless screenshots stitched by ffmpeg. If both paths fail, stop and report the blocker.