Dancing Clawd — Development skill for Claude Code
Claude Code hook + terminal renderer: your sessions dance in the terminal.
How to install Dancing Clawd
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open almightychang/dancing-clawd and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Dancing Clawd does
Claude Code hook + terminal renderer: your sessions dance in the terminal.
Alternatives in Development
- Contributing To Clawd Code — Thank you for your interest in contributing to Clawd Code 231 ★
- Mulmoterminal — Run multiple Claude Code and Codex sessions in parallel — a browser terminal grid that shows which agent needs 187 ★
- SafeClaw — to make running containerized Claude Code sessions easy 131 ★
README
dancing-clawd

A tiny toy that turns Claude Code hook events into dancing mascots in your terminal. Each session spawns one Claude that random-walks the screen, tinted by its current mood (idle / working / tool running / error / needs-you / done). Subagents spawn their own dancers, and speech bubbles float above the most recently active session.
Requirements
- Python 3 (standard library only — no pip install needed)
- Claude Code with a
~/.claude/settings.json - A terminal that supports 256-color ANSI and half-block glyphs (
▀,▄)
Install
git clone https://github.com/almightychang/dancing-clawd.git
cd dancing-clawd
./install.sh
The installer:
- Copies
hook.py,dance.py, andmascot_frames.pyinto~/.claude/dancing-claude/. - Backs up
~/.claude/settings.jsonassettings.json.bak.before any change. - Wires six Claude Code hooks (
UserPromptSubmit,PreToolUse,PostToolUse,Notification,Stop,SubagentStop) to runhook.py. Existing hook entries from other tools are preserved.
Run
Open a spare terminal and start the renderer:
python3 ~/.claude/dancing-claude/dance.py
Then use Claude Code as usual in another terminal. Mascots appear and react as hook events fire. Stop with `Ctrl-C` — the terminal state is restored on exit.
Uninstall
./install.sh --uninstall
Removes only the dancing-clawd hook entries from `settings.json` (other hooks are untouched) and creates a backup first. The installed files under `~/.claude/dancing-claude/` are left in place — delete them manually if you want them gone:
rm -rf ~/.claude/dancing-claude
How it works
hook.py— invoked by Claude Code on every hook event. Reads the event JSON from stdin, updates a per-session entry inside~/.claude/dancing-claude/state.json, and exits. Multiple concurrent sessions are serialized viaflockonstate.lock.dance.py— a standalone rende
Related Skills
Raw CLI
The agent harness you can fork. A working agent loop with compaction, sessions, approvals, a terminal REPL, a
Tkzmux
Native macOS session manager for Claude Code: one window, a terminal per session, status from Claude's own hoo
Clawd Conduit
Full-lifecycle wiring between Claude Code and the Clawd on Desk pet — all 15 hook events, with permission prom
Clawd Cardputer
Developer tamagotchi on M5Stack Cardputer ADV — reacts to your Claude Code activity via PostToolUse hook
Clawd Usage Winwidget
Claude usage limits in a tiny Windows widget + tray icon — with pixel Clawd who reacts to your Claude Code ses
Universal Pattern Space
Pattern Space: Where Minds Dance Together
Related Agents
Terminal
Terminal/PTY domain - multiplexed terminal sessions with xterm.js frontend and Rust PTY backend. Use proactive
App Tester
Builds and exercises Heron end-to-end on this machine — starts the dev app, starts and stops real claude CLI s
Claude Code Hook Agent
Plays agent-specific sounds for the 6 hooks that actually fire in agent sessions