Generate terminal recordings using VHS tape files, produces GIF outputs.
Generates animated GIF recordings of terminal sessions from declarative VHS tape files.
/plugin marketplace add athola/claude-night-market/plugin install scry@claude-night-marketThis skill inherits all available tools. When active, it can use any tool Claude has access to.
modules/execution.mdmodules/tape-syntax.mdGenerate professional terminal recordings from VHS tape files.
VHS converts declarative tape files into animated GIFs of terminal sessions. Tape files define commands, timing, and terminal appearance.
- Locate and validate tape file
- Check VHS installation status
- Execute VHS recording
- Verify output GIF creation
modules/tape-syntax.md for VHS tape file directivesmodules/execution.md for recording workflow detailsOutput directive specifies GIF destinationwhich vhs && vhs --version
If not installed:
# Linux/WSL
go install github.com/charmbracelet/vhs@latest
# macOS
brew install charmbracelet/tap/vhs
# Also requires ttyd and ffmpeg
vhs <tape-file.tape>
VHS will:
If vhs is not found, verify that your Go bin directory is in your PATH (typically ~/go/bin). If the recording fails to start, ensure ttyd and ffmpeg are installed, as VHS depends on them for terminal emulation and video encoding. For "permission denied" errors when writing the GIF, check that the output directory exists and is writable.
Expert guidance for Next.js Cache Components and Partial Prerendering (PPR). **PROACTIVE ACTIVATION**: Use this skill automatically when working in Next.js projects that have `cacheComponents: true` in their next.config.ts/next.config.js. When this config is detected, proactively apply Cache Components patterns and best practices to all React Server Component implementations. **DETECTION**: At the start of a session in a Next.js project, check for `cacheComponents: true` in next.config. If enabled, this skill's patterns should guide all component authoring, data fetching, and caching decisions. **USE CASES**: Implementing 'use cache' directive, configuring cache lifetimes with cacheLife(), tagging cached data with cacheTag(), invalidating caches with updateTag()/revalidateTag(), optimizing static vs dynamic content boundaries, debugging cache issues, and reviewing Cache Component implementations.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.