By Hellblazer
Hook-driven framework for recording deterministic Claude Code sessions (tutorials, demos, screencasts, fixtures). Drives an isolated child claude under tmux + asciinema + agg, coordinates via lifecycle-hook sentinels (no TUI scraping), validates the cast, renders a GIF.
Record a Claude Code session from a JSON spec — drives an isolated child claude under tmux + asciinema, validates the cast, renders a GIF.
Interactively author a recording-rig spec JSON — asks the backend (CLI or macOS Desktop) first, then walks through agent command, surface, gates/checkpoints, companion pane, validation, and writes a valid spec file.
Diagnose a failed recording-rig run (CLI or desktop) — examines the cast or bridge transcript/.mov/bridge-log, sentinels, rendered hooks, and spec to identify the failure mode and propose a fix.
Check recording-rig prereqs (CLI + macOS desktop), or run an opt-in desktop setup subcommand (--install-bridge, --probe-surfaces, etc.).
Interactively author a recording-rig spec JSON for a new tutorial/demo/screencast. Use when the user says "write a recording spec", "I want to record X", "set up a recording for <skill>", or "/recording-rig:author". Asks the backend first (CLI or macOS Desktop), then walks the user through the agent command, surface, gates/checkpoints, companion pane, and validation, and writes a valid spec file.
Diagnose a failed recording-rig run (CLI or desktop backend). Use when the user reports a recording failed, the validator said FAILED, the rig hung, the cast/GIF looks wrong, the desktop model skipped its rig tools, or invokes `/recording-rig:diagnose`. Examines the cast (CLI) or bridge transcript + .mov + bridge log (desktop), sentinels under /tmp/${SESSION}.*, rendered hooks, and rig output to identify the failure mode and propose a fix.
Verify that recording-rig prereqs are installed and working, or run an opt-in macOS desktop setup subcommand. Use when the user asks "is recording-rig set up", "check my rig install", "/recording-rig:doctor", before a first-time recording, or to install/probe the desktop backend (bridge, profile, surfaces). Wraps bin/doctor.sh — CLI binary/version/login checks plus the macOS desktop advisories and the --install-*/--probe-surfaces/--verify-bridge subcommands.
Record a deterministic Claude Code session to an asciicast + GIF. Triggers on "record this tutorial", "make a gif of <skill>", "screencast this", "capture this flow", "run my recording spec", or `/recording-rig:record`. The rig spawns an isolated child claude session under tmux, coordinates via lifecycle-hook sentinels (no TUI scraping), validates the cast, renders a GIF. Requires a JSON spec (see the author-spec skill if you don't have one).
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
A reusable, language-agnostic framework for recording deterministic Claude Code sessions —
tutorials, demos, screencasts, regression fixtures, anything you want repeatable.
Hook-driven coordination, no TUI scraping. See docs/design.md for the rationale.


Agent runs
doctor.sh, listsexamples/, cats a spec. Spec:test-runs/tutorial-intro.json.
AskUserQuestion
Agent calls
AskUserQuestionwith['production', 'staging', 'dev']; rig sendsDown + Enterto pick option 2 (staging); agent confirmsDEPLOY_TARGET-K7Q=staging.must_not_containblocks the other two answers, so the gate-navigation mechanism is provable end-to-end. Spec:test-runs/tutorial-gated.json.

Agent uses Bash to emit
JOB_ID=…;PostToolUse[^Bash$]hook extracts it to a sentinel; companionnode observer.mjs(right pane) waits on the sentinel, readsJOB_IDfrom env, prints lifecycle ticks. Spec:test-runs/tutorial-twopane.json; observer:test-runs/observer.mjs.
agent.commands[] across turns
Three sequential prompts; rig deletes
turn-endbefore each paste so per-command idle detection works.must_contain_in_orderenforces strict reply ordering. Spec:test-runs/tutorial-multicmd.json.
This repo is also a Claude Code plugin. Install it once and the rig becomes available as skills and slash commands in any project:
/recording-rig:doctor verify prereqs
/recording-rig:author [out.json] interactively author a spec
/recording-rig:record path/spec.json run a recording
/recording-rig:diagnose <session> forensics on a failed run
The skills (record, author-spec, doctor, diagnose) also trigger on natural prose
like "make a gif of this skill" or "diagnose my failed rig run".
# 1. Verify prereqs
bin/doctor.sh
# 2. Write a spec
cp examples/single-pane.json my-recording.json
$EDITOR my-recording.json
# 3. Record
bin/record.sh my-recording.json
# Outputs:
# /tmp/<session>.cast (lossless asciinema cast)
# /tmp/<session>.gif (agg-rendered GIF; only if validation passes)
--settings file installs lifecycle hooks
(UserPromptSubmit, Stop, PreToolUse[AskUserQuestion], PostToolUse, SessionStart)
that drop sentinel files. The driver watches sentinels, not pane text.Stop hook touches a turn-end sentinel every turn.
Idle = mtime hasn't moved for N seconds. Works uniformly for single-turn and multi-turn flows.agent.commands[] runs commands in sequence; gates can target
specific commands via gates[].for_command.AskUserQuestion gates are handled by ordered gate decisions in
the spec. The driver navigates to option N via (N−1) Down keypresses then Enter, holding
for pre/post-Enter seconds for readability.--dangerously-skip-permissions legal accept;
per-workspace trust). Skip with SKIP_CONSENT_SWEEP=1. This is the only place the rig
does TUI screen-scrape, and it's outside the recorded window./exit (falling back to C-c + C-d) when work is
done so the tmux pane dies, asciinema returns, and the recording completes without manual
intervention. A backstop in record.sh also kills the session once the agent-done sentinel
has been present long enough.PostToolUse hook. One drives, the other observes.SKIP_VALIDATE=1).A tutorial is one JSON file. Fields:
{
"session": "my-tutorial", // [A-Za-z0-9._-]+; auto-generated if absent
npx claudepluginhub hellblazer/recording-rig --plugin recording-righal-9000 - Containerized Claude with MCP servers pre-installed
Injects Serena and Context7 MCP tool usage guidance into subagents via SubagentStart hook.
Locally-hosted Qwen 3.6 as a Claude Code coprocessor — delegate bulk or cheap work to long-lived supervised inference sessions over MCP. Backends include llama.cpp Metal on Apple Silicon and llama.cpp Vulkan on AMD Strix Halo.
Render a2ui v0.9 surfaces inline in Claude Code chat. Wraps payloads via palinex.wrap_as_mcp_ui_resource and returns them as MCP UI resources Claude Code renders as sandboxed iframes. Optional nexus integration substitutes chash references with chunk text at wrap time.
Comprehensive skill pack with 66 specialized skills for full-stack developers: 12 language experts (Python, TypeScript, Go, Rust, C++, Swift, Kotlin, C#, PHP, Java, SQL, JavaScript), 10 backend frameworks, 6 frontend/mobile, plus infrastructure, DevOps, security, and testing. Features progressive disclosure architecture for 50% faster loading.
Upstash Context7 MCP server for up-to-date documentation lookup. Pull version-specific documentation and code examples directly from source repositories into your LLM context.
Comprehensive startup business analysis with market sizing (TAM/SAM/SOM), financial modeling, team planning, and strategic research
v9.44.1 — Patch release for Gemini environment/version detection and qwen auth gating. Run /octo:setup.
Complete creative writing suite with 10 specialized agents covering the full writing process: research gathering, character development, story architecture, world-building, dialogue coaching, editing/review, outlining, content strategy, believability auditing, and prose style/voice analysis. Includes genre-specific guides, templates, and quality checklists.
Comprehensive .NET development skills for modern C#, ASP.NET, MAUI, Blazor, Aspire, EF Core, Native AOT, testing, security, performance optimization, CI/CD, and cloud-native applications