Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
pproenca avatar

Vhs

  • 264 installs
  • 191 repo stars
  • Updated July 24, 2026
  • pproenca/dot-skills

vhs is an agent skill that drives Charmbracelet VHS to render terminal sessions from declarative .tape files into GIF, MP4, or WebM demos for developers documenting CLI tools.

About

vhs is a pproenca dot-skills agent wrapper for Charmbracelet VHS, the terminal home video recorder that writes terminal GIFs as code for integration testing and CLI demos. VHS executes declarative .tape files with commands like Output, Set Width, Type, Sleep, and Enter to produce GIF, MP4, or WebM files without manual screen recording. Common workflows include vhs new demo.tape to scaffold a tape, vhs demo.tape to render output, vhs validate demo.tape to catch syntax errors, vhs record to capture live sessions into a tape, and vhs publish to share on vhs.charm.sh. Developers reach for the vhs skill when README documentation needs reproducible terminal animations, CI-generated demo assets, or integration tests that replay scripted shell sessions. The skill targets development tasks around terminal recording rather than application runtime debugging.

  • vhs

Vhs by the numbers

  • 264 all-time installs (skills.sh)
  • +7 installs in the week ending Aug 4, 2026 (Skillselion tracking)
  • Ranked #1,467 of 4,347 Backend & APIs skills by installs in the Skillselion catalog
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/pproenca/dot-skills --skill vhs

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs264
repo stars191
Last updatedJuly 24, 2026
Repositorypproenca/dot-skills

How do you record terminal demos as reproducible GIFs?

Use vhs for development tasks

Who is it for?

Developers documenting CLI tools who want deterministic, code-reviewed terminal recordings instead of manual screencasts.

Skip if: Developers debugging runtime application errors in production who need log analysis rather than demo asset generation.

When should I use this skill?

User asks to create a terminal demo GIF, record CLI output, write a VHS tape file, or generate README screencasts.

What you get

Rendered GIF, MP4, or WebM demo files plus validated .tape scripts for terminal CLI showcases.

  • demo.gif
  • demo.mp4
  • .tape scripts

By the numbers

  • Outputs GIF, MP4, and WebM from .tape files
  • VHS command reference includes Output, Type, Sleep, and Enter directives

Files

SKILL.mdMarkdownGitHub ↗

Charmbracelet VHS Best Practices

Comprehensive best practices guide for VHS terminal recordings, maintained by Charmbracelet. Contains 47 rules across 8 categories, prioritized by impact to guide creation of professional, portable, and optimized terminal demos.

When to Apply

Reference these guidelines when:

  • Writing new VHS tape files
  • Creating terminal demos for documentation
  • Setting up CI/CD for automated GIF generation
  • Optimizing recording file size and quality
  • Troubleshooting tape file issues
  • Reviewing tape files for best practices

Rule Categories by Priority

PriorityCategoryImpactPrefix
1Configuration StructureCRITICALconfig-
2Dependency ManagementCRITICALdeps-
3Command SyntaxHIGHcmd-
4Timing & SynchronizationHIGHtiming-
5Output OptimizationMEDIUM-HIGHoutput-
6Visual QualityMEDIUMvisual-
7CI/AutomationMEDIUMci-
8Advanced PatternsLOWadvanced-

Quick Reference

1. Configuration Structure (CRITICAL)

  • `config-settings-order` - Place all settings before commands
  • `config-output-first` - Declare output at file start
  • `config-shell-explicit` - Explicitly set shell type
  • `config-typing-speed-global` - Set global TypingSpeed early
  • `config-dimensions-explicit` - Set explicit terminal dimensions
  • `config-comments-document` - Use comments to document tape structure

2. Dependency Management (CRITICAL)

  • `deps-require-early` - Use Require for dependency validation
  • `deps-require-order` - Place Require before settings
  • `deps-require-all` - Require all external commands
  • `deps-system-requirements` - Verify system dependencies

3. Command Syntax (HIGH)

  • `cmd-type-syntax` - Use correct Type command syntax
  • `cmd-enter-explicit` - Always follow Type with Enter
  • `cmd-key-repeat` - Use key repeat counts
  • `cmd-ctrl-combinations` - Use Ctrl combinations for terminal control
  • `cmd-hide-show` - Use Hide/Show for sensitive operations
  • `cmd-env-variables` - Use Env for environment variables
  • `cmd-screenshot` - Use Screenshot for static captures
  • `cmd-multiline-type` - Handle multiline commands properly

4. Timing & Synchronization (HIGH)

  • `timing-sleep-after-enter` - Add Sleep after commands for output
  • `timing-wait-pattern` - Use Wait for dynamic command completion
  • `timing-type-speed-override` - Override TypingSpeed for emphasis
  • `timing-sleep-units` - Use explicit time units
  • `timing-final-sleep` - End recordings with final Sleep
  • `timing-natural-pauses` - Add natural pauses between actions
  • `timing-wait-timeout` - Set appropriate Wait timeouts
  • `timing-playback-speed` - Use PlaybackSpeed for final adjustments

5. Output Optimization (MEDIUM-HIGH)

  • `output-format-selection` - Choose output format based on use case
  • `output-framerate` - Optimize framerate for file size
  • `output-dimensions-optimize` - Right-size terminal dimensions
  • `output-loop-offset` - Use LoopOffset for seamless loops
  • `output-multiple-formats` - Generate multiple output formats
  • `output-relative-paths` - Use relative paths for portability

6. Visual Quality (MEDIUM)

  • `visual-font-readable` - Choose readable font settings
  • `visual-theme-selection` - Select appropriate theme
  • `visual-window-decoration` - Add window decorations for polish
  • `visual-spacing` - Adjust letter and line spacing
  • `visual-padding-margin` - Use padding and margins effectively
  • `visual-cursor-visibility` - Ensure cursor visibility

7. CI/Automation (MEDIUM)

  • `ci-github-action` - Use official VHS GitHub Action
  • `ci-auto-commit` - Auto-commit generated assets
  • `ci-golden-files` - Use golden files for integration testing
  • `ci-matrix-builds` - Generate platform-specific demos
  • `ci-caching` - Cache VHS dependencies in CI

8. Advanced Patterns (LOW)

  • `advanced-source-include` - Use Source for reusable tape components
  • `advanced-clipboard` - Use Copy and Paste for complex input
  • `advanced-recording-live` - Record live sessions then edit
  • `advanced-server-mode` - Use server mode for remote access

How to Use

Read individual reference files for detailed explanations and code examples:

  • Section definitions - Category structure and impact levels
  • Rule template - Template for adding new rules

Reference Files

FileDescription
AGENTS.mdComplete compiled guide with all rules
references/_sections.mdCategory definitions and ordering
assets/templates/_template.mdTemplate for new rules
metadata.jsonVersion and reference information

Related skills

How it compares

Pick vhs over manual screen recorders when terminal demos must be reproducible, diffable .tape source controlled in git.

FAQ

What file formats does the vhs skill produce?

The vhs skill drives Charmbracelet VHS to render declarative .tape files into GIF, MP4, or WebM output. VHS README documents Output commands that can emit multiple formats from a single tape run.

How do you validate a VHS tape before rendering?

Run vhs validate on a .tape file to catch syntax errors without executing the full render. The vhs skill supports this workflow for CI pipelines that regenerate README demo assets on every pull request.

Backend & APIsbackendintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.