Claude Code · function-hook mods

Fifteen mods that change how Claude Code feels.

A mod is a Claude Code plugin made of function hooks. It can draw a live pane beside the transcript, a band above the prompt, or a toast — and it can block, rewrite or react to any tool call. Every one below was cloned and had its own test suite run here — 469 tests, 0 failures — and the videos are rendered straight from the mods' own drawing code. Four of the fifteen are also installed and enabled as plugins in the session that built this page; the rest are verified by their suites and by running their drawing code, and are marked accordingly.

Install in two lines

Needs Claude Code 2.1.287 or later. Run these inside a Claude Code session, then /reload-plugins or restart. Swap the name for any mod below.

1

Add the marketplace

/plugin marketplace add OneWave-AI/claude-code-mods
2

Install the mod

/plugin install burn-meter@claude-code-mods
3

Reload

/reload-plugins

Never add -y to a third-party install

claude plugin install takes a -y flag that auto-accepts a command the marketplace asks to run, without showing it to you. That prompt is the security boundary. Install without it and read whatever surfaces. If you must accept one, use --accept-command <sha256> with the hash the --json output reports.

Installed is not the same as loaded

Plugins load at session start only. An install mid-session does nothing until you restart. Check what is actually live with claude plugin list — a ✔ enabled next to the name means it will load next session.

All fifteen, tested here

burn-meter

Useful

A band above the prompt with a fire bar that grows with what the session has spent, your 5-hour and weekly plan-limit bars with reset times, and the total converted into burritos and McDoubles. /burn opens the full panel with per-turn cost, and an alert fires each time you cross a threshold.

Reads your session's own cost and rate-limit figures. No network, no processes, no files, no model calls.

10 tests OneWave-AI/claude-code-mods
/plugin marketplace add OneWave-AI/claude-code-mods
/plugin install burn-meter@claude-code-mods

10 pass / 0 fail

launch-codes

Useful installed

Hooks Bash before it runs and classifies the command: risky rm -rf, git push --force, git reset --hard, DROP and TRUNCATE through a live SQL client, supabase db reset, vercel --prod, chmod -R 777, and downloaded scripts piped into a shell. A match opens a red-alert pane with a one-time code — type it to arm, then press LAUNCH. Anything else is denied and Claude is told why.

A speed bump, not a security boundary. It checks Bash commands only, and will not stop an agent that writes a script and runs it another way. Keep your normal permissions on. /launch-codes test <command> shows the verdict without running anything.

64 tests OneWave-AI/claude-code-mods
/plugin marketplace add OneWave-AI/claude-code-mods
/plugin install launch-codes@claude-code-mods

64 pass / 0 fail

claude-skins

Useful

Redraws the whole transcript. Tool calls get line icons and a spinning ring while they run, edits become diff cards with numbered changed lines, shell output lands in a terminal card with stderr kept apart and long output folded. Seven skins, light and dark, plus a settings page and a band above the prompt with context and plan limits.

Your own agent can design a new skin with you. /skin switches parts.

47 tests hellosverre/claude-skins
/plugin marketplace add hellosverre/claude-skins
/plugin install skins@hellosverre-mods

47 pass / 0 fail

context-view

Useful installed

The context window as one row above the prompt, drawn the way Claude Code draws its own meters. Filled cells first, the window left in dim cells, the reserve auto-compact keeps at the end, then percent used, tokens over the window, and tokens left before auto-compact.

It follows /clear, resumes, branches, compaction and model switches, and re-reads the engine every two seconds so a change nothing announces still shows.

122 tests kongyo2/context-view
/plugin marketplace add kongyo2/context-view
/plugin install context-view@context-view

122 pass / 0 fail

agent-narrator

Useful

Every agent step in plain English, with a running estimate of time saved. Files read as a sentence ("Reading the pricing page to find the old numbers"), shell commands explained, test results and durations spelled out. Built for training sessions where the audience has never seen an agent work.

The default is rule-based and free. /narrate smart spends a model call per step, sending the tool name and short fields — never file contents.

5 tests OneWave-AI/claude-code-mods
/plugin marketplace add OneWave-AI/claude-code-mods
/plugin install agent-narrator@claude-code-mods

5 pass / 0 fail

agentpane

Agents installed

Keeps your subagents in a side pane beside the conversation: every agent a session runs, what it is doing right now, what it costs in tokens, and its whole conversation one click away. Running agents group under their parents, and finishing agents make one toast — by name when alone, counted when several land at once.

67 tests xuanji86/claude-agentpane
/plugin marketplace add xuanji86/claude-agentpane
/plugin install agentpane@claude-agentpane

67 pass / 0 fail

agent-flow

Agents installed

/flow opens a live tree of the session's subagents beside the transcript. Each row is one agent: status, type, name, elapsed time, what it is doing right now, its call count, and its tokens once it finished. Agents waiting on your approval are highlighted, as are tool calls over 30 seconds and agents silent for two minutes.

Where a pane cannot be drawn — a -p run, the VS Code extension — /flow prints the same tree as text.

68 tests Charlie0113-T/claude-agent-flow
/plugin marketplace add Charlie0113-T/claude-agent-flow
/plugin install agent-flow@claude-agent-flow

68 pass / 0 fail

swarm

Agents

/swarm opens mission control for subagents and agent teams. An orchestration tree nests every agent under whoever spawned it, with its type, model, live action and tool-call count. Below it: a timeline of how the agents overlap, arcs and a log for messages between teammates, and an activity feed. A status line keeps the live count, and a toast sums up the run when the swarm stands down.

7 tests OneWave-AI/claude-code-mods
/plugin marketplace add OneWave-AI/claude-code-mods
/plugin install swarm@claude-code-mods

7 pass / 0 fail

agent-race

Agents

/race start <race> [name] in two or more sessions puts them on the same track. The pane shows each session's tool calls, files touched and test runs live, and /race done crosses the finish line. The honest way to compare two models or two prompts on the same task.

Keeps its scores in ~/.claude/agent-race/. No network.

7 tests OneWave-AI/claude-code-mods
/plugin marketplace add OneWave-AI/claude-code-mods
/plugin install agent-race@claude-code-mods

7 pass / 0 fail

clawd-spinner

Fun

While Claude works, Clawd the crab acts out the spinner word above the spinner line. All 189 of Claude Code's spinner words get their own scene — Baking slides bread into an oven, Gitifying draws a commit graph — plus 1,890 lines of speech in a bubble that follows him around, Rocky-from-Project Hail Mary style.

Costs nothing: every scene is drawn locally from code. No model calls, no tokens, no network. /clawd-talk off shuts him up.

9 tests saiharsha03/clawd-spinner
/plugin marketplace add https://github.com/saiharsha03/clawd-spinner.git
/plugin install clawd-spinner@clawd-spinner

9 pass / 0 fail

boss-fight

Fun

When a test run fails, a pixel boss spawns with one HP per failing test. Every later run that fixes tests lands a hit. Zero failures is a KO with loot. It reads vitest, jest, pytest, mocha, bun, cargo and go output, and sums each crate or package separately.

14 tests OneWave-AI/claude-code-mods
/plugin marketplace add OneWave-AI/claude-code-mods
/plugin install boss-fight@claude-code-mods

14 pass / 0 fail

code-pet

Fun

A pixel pet in a pane. It eats when Claude calls tools, gets sick when they fail, panics when a destructive command shows up, falls asleep when the session goes idle, and evolves from egg to crowned as you ship. Two days unfed and it is starving, hurt and sad.

/pet rename <name>, /pet snack, /pet demo.

12 tests OneWave-AI/claude-code-mods
/plugin marketplace add OneWave-AI/claude-code-mods
/plugin install code-pet@claude-code-mods

12 pass / 0 fail

session-wrapped

Fun

/wrapped plays an animated stat reveal — session length, tool calls, MVP tool, red-to-green test runs, longest turn, cost — then writes a 1200px PNG card to your Desktop. Week and month totals come from your local transcripts.

Runs python3 to read its own transcripts. Nothing leaves the machine.

14 tests OneWave-AI/claude-code-mods
/plugin marketplace add OneWave-AI/claude-code-mods
/plugin install session-wrapped@claude-code-mods

14 pass / 0 fail

inner-monologue

Fun

While the pane is open, a model call every so often turns the recent prompts and tool calls into one dry line, typed out live. Harmless, and weirdly useful for noticing when the agent is flailing.

Sends a summary of recent tool calls and the first 120 characters of each prompt to your own Claude model, and only while the pane is open.

8 tests OneWave-AI/claude-code-mods
/plugin marketplace add OneWave-AI/claude-code-mods
/plugin install inner-monologue@claude-code-mods

8 pass / 0 fail

sportscaster

Fun

Play-by-play commentary on the session, spoken aloud with generated crowd audio — cheers when tests pass, groans on fouls. /caster booth opens the booth pane.

Loud, and you have been warned. Sends a summary of recent tool calls to your own Claude model.

15 tests OneWave-AI/claude-code-mods
/plugin marketplace add OneWave-AI/claude-code-mods
/plugin install sportscaster@claude-code-mods

15 pass / 0 fail

Video: four of them running

Not screen recordings. These frames are rendered by calling each mod's own drawing code — frame() from clawd-spinner, arena() and step() from boss-fight, fireCells() from burn-meter, petFrame() from code-pet — then encoded with ffmpeg. What you see is what the mod puts on screen.

clawd-spinner — Clawd acts out Baking, Beaming and Gitifying, each word with its own scene, with his speech bubble typing itself out beside him.
boss-fight — a vitest run fails with 7 tests, spawning a 7 HP boss. Later runs land hits as failures drop 7 → 5 → 6 → 3 → 1, then a KO at zero.
burn-meter — the fire bar filling as a session spends its way from nothing to nine dollars, flames growing taller as the heat rises. This is the band that sits above your prompt.
code-pet — one critter working through its moods: idle, eating, happy, level up, sick, panic, asleep. Each mood is its own sprite and caption.

How these were tested

Each mod was cloned, its suite run on this machine with claude plugin test, and the raw output kept. Every report below is the unedited test run. 469 tests, 0 failures.

Two different kinds of proof on this page

Suite-verified (all fifteen): the mod's own tests were run against this engine version and the output is published above. That exercises the logic and the drawing code, and it is what the videos call directly. Installed and running (four): context-view, agentpane, agent-flow and launch-codes are also enabled as plugins in the session that built this page, so they are proven to load and draw in a live session too. The other eleven are not installed here — plugins load at session start, so installing them was a separate step this page does not claim.

ModCommandPassFailRaw output
context-viewclaude plugin test .1220context-view-tests.txt
agent-flowclaude plugin test .680agent-flow-tests.txt
agentpaneclaude plugin test .670agentpane-tests.txt
launch-codesclaude plugin test .640launch-codes-tests.txt
claude-skinsclaude plugin test .470claude-skins-tests.txt
sportscasterclaude plugin test .150sportscaster-tests.txt
boss-fightclaude plugin test .140boss-fight-tests.txt
session-wrappedclaude plugin test .140session-wrapped-tests.txt
code-petclaude plugin test .120code-pet-tests.txt
burn-meterclaude plugin test .100burn-meter-tests.txt
clawd-spinnerclaude plugin test .90clawd-spinner-tests.txt
inner-monologueclaude plugin test .80inner-monologue-tests.txt
swarmclaude plugin test .70swarm-tests.txt
agent-raceclaude plugin test .70agent-race-tests.txt
agent-narratorclaude plugin test .50agent-narrator-tests.txt
Total4690

One mod in the same collection did not make the cut

inbox-alerts fails 2 of its 8 tests against this engine version. It calls prompt.submit from a command.run hook, which the engine rejects because it would wait on the very turn the hook is holding. It is left off this page rather than shown as working.

Read this before you install any mod

A mod runs inside your session

These are not sandboxed. A mod can read what the model reads, see every tool call, run processes, and reach the network. Treat one like a dependency you are choosing to trust, not like a theme.

Validation is not a safety check

The community catalogue of 1,018 mods runs claude plugin validate on each, which reads the source without running it. It reports what a mod is capable of, not what it intends, and it does not vouch for runtime behaviour.

Draw only — no network, no processes, no model calls

  • burn-meter
  • launch-codes
  • boss-fight
  • code-pet
  • clawd-spinner
  • swarm

Read-only, or writes only its own scores

  • context-view, agentpane, agent-flow — read session state and draw it
  • claude-skins — draws, and stores your skin preferences
  • agent-race — reads and writes ~/.claude/agent-race/

Runs a process, or calls your model

  • session-wrapped — runs python3 over your local transcripts, writes one PNG to your Desktop
  • inner-monologue, sportscaster — send a summary of recent tool calls to the same Claude model your session already uses
  • agent-narrator — only with /narrate smart: tool name and short fields, never file contents

Keep secrets out of commands

The mods that call a model send tool names, file paths and short command text. If you inline a token or password in a shell command, that goes with it. Keep secrets in environment variables. None of these fifteen makes its own network request, and none phones home.