Agent skill
vhs
Creates terminal screenshots and GIFs using VHS tape files. Use when automating terminal recordings, capturing TUI screenshots, or generating demo GIFs.
Install this agent skill to your Project
npx add-skill https://github.com/knoopx/pi/tree/main/agent/skills/vhs
SKILL.md
VHS
Terminal recorder from Charm that creates GIFs/PNGs from scripted interactions.
Run
nix run nixpkgs#vhs -- <file>.tape
Tape File Syntax
Output output.gif # or .png, .mp4, .webm
Set Shell "bash"
Set FontSize 14
Set Width 1200
Set Height 600
Set Theme "Catppuccin Mocha"
Hide # Hide commands from output
Type "echo hello"
Enter
Sleep 1s
Show # Show commands again
Screenshot output.png # Capture current frame
Commands
| Command | Description |
|---|---|
Type "text" |
Type text |
Enter, Tab, Escape, Space |
Press key |
Ctrl+x, Alt+x |
Key combo |
Up, Down, Left, Right |
Arrow keys |
Sleep 1s |
Wait (ms, s) |
Screenshot file.png |
Capture frame |
Hide / Show |
Toggle visibility |
Settings
| Setting | Example |
|---|---|
Set Shell "bash" |
Shell to use |
Set FontSize 14 |
Font size |
Set Width 1200 |
Terminal width |
Set Height 600 |
Terminal height |
Set Theme "Catppuccin Mocha" |
Color theme |
Set Padding 20 |
Window padding |
Set WindowBar Colorful |
Window decorations |
Example: TUI Screenshot
Output screenshots/demo.png
Set Shell "bash"
Set FontSize 14
Set Width 1400
Set Height 800
Set Theme "Catppuccin Mocha"
Hide
Type "cd /path/to/project && my-tui-app"
Enter
Sleep 2s
Show
Ctrl+p
Sleep 1s
Screenshot screenshots/demo.png
Escape
Type "q"
Enter
List Themes
nix run nixpkgs#vhs -- themes
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
conventional-commits
Writes and reviews Conventional Commits commit messages (v1.0.0) to support semantic versioning and automated changelogs. Use when drafting git commit messages, PR titles, release notes, or when enforcing a conventional commit format (type(scope): subject, BREAKING CHANGE, footers, revert).
nix-flakes
Creates reproducible builds, manages flake inputs, defines devShells, and builds packages with flake.nix. Use when initializing Nix projects, locking dependencies, or running nix build/develop commands.
skill-authoring
Writes effective pi skills with proper structure, concise content, and progressive disclosure. Use when creating new skills, improving existing skills, or reviewing skill quality.
gtkx
Build GTK4 desktop applications with GTKX React framework. Use when creating React components that render as native GTK widgets, working with GTK4/Libadwaita UI, handling signals, virtual lists, menus, or building Linux desktop UIs.
nu-shell
Processes structured data through pipelines, filters tables, transforms JSON/CSV/YAML, and defines custom commands. Use when scripting with typed parameters or working with tabular data.
nix
Runs packages temporarily, creates isolated shell environments, and evaluates Nix expressions. Use when executing tools without installing, debugging derivations, or working with nixpkgs.
Didn't find tool you were looking for?