Skip to main content 首页 创作者 seaworld008 commonly-used-high-value-skills cli-demo-generator
cli-demo-generator This skill should be used when users want to create animated CLI demos, terminal recordings, or command-line demonstration GIFs. It supports both manual tape file creation and automated demo generation from command descriptions. Use when users mention creating demos, recording terminal sessions, or generating animated GIFs of CLI workflows.
跳到安装 Skills Marketplace 发现并探索由社区构建的 Agent Skills
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/seaworld008/Commonly-used-high-value-skills --skill cli-demo-generator命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
下载 Zip 下载中... Design production-grade multi-agent orchestration systems. Covers five core patterns (sequential pipeline, parallel fan-out/fan-in, hierarchical delegation, event-driven, consensus), platform-specific implementations, handoff protocols, state management, error recovery, context window budgeting, and cost optimization.
name cli-demo-generator description This skill should be used when users want to create animated CLI demos, terminal recordings, or command-line demonstration GIFs. It supports both manual tape file creation and automated demo generation from command descriptions. Use when users mention creating demos, recording terminal sessions, or generating animated GIFs of CLI workflows. zh_description 用于CLI、演示、生成,支持开发、调试、评审和交付。 version 1.0.0 author seaworld008 source in-house source_url tags ["cli", "demo", "development", "generator"] created_at 2026-03-04 updated_at 2026-03-20 quality 5 complexity intermediate
CLI Demo Generator
Generate professional animated CLI demos with ease. This skill supports both automated generation from command descriptions and manual control for custom demos.
When to Use This Skill
Trigger this skill when users request:
"Create a demo showing how to install my package"
"Generate a CLI demo of these commands"
"Make an animated GIF of my terminal workflow"
"Record a terminal session and convert to GIF"
"Batch generate demos from this config"
"Create an interactive typing demo"
Core Capabilities
1. Automated Demo Generation (Recommended)
Use the auto_generate_demo.py script for quick, automated demo creation. This is the easiest and most common approach.
Basic Usage:
scripts/auto_generate_demo.py \
-c "npm install my-package" \
-c "npm run build" \
-o demo.gif
With Options:
scripts/auto_generate_demo.py \
-c "command1" \
-c "command2" \
-o output.gif \
--title "Installation Demo" \
--theme "Dracula" \
--width 1400 \
--height 700
Script Parameters:
-c, --command: Command to include (can be specified multiple times)
-o, --output: Output GIF file path (required)
--title: Demo title (optional, shown at start)
--theme: VHS theme (default: Dracula)
--font-size: Font size (default: 16)
--width: Terminal width (default: 1400)
--height: Terminal height (default: 700)
--no-execute: Generate tape file only, don't execute VHS
Smart Features:
Automatic timing based on command complexity
Optimized sleep durations (1-3s depending on operation)
Proper spacing between commands
Professional defaults
2. Batch Demo Generation
Use batch_generate.py for creating multiple demos from a configuration file.
Configuration File (YAML):
demos:
- name: "Install Demo"
output: "install.gif"
title: "Installation"
theme: "Dracula"
commands:
- "npm install my-package"
- "npm run build"
- name: "Usage Demo"
output: "usage.gif"
commands:
- "my-package --help"
- "my-package run"
scripts/batch_generate.py config.yaml --output-dir ./demos
When to Use Batch Generation:
Creating a suite of related demos
Documenting multiple features
Generating demos for tutorials or documentation
Maintaining consistent demo series
3. Interactive Recording Use record_interactive.sh for recording live terminal sessions.
scripts/record_interactive.sh output.gif \
--theme "Dracula" \
--width 1400
Script starts asciinema recording
Type commands naturally in your terminal
Press Ctrl+D when finished
Script auto-converts to GIF via VHS
When to Use Interactive Recording:
Demonstrating complex workflows
Showing real command output
Capturing live interactions
Recording debugging sessions
4. Manual Tape File Creation For maximum control, create VHS tape files manually using templates.
assets/templates/basic.tape - Simple command demo
assets/templates/interactive.tape - Typing simulation
Copy template: cp assets/templates/basic.tape my-demo.tape
Edit commands and timing
Generate GIF: vhs < my-demo.tape
Consult references/vhs_syntax.md for complete VHS syntax reference.
Workflow Guidance
For Simple Demos (1-3 commands) Use automated generation for quick results:
scripts/auto_generate_demo.py \
-c "echo 'Hello World'" \
-c "ls -la" \
-o hello-demo.gif \
--title "Hello Demo"
For Multiple Related Demos Create a batch configuration file and use batch generation:
Create demos-config.yaml with all demo definitions
Run: scripts/batch_generate.py demos-config.yaml --output-dir ./output
All demos generate automatically with consistent settings
For Interactive/Complex Workflows Use interactive recording to capture real behavior:
scripts/record_interactive.sh my-workflow.gif
For Custom Timing/Layout Create manual tape file with precise control:
Start with template or generate base tape with --no-execute
Edit timing, add comments, customize layout
Generate: vhs < custom-demo.tape
Best Practices Refer to references/best_practices.md for comprehensive guidelines. Key recommendations:
Quick commands (ls, pwd): 1s sleep
Standard commands (grep, cat): 2s sleep
Heavy operations (install, build): 3s+ sleep
Standard: 1400x700 (recommended)
Compact: 1200x600
Presentations: 1800x900
Documentation: Nord, GitHub Dark
Code demos: Dracula, Monokai
Presentations: High-contrast themes
Target: 15-30 seconds
Maximum: 60 seconds
Create series for complex topics
Troubleshooting
VHS Not Installed
brew install vhs
go install github.com/charmbracelet/vhs@latest
Asciinema Not Installed
brew install asciinema
sudo apt install asciinema
Demo File Too Large
Reduce duration (shorter sleep times)
Use smaller dimensions (1200x600)
Consider MP4 format: Output demo.mp4
Split into multiple shorter demos
Output Not Readable
Increase font size: --font-size 18
Use wider terminal: --width 1600
Choose high-contrast theme: --theme "Dracula"
Test on target display device
Examples
Example 1: Quick Install Demo User request: "Create a demo showing npm install"
scripts/auto_generate_demo.py \
-c "npm install my-package" \
-o install-demo.gif \
--title "Package Installation"
Example 2: Multi-Step Tutorial User request: "Create a demo showing project setup with git clone, install, and run"
scripts/auto_generate_demo.py \
-c "git clone https://github.com/user/repo.git" \
-c "cd repo" \
-c "npm install" \
-c "npm start" \
-o setup-demo.gif \
--title "Project Setup" \
--theme "Nord"
Example 3: Batch Generation User request: "Generate demos for all my CLI tool features"
Create features-demos.yaml:
demos:
- name: "Help Command"
output: "help.gif"
commands: ["my-tool --help" ]
- name: "Init Command"
output: "init.gif"
commands: ["my-tool init" , "ls -la" ]
- name: "Run Command"
output: "run.gif"
commands: ["my-tool run --verbose" ]
scripts/batch_generate.py features-demos.yaml --output-dir ./demos
Example 4: Interactive Session User request: "Record me using my CLI tool interactively"
scripts/record_interactive.sh my-session.gif --theme "Tokyo Night"
Bundled Resources
scripts/
auto_generate_demo.py - Automated demo generation from command lists
batch_generate.py - Generate multiple demos from YAML/JSON config
record_interactive.sh - Record and convert interactive terminal sessions
references/
vhs_syntax.md - Complete VHS tape file syntax reference
best_practices.md - Demo creation guidelines and best practices
assets/
templates/basic.tape - Basic command demo template
templates/interactive.tape - Interactive typing demo template
examples/batch-config.yaml - Example batch configuration file
Dependencies
asciinema (for interactive recording)
PyYAML (for batch YAML configs): pip install pyyaml
Output Formats VHS supports multiple output formats:
Output demo.gif # GIF (default, best for documentation)
Output demo.mp4 # MP4 (better compression for long demos)
Output demo.webm # WebM (smaller file size)
Choose based on use case:
GIF : Documentation, README files, easy embedding
MP4 : Longer demos, better quality, smaller size
WebM : Web-optimized, smallest file size
Summary This skill provides three main approaches:
Automated (auto_generate_demo.py) - Quick, easy, smart defaults
Batch (batch_generate.py) - Multiple demos, consistent settings
Interactive (record_interactive.sh) - Live recording, real output
Choose the approach that best fits the user's needs. For most cases, automated generation is the fastest and most convenient option.