record
Record asciinema demonstrations of Claude executing a prompt in tmux. Use /record to create a recording of Claude working on any task.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Record asciinema demonstrations of Claude executing a prompt in tmux. Use /record to create a recording of Claude working on any task.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | record |
| description | Record asciinema demonstrations of Claude executing a prompt in tmux. Use /record to create a recording of Claude working on any task. |
| triggers | ["record","recording","asciinema","demo","capture"] |
| version | 1.0.0 |
Record Claude executing any task in a tmux session and save it as an asciinema .cast file.
Users simply use:
/record -p "What you want Claude to do" -o output.cast
The skill will record the entire interaction and save it as a playable asciinema recording.
This skill records Claude interacting with prompts in tmux. Perfect for:
/record -p "Your prompt here"
Records Claude executing the prompt with default dimensions (120×35).
Output: ~/.claude/plugins/claude-tmux/skills/record/recordings/recording-TIMESTAMP.cast
/record -p "Show all tmux panes" -o ~/my-demo.cast
Saves to custom location.
/record -p "Demonstrate split panes" -w 100 -h 30
Records with custom terminal size (100 columns × 30 rows).
/record -p "Complex task" -t 180
Wait up to 180 seconds for Claude response (default: 120).
/record -p "PROMPT" [OPTIONS]
Required:
-p, --prompt TEXT Prompt for Claude to execute
Optional:
-w, --width WIDTH Terminal width (default: 120)
-h, --height HEIGHT Terminal height (default: 35)
-o, --output FILE.cast Output file path
-t, --timeout SECONDS Response timeout (default: 120)
-i, --idle-time SECONDS Compression idle time (default: 2)
--help Show help
asciinema rec -c "tmux attach"/record -p "Use detect-session.sh to show current tmux context"
/record -p "Spawn htop in a split pane using spawn-pane.sh"
/record -p "Create a background window named 'server' with a Python HTTP server on port 8000"
/record -p "Show tmux panes" -o /tmp/demo.cast && \
asciinema upload /tmp/demo.cast
/record -p "Show detect-session.sh output" -o demo1.cast
/record -p "Show spawn-pane.sh with htop" -o demo2.cast
/record -p "Show spawn-window.sh with server" -o demo3.cast
asciinema play ~/.claude/plugins/claude-tmux/skills/record/recordings/recording-*.cast
asciinema upload ~/.claude/plugins/claude-tmux/skills/record/recordings/recording-*.cast
Creates a shareable link to your recording.
Requires agg: npm install -g agg
agg recording.cast recording.gif
Perfect for embedding in docs.
1. Parse prompt and options
2. Create unique tmux session with exact dimensions
3. Start Claude in session
4. Start asciinema recording from OUTSIDE (captures full terminal)
5. Send prompt to Claude
6. Wait for Claude response (poll for shell prompt return)
7. Exit Claude and shell gracefully
8. asciinema recording stops automatically
9. Save .cast file
Terminal dimensions are set at two levels:
# Tmux session: exact size
tmux new-session -x WIDTH -y HEIGHT
# Asciinema recording: matching size
asciinema rec --window-size WIDTHxHEIGHT
Both must match for consistent playback.
The skill detects when Claude finishes:
tmux send-keys$, ❯, #, etc.) indicates completion-w and -h match the dimensions you wantstty size-w 80 -h 24-t 180 (waits 180 seconds)claude --dangerously-skip-permissions -c "echo test"ls -ld ~/.claude/plugins/claude-tmux/skills/record/recordings/-o /tmp/test.casttmux list-sessionstmux kill-session -t claude-record-*Required (automatically checked):
tmux - Terminal multiplexerasciinema - Terminal recording (v3.0+)jq - JSON processingclaude - Claude CLI~/.claude/plugins/claude-tmux/skills/record/
├── SKILL.md # This documentation
├── skill.sh # Entry point for /record
├── scripts/
│ ├── record.sh # Main orchestrator
│ ├── common.sh # Reusable utilities
│ ├── claude-control.sh # Claude management
│ └── validate-deps.sh # Dependency validation
└── recordings/ # Output directory for .cast files
├── recording-20260111-143000.cast
├── recording-20260111-143030.cast
└── ...
rm ~/.claude/plugins/claude-tmux/skills/record/recordings/*-i 1 removes pauses shorter than 1 second#!/bin/bash
prompts=(
"Show current tmux session with detect-session.sh"
"Create a split pane with spawn-pane.sh"
"Start a background server with spawn-window.sh"
)
for i in "${!prompts[@]}"; do
/record -p "${prompts[$i]}" -o "demo-$i.cast"
sleep 2 # Brief pause between recordings
done
# Twitter video (100×28)
/record -p "Your prompt" -w 100 -h 28 -o twitter-demo.cast
# YouTube (160×40)
/record -p "Your prompt" -w 160 -h 40 -o youtube-demo.cast
# Mobile (80×24)
/record -p "Your prompt" -w 80 -h 24 -o mobile-demo.cast
# Override default dimensions
export CLAUDE_TMUX_RECORD_WIDTH=100
export CLAUDE_TMUX_RECORD_HEIGHT=30
# Then record will use those defaults
/record -p "Your prompt"
Skill Version: 1.0.0 Claude Tmux Plugin: Requires tmux plugin installed