ov-advanced/skills/record/SKILL.md
Record terminal sessions (asciinema) or desktop video (pixelflux/wf-recorder). MUST be invoked before any work involving: ov eval record commands, terminal recording, desktop video recording, or session capture.
npx skillsauth add overthinkos/overthink-plugins recordInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
ov eval record manages recording sessions inside running containers. It supports two modes:
Moved under
ov evalin 2026-04 — the top-levelov recordcommand was removed as a hard cutover. See/ov-build:evalfor the live-container verb family (cdp/wl/dbus/vnc/mcp/spice/libvirt/record).
.cast filesAll recording sessions are managed via tmux sessions with a record- prefix. This provides background execution, output monitoring, and clean start/stop lifecycle.
| Action | Command | Description |
|--------|---------|-------------|
| Start recording | ov eval record start <image> [-n NAME] [-m MODE] | Start a recording session |
| Stop recording | ov eval record stop <image> [-n NAME] [-o FILE] | Stop and optionally copy to host |
| List recordings | ov eval record list <image> | Show active recording sessions |
| Send command | ov eval record cmd <image> "command" [-n NAME] | Send command to recording terminal |
ov eval record start — Start Recordingov eval record start <image> [--name NAME] [--mode MODE] [--fps FPS] [--audio] [-i INSTANCE]
Flags:
-n, --name — Recording name (default: default). Multiple concurrent recordings supported-m, --mode — terminal (asciinema), desktop (video), or auto (auto-detect)--fps — Frames per second for desktop recording (default: 30)--audio — Include PulseAudio audio capture (desktop mode)Auto-detection order: pixelflux-record → wf-recorder → asciinema
Output files (inside container):
/tmp/ov-recordings/<name>.cast/tmp/ov-recordings/<name>.mp4ov eval record stop — Stop Recordingov eval record stop <image> [--name NAME] [--output FILE] [-i INSTANCE]
-o, --output copies the recording file from the container to the hostov eval record list — List Active Recordingsov eval record list <image> [-i INSTANCE]
Shows all active recording sessions with name, mode, and file path.
ov eval record cmd — Send Command to Recordingov eval record cmd <image> "command" [--name NAME] [-i INSTANCE]
Sends a command to the recording's tmux session. For terminal recordings, the command and its output become part of the .cast file. Convenience wrapper for ov tmux send <image> -s record-<name> "command" --enter. Sends a desktop notification when the command is dispatched (if a notification daemon like swaync is running).
| Tool | Layer | Desktop | Protocol |
|------|-------|---------|----------|
| asciinema | asciinema (or dev-tools) | N/A | Terminal capture |
| pixelflux-record | wl-record-pixelflux | selkies-desktop | selkies WebSocket capture bridge → H.264 → ffmpeg |
| wf-recorder | wf-recorder | sway-desktop | wlr-screencopy |
# Start recording
ov eval record start openclaw -n demo --mode terminal
# Run commands (each appears in the recording)
ov eval record cmd openclaw "echo 'Hello World'" -n demo
ov eval record cmd openclaw "ls -la" -n demo
ov eval record cmd openclaw "ov --help" -n demo
# Or attach interactively
ov tmux attach openclaw -s record-demo
# ... interact, Ctrl-b d to detach
# Stop and save
ov eval record stop openclaw -n demo -o demo.cast
# Play back locally
asciinema play demo.cast
# Start desktop video recording with audio
ov eval record start selkies-desktop -n walkthrough --mode desktop --audio
# Run CLI commands (visible in recording)
ov eval record cmd selkies-desktop "git status" -n walkthrough
ov eval record cmd selkies-desktop "docker ps" -n walkthrough
# Interact with browser
ov eval cdp open selkies-desktop "https://github.com"
ov eval wl click selkies-desktop 640 360
# Stop and save
ov eval record stop selkies-desktop -n walkthrough -o walkthrough.mp4
asciinema layer (or dev-tools)wl-record-pixelflux layer (included in selkies-desktop metalayer)wf-recorder layer (included in sway-desktop metalayer)tmux layer must be present (for session management)ov eval record cmd uses the shared sendTmuxCommand() helper (also used by ov tmux cmd)sendContainerNotification() on every ov eval record cmd dispatch (always-on, no --no-notify flag — recording context always benefits from notification)sendContainerNotification() → tries in-container ov eval dbus notify . → falls back to gdbus call → silently skips if neither available/ov-advanced:tmux — Underlying tmux session management (recording sessions use record- prefix). ov tmux cmd uses the same sendTmuxCommand helper/ov-coder:asciinema — Terminal recording layer/ov-selkies:wl-record-pixelflux — Pixelflux video recording layer/ov-selkies:wf-recorder — wf-recorder video recording layer/ov-selkies:selkies-desktop — Desktop metalayer with pixelflux recording/ov-selkies:sway-desktop — Desktop metalayer with wf-recorder/ov-foundation:dbus — D-Bus session bus (required for notification delivery)/ov-selkies:swaync — Notification daemon (displays the notifications)/ov-advanced:wl — Desktop automation (used alongside recording)/ov-advanced:wl-overlay — Fullscreen overlays (title cards, lower-thirds, fades — compose with recording workflow)/ov-advanced:cdp — Chrome automation (used alongside recording)MUST be invoked when the task involves:
ov eval record commandstools
OpenCharly CLI (charly) binary installed into container/VM images for in-container use. Use when working with charly binary deployment inside containers, native D-Bus support, or the full charly toolchain (charly binary + virtualization + gocryptfs + socat).
development
Operator CachyOS workstation profile — a kind:local template + target:local deploy that installs the full dev stack (30 candies) onto a CachyOS host via ShellExecutor. Lives in the overthinkos/cachyos submodule. MUST be invoked before editing or applying the charly-cachyos workstation profile.
tools
Fedora box with the full charly toolchain using shared candies. Rootless-first — runs as uid=1000 with passwordless sudo (no root, no cap_add: ALL). Same candy list as charly-arch. Includes NVIDIA GPU runtime. MUST be invoked before building, deploying, configuring, or troubleshooting the charly-fedora box.
tools
Arch Linux box with the full charly toolchain. Rootless-first — runs as uid=1000 with passwordless sudo (no root, no cap_add: ALL). Composes /charly-coder:charly-mcp so the box is reachable as an MCP gateway on port 18765. NVIDIA GPU runtime composed in. MUST be invoked before building, deploying, configuring, or troubleshooting the charly-arch box.