Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Create terminal screenshots, animated GIFs, or videos using VHS scripts for documentation, demos, and reproducible CLI visuals.
Create terminal screenshots, animated GIFs, or videos using VHS scripts for documentation, demos, and reproducible CLI visuals.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
Generate terminal screenshots and animated GIFs/videos using VHS from Charmbracelet.
Creating terminal screenshots for documentation Recording animated GIFs of CLI demos Generating video tutorials for command-line tools Producing consistent, reproducible terminal visuals Integration testing with golden file comparisons
# Check if vhs is installed which vhs && vhs --version # Check dependencies which ttyd && which ffmpeg
Recommended: Homebrew (macOS/Linux) brew install vhs This installs VHS with all required dependencies (ttyd, ffmpeg). Other methods: # Fedora/RHEL echo '[charm] name=Charm baseurl=https://repo.charm.sh/yum/ enabled=1 gpgcheck=1 gpgkey=https://repo.charm.sh/yum/gpg.key' | sudo tee /etc/yum.repos.d/charm.repo sudo dnf install vhs ffmpeg # Also install ttyd: https://github.com/tsl0922/ttyd/releases # Arch Linux pacman -S vhs # Docker (includes all dependencies) docker run --rm -v $PWD:/vhs ghcr.io/charmbracelet/vhs <cassette>.tape
vhs new demo.tape
Tape files are simple scripts that describe what to type and capture.
vhs demo.tape
Output demo.gif # Animated GIF Output demo.mp4 # Video file Output demo.webm # WebM video Output frames/ # PNG sequence (directory) You can specify multiple outputs in one tape file.
# Terminal dimensions Set Width 1200 Set Height 600 # Font settings Set FontSize 22 Set FontFamily "JetBrains Mono" # Appearance Set Theme "Catppuccin Mocha" Set Padding 20 Set Margin 20 Set MarginFill "#1e1e2e" Set BorderRadius 10 Set WindowBar Colorful # Behavior Set Shell "bash" Set TypingSpeed 50ms Set Framerate 30 Set CursorBlink false
Run vhs themes to see all available themes. Popular ones: Catppuccin Mocha, Catppuccin Frappe Dracula Tokyo Night Nord One Dark
CommandDescriptionExampleType "text"Type charactersType "echo hello"Type@500ms "text"Type slowlyType@500ms "important"EnterPress EnterEnterEnter 2Press Enter twiceEnter 2Sleep 1sWait durationSleep 500msBackspaceDelete characterBackspace 5TabPress TabTabSpacePress SpaceSpaceCtrl+CControl sequencesCtrl+LUp/Down/Left/RightArrow keysUp 3HideStop recording framesHideShowResume recordingShowScreenshot file.pngCapture current frameScreenshot out.pngWait /regex/Wait for text to appearWait /\$\s*$/Env KEY "value"Set environment variableEnv PS1 "$ "Require programFail if program missingRequire gitSource file.tapeInclude another tapeSource setup.tape
Use backticks to escape quotes: Type `echo "hello world"` Type `VAR='value'`
Output screenshot.png Set Width 800 Set Height 400 Set FontSize 18 Set Theme "Catppuccin Mocha" Set Padding 20 # Hide setup Hide Type "clear" Enter Show # The actual content Type "ls -la" Enter Sleep 500ms Screenshot screenshot.png
Output demo.gif Set Width 1000 Set Height 500 Set FontSize 20 Set Theme "Dracula" Set TypingSpeed 50ms Set Padding 20 Set WindowBar Colorful # Clean start Hide Type "clear" Enter Show # Demo sequence Type "echo 'Hello from VHS!'" Sleep 300ms Enter Sleep 1s Type "date" Enter Sleep 1s Type "echo 'That was easy!'" Enter Sleep 2s
Output tutorial.mp4 Set Width 1200 Set Height 600 Set FontSize 24 Set Theme "Tokyo Night" Set Shell "bash" Set Framerate 30 # Set a clean, minimal prompt Hide Env PS1 "$ " Type "clear" Enter Show Type "# Welcome to the tutorial" Enter Sleep 1s Type "git status" Enter Sleep 2s Type "git log --oneline -5" Enter Sleep 3s
# Setup (hidden) Hide Type "cd ~/project && clear" Enter Show # Your demo here... # Cleanup (hidden) Hide Type "cd - && rm temp-files" Enter
Hide Env PS1 "$ " Type "clear" Enter Show
Use Sleep liberally for readability Sleep 500ms after typing, before Enter Sleep 1s to 2s after command output End with Sleep 2s or more for the final frame
# Default speed for setup Set TypingSpeed 10ms # Slow down for important parts Type@100ms "Important command here"
Type "npm install" Enter Wait /added \d+ packages/ # Wait for completion message Sleep 1s
Type "make build" Enter Wait /Build complete/ Screenshot build-success.png
Plan your demo sequence Create a .tape file with settings Test with vhs demo.tape (generates output) Iterate - adjust timing, dimensions, theme Commit both the .tape file and output to your repo
You can record your terminal and generate a tape file: vhs record > session.tape Then edit the generated tape file to clean it up.
See example tape files in this skill directory: basic-screenshot.tape - Simple static screenshot demo-recording.tape - Animated GIF demo
VHS GitHub VHS Themes Example Tapes
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.