agentCLAWHUBUnverified

vhs-recording

Generates terminal recordings using VHS tape scripts and produces GIF outputs Skill: vhs-recording Owner: athola Summary: Generates terminal recordings using VHS tape scripts and produces GIF outputs Tags: latest:1.9.19 Version history: v1.9.19 | 2026-08-26T13:23:01.870Z | user Release v1.9.19 v1.9.17 | 2026-07-30T05:42:50.861Z | user Release v1.9.17 v1.9.16 | 2026-07-14T19:59:40.011Z | user Release v1.9.16 v1.9.14 | 2026-06-30T18:07:05.693Z | user Release v1.9.14 v1.9.13 | 2026-06-27T16:24:55

OpenClaw

Rank

62

Safety

84

Downloads

1.6k

Updated

Oct 10, 2026

Version

1.9.19

Source

CLAWHUB

About

What it does, and when to use it.

Capability contract not published. No trust telemetry is available yet. 1.6K downloads reported by the source. Last updated 10/10/2026.

Avoid when

  • Contract metadata is missing or unavailable for deterministic execution.

Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing

Public facts

Every fact links back to the source it came from.

Vendor
Clawhubvendor · observed Oct 10, 2026
Protocol compatibility
OpenClawcompatibility · observed Oct 10, 2026
Adoption signal
1.6K downloadsadoption · observed Oct 10, 2026
Latest release
1.9.19release · observed Aug 26, 2026
Handshake status
UNKNOWNsecurity

Install and run

Setup complexity: low.

clawhub skill install s17emme0e2m3cpf7k2jvp3a84984b8z9:nm-scry-vhs-recording
  1. Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.
  2. Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.

Contract: missing

curl -s "https://www.xpersona.co/api/v1/agents/clawhub-athola-nm-scry-vhs-recording/snapshot"

Documentation

CLAWHUB

105,983 characters of source documentation, loaded on request.

Extracted files

5 files captured from the source.

SKILL.md

---
name: vhs-recording
description: Generates terminal recordings using VHS tape scripts and produces GIF outputs
version: 1.9.8
triggers:
  - vhs
  - terminal
  - recording
  - gif
  - demo
  - tutorial
  - creating demo GIFs or documenting CLI workflows for tutorials
metadata: {"openclaw": {"homepage": "https://github.com/athola/claude-night-market/tree/master/plugins/scry", "emoji": "\ud83e\udd9e"}}
source: claude-night-market
source_plugin: scry
---

> **Night Market Skill** — ported from [claude-night-market/scry](https://github.com/athola/claude-night-market/tree/master/plugins/scry). For the full experience with agents, hooks, and commands, install the Claude Code plugin.


# VHS Recording Skill

Generate professional terminal recordings from VHS tape files.


## When To Use

- Recording terminal sessions with VHS tape scripts
- Creating terminal demo recordings for documentation

## When NOT To Use

- Browser-based workflows - use scry:browser-recording instead
- Non-terminal demos or GUI applications

## Overview

VHS converts declarative tape files into animated GIFs of terminal sessions. Tape files define commands, timing, and terminal appearance.

## Required TodoWrite Items

```
- Locate and validate tape file
- Check VHS installation status
- Execute VHS recording
- Verify output GIF creation
```

## Module Reference

- See `modules/tape-syntax.md` for VHS tape file directives
- See `modules/execution.md` for recording workflow details

## Workflow

### Phase 1: Validate Tape File

1. Confirm tape file exists at specified path
2. Read tape file contents
3. Verify required directives:
   - `Output` directive specifies GIF destination
   - At least one action command (Type, Enter, etc.)

### Phase 2: Check VHS Installation

```bash
which vhs && vhs --version
```

If not installed:
```bash
# Linux/WSL
go install github.com/charmbracelet/vhs@latest

# macOS
brew install charmbracelet/tap/vhs

# Also requires ttyd and ffmpeg
```

### Phase 3: Execute Recording

```bash
vhs <tape-file.tape>
```

VHS will:
1. Parse tape file directives
2. Launch virtual terminal (ttyd)
3. Execute commands with timing
4. Capture frames
5. Encode to GIF using ffmpeg

### Phase 4: Verify Output

1. Check GIF file exists at Output path
2. Verify file size is non-zero
3. Report success with output location

## Exit Criteria

- GIF file created at specified Output path
- File size indicates successful recording (typically >50KB)
- No error messages from VHS execution
## Troubleshooting

### Common Issues

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.

_meta.json

{
  "ownerId": "kn7d107jg9jv602h9ytsegydq184a42s",
  "slug": "nm-scry-vhs-recording",
  "version": "1.9.19",
  "publishedAt": 1787750581870
}

modules/execution.md

# VHS Execution Guide

## Pre-flight Checks

### VHS Installation

```bash
# Check if installed
which vhs

# Check version
vhs --version
```

### Dependencies

VHS requires:
- **ttyd**: Terminal emulator for web
- **ffmpeg**: Video/image encoding

```bash
# Verify dependencies
which ttyd ffmpeg
```

### Installation

```bash
# Go (recommended)
go install github.com/charmbracelet/vhs@latest

# macOS
brew install charmbracelet/tap/vhs

# Arch Linux
yay -S vhs

# Nix
nix-env -iA nixpkgs.vhs
```

### Tape File Validation

Check tape file before execution:

```bash
# Verify file exists
test -f tape-file.tape && echo "Found" || echo "Missing"

# Check for Output directive
rg -q "^Output" tape-file.tape && echo "Has output" || echo "No output directive"
# fallback: grep -q "^Output" tape-file.tape

# Validate syntax (dry run)
vhs validate tape-file.tape
```

## Environment Setup

### Terminal Environment

VHS creates an isolated terminal. Set environment variables in the tape:

```tape
Set Env "HOME" "/home/user"
Set Env "PATH" "/usr/local/bin:/usr/bin:/bin"
Set Env "TERM" "xterm-256color"
```

### Working Directory

VHS runs from the directory containing the tape file. For different directories:

```tape
Hide
Type "cd /path/to/project"
Enter
Sleep 500ms
Show
```

## Running VHS

### Basic Execution

```bash
vhs tape-file.tape
```

### With Options

```bash
# Publish to vhs.charm.sh (public)
vhs tape-file.tape --publish

# Output to specific location
vhs tape-file.tape -o custom-output.gif
```

### Batch Recording

```bash
# Record all tape files
for tape in *.tape; do
  vhs "$tape"
done
```

## Error Handling

### Common Issues

**ttyd not found**
```bash
# Install ttyd
go install github.com/aspect-build/aspect-cli/pkg/ttyd@latest
# Or via package manager
```

**ffmpeg errors**
```bash
# validate ffmpeg is installed with required codecs
ffmpeg -version
```

**Permission denied**
```bash
# Check write permissions for output directory
ls -la "$(dirname output.gif)"
```

**Empty output**
- Verify commands produce visible output
- Increase Sleep times after commands
- Check terminal dimensions fit content

### Debug Mode

```bash
# Verbose output
VHS_DEBUG=1 vhs tape-file.tape
```

## WSL2 Considerations

### Graphics Support

VHS in WSL2 may require:
- WSLg enabled (Windows 11+)
- X server for older Windows 10

### Path Handling

Use Linux-style paths in tape files:
```tape
# Correct
Output /home/user/output.gif

# Avoid Windows paths
# Output C:\Users\...
```

### Performance

WSL2 disk I/O to Windows filesystem is slow. Keep tapes and outputs on Linux filesystem:

```bash
# Good: Linux filesystem
/home/user/recordings/

# Slow: Windows mount
/mnt/c/Users/...
```

### Font Availability

Install fonts in WSL2:
```bash
sudo apt install fonts-jetbrains-mono
fc-cache -fv
```

## Output Verification

After recording:

```bash
# Check file exists and has content
ls -la output.gif

# Verify file type
file output.gif

# Check dimensions (requires ImageMagick)
id

modules/tape-syntax.md

# VHS Tape Syntax Reference

## Metadata Comments

Custom metadata annotations for documentation integration:

```tape
# @title: Command Demo
# @description: Demonstrates the CLI workflow
# @step: 1
# @docs-brief: Quick overview for documentation
# @book-detail: Extended explanation for book chapters
```

## Output Directive

Specifies the output file path (required):

```tape
Output demo.gif
```

Supported formats: `.gif`, `.mp4`, `.webm`

## Set Directives

Configure terminal appearance and behavior:

```tape
# Typography
Set FontSize 14
Set FontFamily "JetBrains Mono"

# Dimensions
Set Width 1200
Set Height 600

# Appearance
Set Theme "Dracula"
Set Padding 20
Set Margin 10
Set MarginFill "#674EFF"
Set BorderRadius 8

# Timing
Set TypingSpeed 50ms
Set Framerate 60

# Environment
Set Env "TERM" "xterm-256color"
Set Env "PS1" "$ "

# Window
Set Shell "bash"
Set WindowBar Colorful
Set WindowBarSize 40
```

## Action Commands

### Type

Types text into the terminal:

```tape
Type "echo 'Hello World'"
Type@50ms "slower typing"
```

### Enter

Sends Enter key (execute command):

```tape
Enter
```

### Sleep

Pause for duration:

```tape
Sleep 500ms
Sleep 2s
```

### Key Combinations

```tape
Ctrl+C
Ctrl+D
Ctrl+L
Escape
Tab
Backspace
Up
Down
Left
Right
Space
```

### Screenshot

Capture a still frame:

```tape
Screenshot output.png
```

### Hide/Show

Control visibility of actions:

```tape
Hide
Type "secret setup commands"
Enter
Show
```

## Best Practices

### Echo vs Commands

**NEVER use `echo` to simulate or replace real command output.** Echo should only be used for:

- Printing explanatory messages or headers
- Simple text output demonstrations
- Comments that need to appear in the terminal

**ALWAYS prefer actual commands** that demonstrate functionality:

```tape
# BAD: Simulating output with echo
Type "echo 'tool-a, tool-b, tool-c'"
Enter

# GOOD: Using the actual command
Type "my-cli --list-tools"
Enter
```

If a command doesn't exist to show what you need, consider:
1. Adding a flag or subcommand to the CLI being demonstrated
2. Using the actual data source (file, API, etc.)
3. Rethinking what the demo should show

**Rationale**: Tutorials should demonstrate real functionality. Echoing data teaches users nothing about the actual tool and may become stale as the tool evolves.

### MCP Tool Demonstrations

When demonstrating MCP (Model Context Protocol) functionality, show how tools are used within the host environment (e.g., Claude Code) rather than calling CLI equivalents:

```tape
# POOR: Using CLI instead of MCP
Type "skrills metrics"

# BETTER: Explain MCP tool usage
Type "# In Claude Code, ask: 'Show me skill statistics'"
Type "# Claude calls the skill-metrics MCP tool automatically"
```

## Advanced Features

### Split Panes

Create multi-pane layouts:

```tape
Split
Type@left "echo 'Left pane'"
Enter@left
Type@right "echo 'Right pane'"
Enter@right
```

### Source

Include other tape files:

```tape
Source common-setup.tape
```

### R

skill-card.md

## Description:

Generates terminal recordings using VHS tape scripts and produces GIF outputs.

This skill is ready for commercial/non-commercial use.

## Publisher:

[athola](https://clawhub.ai/user/athola)

### License/Terms of Use:

MIT-0

## Use Case:

Developers and documentation authors use this skill to validate VHS tape files, run terminal recording workflows, and produce GIF demos for CLI documentation and tutorials.

### Deployment Geography for Use:

Global

## Known Risks and Mitigations:

Risk: VHS tape files can execute terminal commands and include other Source files.

Mitigation: Review each tape and included Source file before running it, and avoid untrusted tapes.

Risk: Terminal recordings can expose secrets, environment values, or sensitive command output.

Mitigation: Use disposable demo projects where practical and sanitize terminal output before sharing recordings.

Risk: Using the publish option can make recordings public.

Mitigation: Use --publish only for recordings that are intended to be publicly accessible.

Risk: Mutable install examples can change the installed tool behavior over time.

Mitigation: Review the toolchain before use and prefer pinned dependency versions for repeatable production workflows.

## Reference(s):

- [ClawHub skill page](https://clawhub.ai/athola/skills/nm-scry-vhs-recording)
- [Project homepage](https://github.com/athola/claude-night-market/tree/master/plugins/scry)
- [VHS execution guide](modules/execution.md)
- [VHS tape syntax reference](modules/tape-syntax.md)

## Skill Output:

**Output Type(s):** [shell commands, guidance, files]

**Output Format:** [Markdown guidance with bash and tape code blocks]

**Output Parameters:** [1D]

**Other Properties Related to Output:** [Produces or verifies GIF outputs from VHS tape execution when the required local tools are installed.]

## Skill Version(s):

1.9.19 (source: server release evidence; artifact frontmatter says 1.9.8)

## Ethical Considerations:

Users should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.
Github ReposUpdated 15h agoRank 70

AionUi

Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!

MCPOPENCLAW
Github ReposUpdated 6mo agoRank 70

activepieces

AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents

OPENCLAW
Github ReposUpdated 6mo agoRank 70

cherry-studio

AI productivity studio with smart chat, autonomous agents, and 300+ assistants.

MCPOPENCLAW
Github ReposUpdated 7mo agoRank 70

CopilotKit

The Frontend for Agents & Generative UI. React + Angular

OPENCLAW

Machine-readable data

The same record, as JSON, for agents and crawlers.

{
  "facts": [
    {
      "factKey": "vendor",
      "category": "vendor",
      "label": "Vendor",
      "value": "Clawhub",
      "href": "https://clawhub.ai/athola/skills/nm-scry-vhs-recording",
      "sourceUrl": "https://clawhub.ai/athola/skills/nm-scry-vhs-recording",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-10T05:50:51.303Z",
      "isPublic": true
    },
    {
      "factKey": "protocols",
      "category": "compatibility",
      "label": "Protocol compatibility",
      "value": "OpenClaw",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-athola-nm-scry-vhs-recording/contract",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-athola-nm-scry-vhs-recording/contract",
      "sourceType": "contract",
      "confidence": "medium",
      "observedAt": "2026-10-10T05:50:51.303Z",
      "isPublic": true
    },
    {
      "factKey": "traction",
      "category": "adoption",
      "label": "Adoption signal",
      "value": "1.6K downloads",
      "href": "https://clawhub.ai/athola/nm-scry-vhs-recording",
      "sourceUrl": "https://clawhub.ai/athola/nm-scry-vhs-recording",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-10T05:50:51.303Z",
      "isPublic": true
    },
    {
      "factKey": "latest_release",
      "category": "release",
      "label": "Latest release",
      "value": "1.9.19",
      "href": "https://clawhub.ai/athola/nm-scry-vhs-recording",
      "sourceUrl": "https://clawhub.ai/athola/nm-scry-vhs-recording",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-08-26T13:23:01.870Z",
      "isPublic": true
    },
    {
      "factKey": "handshake_status",
      "category": "security",
      "label": "Handshake status",
      "value": "UNKNOWN",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-athola-nm-scry-vhs-recording/trust",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-athola-nm-scry-vhs-recording/trust",
      "sourceType": "trust",
      "confidence": "medium",
      "observedAt": null,
      "isPublic": true
    }
  ],
  "events": [
    {
      "eventType": "release",
      "title": "Release 1.9.19",
      "description": "Release v1.9.19",
      "href": "https://clawhub.ai/athola/nm-scry-vhs-recording",
      "sourceUrl": "https://clawhub.ai/athola/nm-scry-vhs-recording",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-08-26T13:23:01.870Z",
      "isPublic": true
    }
  ]
}

Record generated Oct 10, 2026.

Sponsored

Ads related to vhs-recording and adjacent AI workflows.