R2 Holo — Development skill for Claude Code
A holographic R2-D2 that reacts, live, to what a Claude Code session is doing.
How to install R2 Holo
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open tcsenpai/r2-holo and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What R2 Holo does
A holographic R2-D2 that reacts, live, to what a Claude Code session is doing.
Alternatives in Development
- Zoetrope — Watch a Claude Code session as a live flow graph, in your terminal or your browser 584 ★
- BioSkills — a set of SKILLS.md for doing bioinformatics with agents like claude code 523 ★
- Dario — A local OpenAI- and Anthropic-compatible proxy that brings your Claude Pro/Max subscription to Cursor, Cline 485 ★
README
R2 Holotable
A holographic R2-D2 that reacts, live, to what a Claude Code session is doing.
Claude Code writes a transcript of every session to disk. This reads those files as they grow and turns them into a room: the droid rolls to a workbench when a file is read, its dome lights flare when a tool fails, a smaller droid spawns for every subagent and fades out when it finishes, and when Claude asks you something the droid stops, turns, and holds the question up on a cone of light.
None of it is a metaphor for the work — it *is* the work, one event at a time. The point is a display you can leave running and understand at a glance from across the room: whether it is working, waiting on you, or stuck.
Needs [Bun](https://bun.sh), built against 1.3.14. Nothing to install: Three.js is vendored and there are no dependencies.
bun run server.ts # http://127.0.0.1:4242
PORT=8080 bun run server.ts
bun test # 71 tests
Watch it run
https://github.com/user-attachments/assets/e0df7448-a8a4-49da-b3ca-47c7202372d8
A live session: the droid working a station, subagents spawning and fading, the ring at the rim tracking the pace of it.
What it reads
The server tails the selected `.jsonl` (`fs.watch` plus a 1.2 s safety poll, because `fs.watch` occasionally falls asleep on macOS) and normalises every line into a minimal event:
{ t, kind: "tool"|"result"|"text"|"user"|"system"|"mode"|"title",
tool?, error?, sidechain?, agent?, atype?, model?, tokens? }
That is all the page receives. **Session content never leaves the disk**: no prompts, no tool output, no diffs. Only the shape of what happens.
`/api/stream` rejects any path outside `~/.claude/projects` with a 403.
Watching from another device
bun run lan # or: bun run server.ts --lan
The server prints the address other devices should use, picking the private LAN interface over any VPN or tunnel that also reports one:
listening on ht
Related Skills
Notch Pilot
A live companion for Claude Code that lives in your MacBook notch. Reacts to what Claude is doing, intercepts
Follow
Stream live bridge events from a running Atomic session (what it's doing right now)
Claude View
10 Claude sessions running. What are they doing? Live dashboard — monitor, cost tracking, search, sub-agent vi
Q Begin
Start a new investigation session. Read all state files to load context before doing anything.
Notchling
A native macOS notch widget that shows what every Claude Code session is doing — click a row to land in the te
Sereno
See what every coding-agent session on your machine is actually doing. One Python file, no dependencies.
Related Agents
Prose Walker
Executes workflow prose exactly as a live session would, against a disposable test world, and returns a transc
Protocol Parity
Cross-references the lockstep surfaces a protocol must touch (TUI ScreenId, admin route, live broker/session w
API Exploratory Tester
Performs spec-aware, contract-aware session-based exploratory testing of a live API — REST or GraphQL — given