Agent skill

vhs-recording

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

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/documents/vhs-recording-athola-claude-night-market

SKILL.md

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

  1. Confirm tape file exists at specified path
  2. Read tape file contents
  3. Verify required directives:
    • Output directive specifies GIF destination
    • At least one action command (Type, Enter, etc.)

Phase 2: Check VHS Installation

bash
which vhs && vhs --version

If not installed:

bash
# Linux/WSL
go install github.com/charmbracelet/vhs@latest

# macOS
brew install charmbracelet/tap/vhs

# Also requires ttyd and ffmpeg

Phase 3: Execute Recording

bash
vhs <tape-file.tape>

VHS will:

  1. Parse tape file directives
  2. Launch virtual terminal (ttyd)
  3. Execute commands with timing
  4. Capture frames
  5. Encode to GIF using ffmpeg

Phase 4: Verify Output

  1. Check GIF file exists at Output path
  2. Verify file size is non-zero
  3. 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

Expand your agent's capabilities with these related and highly-rated skills.

Didn't find tool you were looking for?

Be as detailed as possible for better results