vhs
Original:🇺🇸 English
Translated
VHS terminal recording best practices from Charmbracelet (formerly charmbracelet-vhs). This skill should be used when writing, reviewing, or editing VHS tape files to create professional terminal GIFs and videos. Triggers on tasks involving .tape files, VHS configuration, terminal recording, demo creation, or CLI documentation.
5installs
Sourceconnorads/dotfiles
Added on
NPX Install
npx skill4agent add connorads/dotfiles vhsTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →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
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Configuration Structure | CRITICAL | |
| 2 | Dependency Management | CRITICAL | |
| 3 | Command Syntax | HIGH | |
| 4 | Timing & Synchronization | HIGH | |
| 5 | Output Optimization | MEDIUM-HIGH | |
| 6 | Visual Quality | MEDIUM | |
| 7 | CI/Automation | MEDIUM | |
| 8 | Advanced Patterns | LOW | |
Quick Reference
1. Configuration Structure (CRITICAL)
- - Place all settings before commands
config-settings-order - - Declare output at file start
config-output-first - - Explicitly set shell type
config-shell-explicit - - Set global TypingSpeed early
config-typing-speed-global - - Set explicit terminal dimensions
config-dimensions-explicit - - Use comments to document tape structure
config-comments-document
2. Dependency Management (CRITICAL)
- - Use Require for dependency validation
deps-require-early - - Place Require before settings
deps-require-order - - Require all external commands
deps-require-all - - Verify system dependencies
deps-system-requirements
3. Command Syntax (HIGH)
- - Use correct Type command syntax
cmd-type-syntax - - Always follow Type with Enter
cmd-enter-explicit - - Use key repeat counts
cmd-key-repeat - - Use Ctrl combinations for terminal control
cmd-ctrl-combinations - - Use Hide/Show for sensitive operations
cmd-hide-show - - Use Env for environment variables
cmd-env-variables - - Use Screenshot for static captures
cmd-screenshot - - Handle multiline commands properly
cmd-multiline-type
4. Timing & Synchronization (HIGH)
- - Add Sleep after commands for output
timing-sleep-after-enter - - Use Wait for dynamic command completion
timing-wait-pattern - - Override TypingSpeed for emphasis
timing-type-speed-override - - Use explicit time units
timing-sleep-units - - End recordings with final Sleep
timing-final-sleep - - Add natural pauses between actions
timing-natural-pauses - - Set appropriate Wait timeouts
timing-wait-timeout - - Use PlaybackSpeed for final adjustments
timing-playback-speed
5. Output Optimization (MEDIUM-HIGH)
- - Choose output format based on use case
output-format-selection - - Optimize framerate for file size
output-framerate - - Right-size terminal dimensions
output-dimensions-optimize - - Use LoopOffset for seamless loops
output-loop-offset - - Generate multiple output formats
output-multiple-formats - - Use relative paths for portability
output-relative-paths
6. Visual Quality (MEDIUM)
- - Choose readable font settings
visual-font-readable - - Select appropriate theme
visual-theme-selection - - Add window decorations for polish
visual-window-decoration - - Adjust letter and line spacing
visual-spacing - - Use padding and margins effectively
visual-padding-margin - - Ensure cursor visibility
visual-cursor-visibility
7. CI/Automation (MEDIUM)
- - Use official VHS GitHub Action
ci-github-action - - Auto-commit generated assets
ci-auto-commit - - Use golden files for integration testing
ci-golden-files - - Generate platform-specific demos
ci-matrix-builds - - Cache VHS dependencies in CI
ci-caching
8. Advanced Patterns (LOW)
- - Use Source for reusable tape components
advanced-source-include - - Use Copy and Paste for complex input
advanced-clipboard - - Record live sessions then edit
advanced-recording-live - - Use server mode for remote access
advanced-server-mode
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
| File | Description |
|---|---|
| AGENTS.md | Complete compiled guide with all rules |
| references/_sections.md | Category definitions and ordering |
| assets/templates/_template.md | Template for new rules |
| metadata.json | Version and reference information |