
vhs
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.
- Installs
- 40
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/connorads/dotfiles --skill vhs- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads vhs automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
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 | config- |
| 2 | Dependency Management | CRITICAL | deps- |
| 3 | Command Syntax | HIGH | cmd- |
| 4 | Timing & Synchronization | HIGH | timing- |
| 5 | Output Optimization | MEDIUM-HIGH | output- |
| 6 | Visual Quality | MEDIUM | visual- |
| 7 | CI/Automation | MEDIUM | ci- |
| 8 | Advanced Patterns | LOW | advanced- |
Quick Reference
1. Configuration Structure (CRITICAL)
config-settings-order- Place all settings before commandsconfig-output-first- Declare output at file startconfig-shell-explicit- Explicitly set shell typeconfig-typing-speed-global- Set global TypingSpeed earlyconfig-dimensions-explicit- Set explicit terminal dimensionsconfig-comments-document- Use comments to document tape structure
2. Dependency Management (CRITICAL)
deps-require-early- Use Require for dependency validationdeps-require-order- Place Require before settingsdeps-require-all- Require all external commandsdeps-system-requirements- Verify system dependencies
3. Command Syntax (HIGH)
cmd-type-syntax- Use correct Type command syntaxcmd-enter-explicit- Always follow Type with Entercmd-key-repeat- Use key repeat countscmd-ctrl-combinations- Use Ctrl combinations for terminal controlcmd-hide-show- Use Hide/Show for sensitive operationscmd-env-variables- Use Env for environment variablescmd-screenshot- Use Screenshot for static capturescmd-multiline-type- Handle multiline commands properly
4. Timing & Synchronization (HIGH)
timing-sleep-after-enter- Add Sleep after commands for outputtiming-wait-pattern- Use Wait for dynamic command completiontiming-type-speed-override- Override TypingSpeed for emphasistiming-sleep-units- Use explicit time unitstiming-final-sleep- End recordings with final Sleeptiming-natural-pauses- Add natural pauses between actionstiming-wait-timeout- Set appropriate Wait timeoutstiming-playback-speed- Use PlaybackSpeed for final adjustments
5. Output Optimization (MEDIUM-HIGH)
output-format-selection- Choose output format based on use caseoutput-framerate- Optimize framerate for file sizeoutput-dimensions-optimize- Right-size terminal dimensionsoutput-loop-offset- Use LoopOffset for seamless loopsoutput-multiple-formats- Generate multiple output formatsoutput-relative-paths- Use relative paths for portability
6. Visual Quality (MEDIUM)
visual-font-readable- Choose readable font settingsvisual-theme-selection- Select appropriate themevisual-window-decoration- Add window decorations for polishvisual-spacing- Adjust letter and line spacingvisual-padding-margin- Use padding and margins effectivelyvisual-cursor-visibility- Ensure cursor visibility
7. CI/Automation (MEDIUM)
ci-github-action- Use official VHS GitHub Actionci-auto-commit- Auto-commit generated assetsci-golden-files- Use golden files for integration testingci-matrix-builds- Generate platform-specific demosci-caching- Cache VHS dependencies in CI
8. Advanced Patterns (LOW)
advanced-source-include- Use Source for reusable tape componentsadvanced-clipboard- Use Copy and Paste for complex inputadvanced-recording-live- Record live sessions then editadvanced-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
| 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 |
FAQ
What does the vhs skill do?
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.
How do I install vhs?
Run npx skills add https://github.com/connorads/dotfiles --skill vhs in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/vhs/ (personal) or .claude/skills/vhs/ (project).
Which AI agents can use vhs?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is vhs safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains vhs?
It is published by connorads in connorads/dotfiles. It has 40 recorded installs.
More from connorads/dotfiles
web-animation-design
connorads/dotfiles
Design and implement web animations that feel natural and purposeful. Use this skill proactively whenever the user asks questions about animations, motion, easing, timing, duration, springs, transitions, or animation performance. This includes questions about how to animate specific UI elements, which easing to use, animation best practices, or accessibility considerations for motion. Triggers on: easing, ease-out, ease-in, ease-in-out, cubic-bezier, bounce, spring physics, keyframes, transform, opacity, fade, slide, scale, hover effects, microinteractions, Framer Motion, React Spring, GSAP, CSS transitions, entrance/exit animations, page transitions, stagger, will-change, GPU acceleration, prefers-reduced-motion, modal/dropdown/tooltip/popover/drawer animations, gesture animations, drag interactions, button press feel, feels janky, make it smooth.
firecrawl
connorads/dotfiles
Search, scrape, and interact with the web via the Firecrawl CLI. Use this skill whenever the user wants to search the web, find articles, research a topic, look something up online, scrape a webpage, grab content from a URL, get data from a website, crawl documentation, download a site, or interact with pages that need clicks or logins. Also use when they say "fetch this page", "pull the content from", "get the page at https://", or reference external websites. This provides real-time web search with full page content and interact capabilities — beyond what Claude can do natively with built-in tools. Do NOT trigger for local file operations, git commands, deployments, or code editing tasks.
dependency-updater
connorads/dotfiles
Smart dependency management for any language. Auto-detects project type, applies safe updates automatically, prompts for major versions, diagnoses and fixes dependency issues.
payload-cms
connorads/dotfiles
Use when working with Payload CMS projects (payload.config.ts, collections, fields, hooks, access control, Payload API). Triggers on tasks involving: collection definitions, field configurations, hooks, access control, database queries, custom endpoints, authentication, file uploads, drafts/versions, live preview, or plugin development. Also use when debugging validation errors, security issues, relationship queries, transactions, or hook behavior.
hetzner-server
connorads/dotfiles
Create and manage Hetzner Cloud servers. Use when creating VPS/cloud servers, managing Hetzner infrastructure, or setting up dev/remote servers. Requires hcloud CLI.
homebrew-cask-authoring
connorads/dotfiles
Open the skill to read its SKILL.md instructions.
Popular docs & writing skills
grill-with-docs
mattpocock/skills
A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.
lark-markdown
open.feishu.cn
飞书 Markdown:查看、创建、上传、编辑和比较飞书中的原生 Markdown 文件。当用户要操作飞书 Markdown 文件,或比较其远端版本及本地草稿时使用。纯本地 Markdown 文件操作不触发本 skill。不负责将 Markdown 导入为飞书在线文档,也不负责文件搜索、权限、评论、移动、删除等云空间管理操作。
writing-beats
mattpocock/skills
Writing, exploit; assemble raw material into a journey of beats, grounding each term before a beat leans on it.
writing-shape
mattpocock/skills
Writing, exploit: shape raw material into an article, paragraph by paragraph.
writing-fragments
mattpocock/skills
Writing, explore: mine raw fragments, no structure yet.
writing-for-agents
mattpocock/skills
Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.