vhs-recording
npx machina-cli add skill athola/claude-night-market/vhs-recording --openclawVHS Recording Skill
Generate professional terminal recordings from VHS tape files.
When To Use
- Recording terminal sessions with VHS tape scripts
- Creating terminal demo recordings for documentation
When NOT To Use
- Browser-based workflows - use scry:browser-recording instead
- Non-terminal demos or GUI applications
Overview
VHS 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
Module Reference
- See
modules/tape-syntax.mdfor VHS tape file directives - See
modules/execution.mdfor recording workflow details
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
Troubleshooting
Common Issues
If vhs is not found, verify that your Go bin directory is in your PATH (typically ~/go/bin). If the recording fails to start, ensure ttyd and ffmpeg are installed, as VHS depends on them for terminal emulation and video encoding. For "permission denied" errors when writing the GIF, check that the output directory exists and is writable.
Source
git clone https://github.com/athola/claude-night-market/blob/master/plugins/scry/skills/vhs-recording/SKILL.mdView on GitHub Overview
VHS recording converts declarative tape files into animated GIFs of terminal sessions. Tape files define commands, timing, and terminal appearance to produce polished demos and tutorials.
How This Skill Works
The process validates the tape file (ensuring an Output directive and at least one action), ensures VHS is installed along with ttyd and ffmpeg, and then runs vhs on the tape file. VHS launches a virtual terminal, replays scripted commands with timing, captures frames, and encodes them into a GIF.
When to Use It
- Recording terminal sessions with VHS tape scripts.
- Creating terminal demo recordings for documentation.
- Producing GIF-based demos for onboarding or tutorials.
- Showcasing CLI workflows in marketing materials.
- Documentation that requires repeatable, shareable terminal demos.
Quick Start
- Step 1: Prepare a tape file with an Output directive and at least one command action; validate the file exists.
- Step 2: Install VHS (and ensure ttyd and ffmpeg are available) using the appropriate commands for your OS.
- Step 3: Run the recording with: vhs <tape-file.tape> and verify the GIF appears at the Output path.
Best Practices
- Start with a short, focused tape file to calibrate timing before longer demos.
- Always include an Output directive to specify the GIF destination.
- Verify VHS installation and dependencies (ttyd and ffmpeg) before recording.
- Check the produced GIF size and integrity to ensure a usable asset.
- Write clear, readable tape scripts with comments and consistent prompts.
Example Use Cases
- Demo a git workflow reel showing commit, push, and review commands.
- Documentation GIF for a CLI tool like kubectl demonstrating common operations.
- Onboarding walkthrough that generates a terminal demo from project setup to run.
- Tutorial showing a sequence of commands with precise timing for new users.
- Marketing demo illustrating a CLI-based tool in action for product pages.
Frequently Asked Questions
Related Skills
browser-recording
athola/claude-night-market
Record browser sessions using Playwright for web UI tutorials, converts
media-composition
athola/claude-night-market
Combine media assets (GIFs, videos) into composite tutorials with vertical/horizontal
gif-generation
athola/claude-night-market
Post-process video files and generate optimized GIFs. Converts webm/mp4