vhs
Create reproducible CLI demo recordings with Charmbracelet VHS. Use on 'vhs', 'tape', 'cli demo', 'terminal gif', 'terminal video'.
来源信息
- 仓库
- pypeaday/dotfiles
- 最近来源活动
- 2026年10月19日 18:14
- 检测到的 SKILL.md 语言
- 英语
- 星标
- 2
- Forks
- 0
安装方式
默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。
检查来源文件
决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。
正在显示 SKILL.md
SKILL.md
来源说明 · 只读预览- name
- vhs
- description
- Create reproducible CLI demo recordings with Charmbracelet VHS. Use on 'vhs', 'tape', 'cli demo', 'terminal gif', 'terminal video'.
# VHS Skill
Create polished CLI demos by writing `.tape` scripts for Charmbracelet VHS.
## When to Use
- Recording CLI demos for docs or marketing
- Reproducible terminal GIF/MP4/WebM renders
- CLI integration testing via ASCII output
## Prereqs (Read-Only Guidance)
- VHS requires `ttyd` and `ffmpeg` on PATH
- Fast local run: `vhs demo.tape`
- Docker run (no local deps):
```bash
docker run --rm -v $PWD:/vhs ghcr.io/charmbracelet/vhs demo.tape
```
## Tape Structure Rules
- `Require` and `Set` commands must appear before any non-setting command
- Use `Output` to define artifacts (`.gif`, `.mp4`, `.webm`, `.ascii`)
- Prefer deterministic outputs (no timestamps, no non-deterministic commands)
## Recommended Defaults
```elixir
Output demo.gif
Set Width 1200
Set Height 600
Set FontSize 34
Set TypingSpeed 80ms
Set CursorBlink false
```
## Demo Flow Template
```elixir
Output demo.gif
Set Width 1200
Set Height 600
Set FontSize 34
Set TypingSpeed 80ms
Set CursorBlink false
Require <your-cli>
Hide
Type "./your-cli --version"
Enter
Show
Type "./your-cli help"
Enter
Sleep 1s
Type "./your-cli demo"
Enter
Wait /Done/
Sleep 1s
```
## Core Commands to Use
- `Type`, `Enter`, `Sleep`, `Wait` for pacing
- `Hide`/`Show` for setup/cleanup not shown on screen
- `Require` to fail fast if dependencies are missing
- `Output` for multiple formats when needed
## Best Practices
- Use `Wait /regex/` for long-running commands instead of fixed sleeps
- Use `Hide` for build/setup, `Show` for the visible demo
- Avoid spinners or long logs that bloat GIFs
- Prefer short demos with clear success output
- Use `Output demo.ascii` for golden-file testing in CI
## Common Pitfalls
- `Set` commands placed after `Type` (ignored)
- Non-deterministic output (timestamps, random IDs)
- Missing `Require` for needed binaries
- Long-running commands without `Wait`
## Output Format
When asked to create a tape, respond with:
```
Tape: <path>
Outputs: <list>
Notes: <assumptions or prerequisites>
```
在 GitHub 查看