Goose-skills orthogonal-vhs-terminal-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.
install
source · Clone the upstream repo
git clone https://github.com/gooseworks-ai/goose-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/gooseworks-ai/goose-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/capabilities/orthogonal-vhs-terminal-recordings" ~/.claude/skills/gooseworks-ai-goose-skills-orthogonal-vhs-terminal-recordings && rm -rf "$T"
manifest:
skills/capabilities/orthogonal-vhs-terminal-recordings/SKILL.mdsource content
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
- Soft purple/blue tones (recommended)Catppuccin Frappe
- Darker variantCatppuccin Mocha
- Purple/pink tonesDracula
- Blue tonesTokyo Night
- Cool blue/grayNord
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
| Command | Description |
|---|---|
| Type text (with realistic timing) |
| Press enter key |
| Pause for duration |
/ | Hide/show terminal during setup |
| Send interrupt signal |
| Set output file |
Timing Guidelines
- After typing command, before EnterSleep 500ms
- Short command outputSleep 2s
- Longer output or API responsesSleep 3-4s
- End of recording pauseSleep 1s
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
- Keep it short - 10-20 seconds max for attention
- Hide setup - Use
/Hide
for env vars and cd commandsShow - Realistic typing - VHS adds natural typing speed automatically
- Clear between sections - Use
+Type "clear"
if neededEnter - 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"