install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/pproenca/dot-skills/vhs" ~/.claude/skills/comeonoliver-skillshub-vhs && rm -rf "$T"
manifest:
skills/pproenca/dot-skills/vhs/SKILL.mdsource content
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 commandsconfig-settings-order
- Declare output at file startconfig-output-first
- Explicitly set shell typeconfig-shell-explicit
- Set global TypingSpeed earlyconfig-typing-speed-global
- Set explicit terminal dimensionsconfig-dimensions-explicit
- Use comments to document tape structureconfig-comments-document
2. Dependency Management (CRITICAL)
- Use Require for dependency validationdeps-require-early
- Place Require before settingsdeps-require-order
- Require all external commandsdeps-require-all
- Verify system dependenciesdeps-system-requirements
3. Command Syntax (HIGH)
- Use correct Type command syntaxcmd-type-syntax
- Always follow Type with Entercmd-enter-explicit
- Use key repeat countscmd-key-repeat
- Use Ctrl combinations for terminal controlcmd-ctrl-combinations
- Use Hide/Show for sensitive operationscmd-hide-show
- Use Env for environment variablescmd-env-variables
- Use Screenshot for static capturescmd-screenshot
- Handle multiline commands properlycmd-multiline-type
4. Timing & Synchronization (HIGH)
- Add Sleep after commands for outputtiming-sleep-after-enter
- Use Wait for dynamic command completiontiming-wait-pattern
- Override TypingSpeed for emphasistiming-type-speed-override
- Use explicit time unitstiming-sleep-units
- End recordings with final Sleeptiming-final-sleep
- Add natural pauses between actionstiming-natural-pauses
- Set appropriate Wait timeoutstiming-wait-timeout
- Use PlaybackSpeed for final adjustmentstiming-playback-speed
5. Output Optimization (MEDIUM-HIGH)
- Choose output format based on use caseoutput-format-selection
- Optimize framerate for file sizeoutput-framerate
- Right-size terminal dimensionsoutput-dimensions-optimize
- Use LoopOffset for seamless loopsoutput-loop-offset
- Generate multiple output formatsoutput-multiple-formats
- Use relative paths for portabilityoutput-relative-paths
6. Visual Quality (MEDIUM)
- Choose readable font settingsvisual-font-readable
- Select appropriate themevisual-theme-selection
- Add window decorations for polishvisual-window-decoration
- Adjust letter and line spacingvisual-spacing
- Use padding and margins effectivelyvisual-padding-margin
- Ensure cursor visibilityvisual-cursor-visibility
7. CI/Automation (MEDIUM)
- Use official VHS GitHub Actionci-github-action
- Auto-commit generated assetsci-auto-commit
- Use golden files for integration testingci-golden-files
- Generate platform-specific demosci-matrix-builds
- Cache VHS dependencies in CIci-caching
8. Advanced Patterns (LOW)
- Use Source for reusable tape componentsadvanced-source-include
- Use Copy and Paste for complex inputadvanced-clipboard
- Record live sessions then editadvanced-recording-live
- Use server mode for remote accessadvanced-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 |