vhs-demo

Category: Ops & Delivery | Uploader: babarotbabarot | Downloads: 0 | Version: v1.0(Latest)

Use when running demo recordings, diagnosing recording failures, or regenerating GIFs from existing MP4s. Covers the Docker + VHS + ffmpeg pipeline. --- # VHS Demo Recording Use this skill to run, debug, or regenerate gh-infra demo GIF recordings. ## When To Use - Running `make demo` or `docs/tapes/vhs.sh` directly - Diagnosing why a recording failed or produced a 0-byte GIF - Regenerating GIFs from existing MP4s without re-recording - Understanding the recording pipeline ## Prerequisites - Docker must be running - Go toolchain (for cross-compiling the Linux binary) ## Pipeline ```text make demo 1. go build -o docs/tapes/.gh-infra (GOOS=linux GOARCH=amd64) 2. docs/tapes/vhs.sh a. docker build → gh-infra-vhs image (VHS + vim) b. For each *.tape in parallel: docker run --memory=1g --cpus=2 → produces .mp4 c. For each .mp4 sequentially: docker run jrottenberg/ffmpeg:7-alpine → produces .gif 3. Copy GIFs to docs/public/ 4. Clean up .gh-infra binary ``` ## Why MP4 → GIF Instead of Direct GIF VHS's built-in GIF output is unreliable when multiple containers run in parallel on macOS. The workaround is to output MP4 only from VHS, then convert to GIF via ffmpeg with high-quality settings (lanczos scaling, sierra2_4a dithering, 256 colors). ## Key Files | File | Role | |------|------| | `docs/tapes/vhs.sh` | Orchestrator: parallel recording + sequential GIF conversion | | `docs/tapes/Dockerfile` | `ghcr.io/charmbracelet/vhs` + vim | | `docs/tapes/*.tape` | VHS scenario files | | `docs/tapes/setup*.sh` | Per-demo setup scripts (mock data, gh wrapper) | | `docs/tapes/mock-gh` | Generic mock for `gh` CLI | | `docs/tapes/.gh-infra` | Cross-compiled Linux binary (ephemeral) | ## Output Locations - Raw recordings: `docs/tapes/*.mp4` and `docs/tapes/*.gif` - Published assets: `docs/public/demo*.gif` (copied by Makefile) ## Environment Variables `make demo` forwards `DEMO_ENV` variables into Docker via `-e` flags. Use this to pass environment overrides (e.g. `GH_INFRA_OUTPUT`) into

Changelog: Source: GitHub https://github.com/babarot/gh-infra

Directory Structure

Current level: tree/main/.claude/skills/vhs-demo/

  • 📄 SKILL.md 4.7 KB

SKILL.md

Login to download/like/favorite ❤ 102 | ★ 0
Comments 0

Please login before commenting.

Loading comments...