CtrlK
BlogDocsLog inGet started
Tessl Logo

terminal-gif-recordings

Create polished terminal GIF recordings using VHS (Video Hardware Software) by Charmbracelet. Use when asked to create terminal demos, CLI gifs, command-line recordings, or animated terminal screenshots for documentation, READMEs, or marketing.

71

Quality

87%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

VHS Terminal Recordings

Setup

Read your credentials from ~/.gooseworks/credentials.json:

export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])")
export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))")

If ~/.gooseworks/credentials.json does not exist, tell the user to run: npx gooseworks login

All endpoints use Bearer auth: -H "Authorization: Bearer $GOOSEWORKS_API_KEY"

Create professional terminal GIF/video recordings using VHS.

Quick Start

# Install VHS
brew install vhs

# Run a tape file
vhs demo.tape

Style Settings (Orthogonal Standard)

Use these settings for consistent, polished recordings:

Set Shell "zsh"
Set FontSize 18
Set Width 900
Set Height 500
Set Theme "Catppuccin Frappe"
Set Padding 20
Set Margin 40
Set MarginFill "gradient-bg.png"  # Optional: gradient background image
Set BorderRadius 10

Theme Options

  • Catppuccin Frappe - Soft purple/blue tones (recommended)
  • Catppuccin Mocha - Darker variant
  • Dracula - Purple/pink tones
  • Tokyo Night - Blue tones
  • Nord - Cool blue/gray

Syntax Highlighting Setup

Enable zsh syntax highlighting before recording:

Hide
Type "source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh"
Enter
Show

Install if needed: brew install zsh-syntax-highlighting

Tape File Structure

# Header comment describing the demo
Output demo.gif           # Output filename (.gif, .webm, .mp4)

# Style settings
Set Shell "zsh"
Set FontSize 18
Set Width 900
Set Height 500
Set Theme "Catppuccin Frappe"
Set Padding 20

# Hidden setup (env vars, cd, clear)
Hide
Type "export API_KEY=xxx"
Enter
Type "clear"
Enter
Show

# Demo commands
Type "echo 'Hello World'"
Sleep 500ms
Enter
Sleep 2s

# End with pause
Sleep 1s

Key Commands

CommandDescription
Type "text"Type text (with realistic timing)
EnterPress enter key
Sleep 500msPause for duration
Hide / ShowHide/show terminal during setup
Ctrl+CSend interrupt signal
Output file.gifSet output file

Timing Guidelines

  • Sleep 500ms - After typing command, before Enter
  • Sleep 2s - Short command output
  • Sleep 3-4s - Longer output or API responses
  • Sleep 1s - End of recording pause

Example: CLI Demo

# Orthogonal CLI Demo
Output cli-demo.gif

Set Shell "zsh"
Set FontSize 18
Set Width 900
Set Height 500
Set Theme "Catppuccin Frappe"
Set Padding 20
Set BorderRadius 10

# Setup
Hide
Type "source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh"
Enter

Enter
Type "clear"
Enter
Show

# Search
Type "orth search 'web scraping'"
Sleep 500ms
Enter
Sleep 2.5s

# Run command
Type "curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"olostep","path":"/v1/scrapes"}'
Sleep 500ms
Enter
Sleep 4s

Sleep 1s

Output Formats

Output demo.gif    # Animated GIF (default, best for docs)
Output demo.webm   # WebM video (smaller, web-friendly)
Output demo.mp4    # MP4 video (universal compatibility)

Tips

  1. Keep it short - 10-20 seconds max for attention
  2. Hide setup - Use Hide/Show for env vars and cd commands
  3. Realistic typing - VHS adds natural typing speed automatically
  4. Clear between sections - Use Type "clear" + Enter if needed
  5. Test first - Run commands manually before recording

Gradient Background (Optional)

Create gradient-bg.png for professional look:

  • Use 1200x800px image
  • Subtle gradient (dark purple to dark blue works well)
  • Set with Set MarginFill "gradient-bg.png"
Repository
gooseworks-ai/goose-skills
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.