SLOPSHOPPER

spinner-quips

Funny spinner words plus a live tool-call counter

newspinnerguard
A shopper browsing a rack in a slop shop
Preview · a replayed session in a sandbox
claude · ~/work/app · spinner-quips
› fix the failing auth test and add an audit log call ⏺ Read(src/auth.ts) ⎿ Read 6 lines ⏺ Update(src/auth.ts) ⎿ Added 2 lines, removed 1 line ⏺ Bash(bun test) ⎿ 3 pass, 1 fail ● Done. refresh now rejects expired claims and logs an audit event. ✻ Worked for 42s · done 4:20 PM ✻ Turning it off and on again · tool calls: 9…… ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── › ? for shortcuts
README

Coding Tips: 3 Claude Code Mods (take them)

From the video "3 Claude Code Mods I Built in 5 Minutes (Take Them)".

ModWhat it does
spinner-quipsReplaces the spinner word with a joke ("Blaming the intern", "Googling the error"…) and counts tool calls
safety-netBlocks rm -rf, git push --force, git reset --hard and DROP TABLE, and shows a warning
session-hudA live HUD above the prompt: time, tool calls, files edited, context bar, cost, and a mood 😎 😅 🥵

Needs Claude Code v2.1.287 or newer (Desktop app v2.1.286+).

Install (inside Claude Code)

/plugin marketplace add ivtrade777/coding-tips-mods
/plugin install spinner-quips@coding-tips-mods
/plugin install safety-net@coding-tips-mods
/plugin install session-hud@coding-tips-mods
/reload-plugins

Install only the ones you want.

Or try all three for one session, without installing

git clone https://github.com/ivtrade777/coding-tips-mods.git
claude --plugin-dir ./coding-tips-mods

Make them yours

Each mod is one short file: <mod>/hooks/register.ts (or .tsx). Change the jokes in spinner-quips, add your own dangerous commands to safety-net, or new stats to session-hud, then run /reload-plugins.

Before you install any mod

Mods are not sandboxed: they run with your permissions. Read the code (each mod is one short file in hooks/) and check what it does:

claude plugin validate ./session-hud

Tests: claude plugin test ./safety-net

Not affiliated with or endorsed by Anthropic. MIT licence.

Source 1 files
hooks/register.ts 28 lines
1import type { Register } from 'claude-code'
2
3const QUIPS = [
4  'Blaming the intern',
5  'Googling the error',
6  'Pretending to understand regex',
7  'Turning it off and on again',
8  'Reading the docs (finally)',
9  'Asking the rubber duck',
10]
11
12let calls = 0
13
14export const register: Register = on => {
15  // Each time Claude uses a tool: count it and redraw
16  on('tool.call', ($, e, next) => {
17    calls += 1
18    $.ui.invalidate('ui.render')
19    return next(e)
20  })
21
22  // Each time the spinner is drawn: swap the word, add the count
23  on('ui.render', { component: 'Spinner' }, ($, e, next) => {
24    const word = QUIPS[calls % QUIPS.length]!
25    return next({ ...e, props: { ...e.props, word, suffix: ` · tool calls: ${calls}…` } })
26  })
27}
28