| name | vhs-recording |
| description | Generate terminal recordings using VHS (Charmbracelet) tape files. Executes tape files to produce GIF outputs of terminal sessions. Triggers: terminal recording, vhs tape, terminal demo, cli demo Use when: creating terminal recordings for tutorials and documentation |
| category | media-generation |
| tags | vhs, terminal, recording, gif, demo, tutorial |
| tools | Read, Write, Bash |
| complexity | medium |
| estimated_tokens | 600 |
| progressive_loading | true |
| modules | tape-syntax, execution |
VHS Recording Skill
Generate professional terminal recordings from VHS tape files.
Overview
VHS (Video Hosting Service) by Charmbracelet converts declarative tape files into animated GIFs of terminal sessions. Tape files define commands, timing, and terminal appearance.
Required TodoWrite Items
- Locate and validate tape file
- Check VHS installation status
- Execute VHS recording
- Verify output GIF creation
Workflow
Phase 1: Validate Tape File
- Confirm tape file exists at specified path
- Read tape file contents
- Verify required directives:
Outputdirective specifies GIF destination- At least one action command (Type, Enter, etc.)
Phase 2: Check VHS Installation
which vhs && vhs --version
If not installed:
# Linux/WSL
go install github.com/charmbracelet/vhs@latest
# macOS
brew install charmbracelet/tap/vhs
# Also requires ttyd and ffmpeg
Phase 3: Execute Recording
vhs <tape-file.tape>
VHS will:
- Parse tape file directives
- Launch virtual terminal (ttyd)
- Execute commands with timing
- Capture frames
- Encode to GIF using ffmpeg
Phase 4: Verify Output
- Check GIF file exists at Output path
- Verify file size is non-zero
- Report success with output location
Exit Criteria
- GIF file created at specified Output path
- File size indicates successful recording (typically >50KB)
- No error messages from VHS execution