Agent Skills: CLI Demo GIF Generator

Generate CLI demo GIFs using vhs (Charmbracelet). Use when creating terminal recordings for README files or documentation.

UncategorizedID: b-open-io/prompts/cli-demo-gif

Install this agent skill to your local

pnpm dlx add-skill https://github.com/b-open-io/prompts/tree/HEAD/skills/cli-demo-gif

Skill Files

Browse the full folder contents for cli-demo-gif.

Download Skill

Loading file tree…

skills/cli-demo-gif/SKILL.md

Skill Metadata

Name
cli-demo-gif
Description
>-

CLI Demo GIF Generator

Generate terminal demo GIFs using vhs. When asked to create a CLI demo GIF, produce a .tape file and render it.

Steps

1. Create tape file

Place tape files in docs/demo/ to keep the project root clean:

mkdir -p docs/demo

Write the tape file with appropriate settings for the project's CLI:

Output docs/demo/demo.gif

Set Shell "bash"
Set FontSize 16
Set Width 900
Set Height 500
Set Padding 20
Set Theme "Catppuccin Mocha"
Set TypingSpeed 50ms

Type "command --help"
Enter
Sleep 2s

2. For unpublished CLI packages

Use Hide/Show to configure aliases before the visible demo starts:

Hide
Type "alias mycli='bun run src/cli/index.ts'"
Enter
Sleep 500ms
Show

Type "mycli --help"
Enter
Sleep 2s

3. Render the GIF

vhs docs/demo/cli.tape

Tape Command Reference

| Command | Description | |---------|-------------| | Output <path> | Output file path (.gif, .mp4, .webm) | | Set Shell "bash" | Shell to use | | Set FontSize <n> | Font size | | Set Width <n> | Terminal width in pixels | | Set Height <n> | Terminal height in pixels | | Set Padding <n> | Padding around terminal | | Set Theme "<name>" | Color theme | | Set TypingSpeed <duration> | Delay between keystrokes | | Type "<text>" | Type text | | Enter | Press enter | | Sleep <duration> | Wait (e.g., 2s, 500ms) | | Hide | Stop recording | | Show | Resume recording | | Ctrl+C | Send interrupt |

Default Settings

Use these defaults unless the user specifies otherwise:

  • Theme: Catppuccin Mocha
  • TypingSpeed: 50ms
  • Width: 900, Height: 500
  • FontSize: 16
  • Output directory: docs/demo/