clawd-actor

skill
Guvenlik Denetimi
Uyari
Health Gecti
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Community trust — 15 GitHub stars
Code Uyari
  • network request — Outbound network request in hooks/register.tsx
Permissions Gecti
  • Permissions — No dangerous permissions requested

Bu listing icin henuz AI raporu yok.

SUMMARY

Claude Code mod: Clawd acts out what Claude is doing, above the prompt

README.md

clawd-actor

A Claude Code mod: while Claude works, Clawd walks onto a little stage above the prompt and
acts out what is going on — the spinner's -ing word (Sautéing, Pondering, Herding…) —
then puts on a show of 31 scenes, a new one every 15 seconds, with little Clawds along for the ride.

Clawd watching a baby Clawd hatch, dancing under a disco ball with a little pink Clawd, walking with two little ones in a row, and cooking at a pot that stays put

Four scenes at the real frame rate, about 15 s in all (a real turn changes scene every 15 s). Every frame is the mod's own output, rendered by tools/.

What it does

  • Acts out the spinner word. 31 scenes, matched by word stem, so Flambéing cooks and
    Dilly-dallying strolls. A word it does not know falls back to what the turn is doing
    (typing for tool use, talking while responding, thinking otherwise).
  • Acts out the running tool when one is already running as a turn opens; it picks the
    opening scene instead of the word: Bash types, Read/Grep/Glob think, Edit/Write sketch, Agent herds sheep,
    Web* checks the weather, TodoWrite/Skill juggles, MCP tools cast spells, anything else is
    hammered at the forge.
  • Changes scene every 15 seconds on long turns, whatever tools run, in an order shuffled per
    session that picks up where the last turn stopped, never the same scene twice in a row. A scene
    is picked when its act begins and holds for the whole act; nothing cuts it short.
  • Wanders the stage. When all it carries is a thought bubble, notes or sparks, Clawd strolls
    left and right, swinging arms and legs, hopping at each turn and landing with a squash. By a pot,
    an oven, an anvil or a plant it stays put and works; the stage follows the terminal width (up to
    60 columns). At the blackboard the board stays put and Clawd steps back to admire its work. By the
    campfire it sits still with a purple friend, and only the fire and their eyes move. Under the
    disco ball it dances in place while the floor flashes.
  • Brings little friends. Small Clawds in blue, yellow, green and pink tag along: one copies
    its idle hop a beat late, two dance backup, one dances under the disco ball, two walk in a row
    behind it (and lead the way back), two sit by the campfire when the stage is wide enough, and
    one hatches from the egg, stands in its shell and hops out to say hello.
  • Has a face. Happy ^ ^ eyes, blinks, glances around, and sways so its far side falls into
    shadow, after the official Clawd animation; on the move it looks where it is going.
  • Leaves when the turn ends, and draws nothing while idle (the frame timer only redraws
    during a turn).
Scene Spinner words (some of them)
think Pondering, Musing, Clauding, Noodling, Ruminating
chalk Deciphering, Elucidating, Philosophising, Deliberating, Reasoning
cook / bake / brew Sautéing, Simmering, Whisking / Baking, Kneading / Brewing, Percolating
walk / run / moonwalk Moseying, Wandering / Scampering, Galloping / Moonwalking
herd Herding, Wrangling, Mustering
spin Spinning, Churning, Reticulating, Combobulating
magic / levitate Conjuring, Manifesting, Transmuting / Levitating, Hyperspacing
hatch / grow Hatching, Incubating / Sprouting, Germinating
forge / compute Forging, Crafting, Creating / Computing, Crunching, Synthesizing
dance / disco Vibing, Jitterbugging, Jamming / Boogieing, Grooving — under a spinning mirror ball
juggle / honk Juggling / Honking, Booping
sketch / weather / thunder Sketching, Doodling / Misting, Billowing / Thundering
dig / flow Burrowing, Spelunking / Flowing, Undulating
kick / skate / campfire Kicking, Dribbling / Skating, Gliding / Kindling, Smoldering — no built-in word matches these yet, so they mostly turn up in the rotation

Install

Requires a Claude Code build with function-hook mods (claude plugin validate knows hooks.json
modules). Developed and tested on Claude Code 2.1.296.

From this repository as a marketplace:

/plugin marketplace add BrianHuang813/clawd-actor
/plugin install clawd-actor@clawd-actor
/reload-plugins

Or straight from a clone, for one session:

git clone https://github.com/BrianHuang813/clawd-actor
claude --plugin-dir ./clawd-actor

Update

When a newer version is out, a notice says so a couple of seconds after Claude Code starts: the
mod compares its own version with the one on main once a session (one small request to GitHub;
nothing is shown when offline or up to date).

Run /clawd-actor:update, or just ask Claude to update clawd-actor. Either way Claude refreshes
this marketplace and updates the plugin with Claude Code's own plugin manager, tells you the
version it went from and to, and /reload-plugins loads it. By hand, the same is:

claude plugin marketplace update clawd-actor
claude plugin update clawd-actor@clawd-actor

A clone run with --plugin-dir updates with git pull.

Plays well with other band mods

The stage is drawn in the AbovePrompt band. The hook always calls next(e) and stacks what the
mods beneath it draw under the stage, so other band mods keep showing. A band mod that answers
without calling next(e) hides everything beneath it — if Clawd never shows up, look for one.

How it works

  • ui.render on Spinner only observes: it remembers the word and mode and lets the engine draw
    the spinner as usual.
  • tool.call notes the tool in flight and forgets it when the call returns.
  • One timer, started in session.start, advances a frame counter in $.state every 140 ms while a
    turn runs; the band reads it, which subscribes it to redraws. A timer started inside a
    turn.start hook does not outlive that dispatch, which is why it lives in session.start.
  • Whether to draw at all follows the band's own isWorking prop.
  • hooks/scenes.ts is pure: a 4-row grid of cells, a scene per name, sceneAt() choosing an
    act's scene, hold() keeping it for the whole act, and frameRows() turning the grid into
    coloured runs.
  • The update notice: session.start sets a one-shot timer that, two seconds later, reads the
    version in the installed plugin.json, fetches the one on main, and toasts when main's is
    newer. skills/update/SKILL.md is the /clawd-actor:update skill that runs the update.

Develop

claude plugin validate .
claude plugin test .

The tests check that every scene keeps the stage size at 30, 40 and 60 columns and moves Clawd
about only in the scenes without set pieces (the rest are checked to stay put), that no prop is ever
drawn over Clawd's face, that a turn opens on the running tool or the spinner word and then rotates through every
other scene whatever tools run, picking up where the last turn stopped, that a scene holds for its whole act,
that the timer animates Clawd during a turn and lets go after it, and that the update notice shows only
when main carries a newer version.

Block characters and symbols are drawn one cell wide; a terminal font that draws some of them
wider may shift a frame.

To regenerate assets/demo.gif after changing a scene (Node 22+ and Python with Pillow):

node tools/frames.ts > frames.json      # the frames, straight from hooks/scenes.ts
python tools/render.py frames.json assets/demo.gif

tools/render.py uses DejaVu Sans Mono and draws block elements as exact rectangles; edit the
font path at its top for your system.

Releasing: bump version in .claude-plugin/plugin.json with every change pushed to main.
claude plugin update goes by that version, so a push without a bump never reaches anyone.

Notes

Clawd is Claude Code's mascot; the sprite follows the one on Claude Code's welcome screen. This is
a fan-made mod, not affiliated with or endorsed by Anthropic.

Yorumlar (0)

Sonuc bulunamadi