daymade avatar

Cli Demo Generator

Turns VHS tape files into polished terminal GIFs for documentation and demos. The real value is in the self-bootstrapping pattern that hides setup commands and the base64 workaround for VHS parser limitations with special characters. You can go fully automated with Python scripts, use batch YAML configs, or write tape files manually when you need precise control over timing. Includes gifsicle integration for speeding up recordings without re-recording and frame extraction for verification. Most useful when you're tired of screen recordings that show your messy shell history or need repeatable demo GIFs that clean their own state between runs.

skills.sh installs
978
GitHub stars
1.5K
last updated
Aug 21, 2026

Install

$ npx -y skills add daymade/claude-code-skills --skill cli-demo-generator --agent claude-code

Installs into .claude/skills of the current project.

Files

CLI Demo Generator

Create professional animated CLI demos. Four approaches, from fully automated to pixel-precise manual control.

Quick Start

Simplest path — give commands, get GIF:

python3 ${CLAUDE_SKILL_DIR}/scripts/auto_generate_demo.py \
  -c "npm install my-package" \
  -c "npm run build" \
  -o demo.gif

Self-bootstrapping demo — for repeatable recordings that clean their own state:

python3 ${CLAUDE_SKILL_DIR}/scripts/auto_generate_demo.py \
  -c "npm install my-package" \
  -c "npm run build" \
  -o demo.gif \
  --bootstrap "npm uninstall my-package 2>/dev/null" \
  --speed 2

Critical: VHS Parser Limitations

VHS Type strings cannot contain $, \", or backticks. These cause parse errors:

# FAILS — VHS parser rejects special chars
Type "echo \"hello $USER\""
Type "claude() { command claude \"$@\"; }"

Workaround: base64 encode the command, decode at runtime:

# 1. Encode your complex command
echo 'claude() { command claude "$@" 2>&1 | grep -v "noise"; }' | base64
# Output: Y2xhdWRlKCkgey4uLn0K

Sponsors

Details

Repository
github.com/daymade/claude-code-skills
Categories
DevOps & CI/CD, Documentation, Automation & Workflows, Sales & Marketing, CLI & Terminal
First seen
Jun 3, 2026

More from daymade/claude-code-skills

All 53
1vibe-motion avatarremotion-3d-tickervibe-motion/skillsCreates infinite 3D vertical scrolling ticker animations in Remotion. Use when you need to build a parallax gallery, infinite image scroll, multi-column continu970skills.sh installs
2patternsdev avatarstatic-renderingpatternsdev/skillsTeaches static rendering (SSG) for build-time HTML generation. Use when your pages don't change per request and can be pre-rendered at build time for maximum ca965skills.sh installs
3orchestra-research avatarexperiment-tracking-swanlaborchestra-research/ai-research-skillsProvides guidance for experiment tracking with SwanLab. Use when you need open-source run tracking, local or self-hosted dashboards, and lightweight media loggi961skills.sh installs
4adobe avatarmigrationadobe/skillsMigrates legacy AEM (6.x, AMS, on-prem) to AEM as a Cloud Service using BPA CSV or cache, CAM/MCP target discovery, and a one-pattern-per-session workflow. Use 958skills.sh installs
5davila7 avatarxlsxdavila7/claude-code-templatesUse this skill any time a spreadsheet file is the primary input or output. This means any task where the user wants to: open, read, edit, or fix an existing .xl953skills.sh installs
6mohitmishra786 avatarllvmmohitmishra786/low-level-dev-skillsLLVM IR and pass pipeline skill. Use when working directly with LLVM Intermediate Representation (IR), running opt passes, generating IR with llc, inspecting or948skills.sh installs