A floating Mac window with your Claude chats as an org chart of dots (filled = working, hover for the title)

Mods for Claude Code (terminal and the desktop Code tab).
| Mod | What it does |
|---|---|
| usage-band | A band above the prompt: 5h and 7d limits as bars with time to reset, session cost with a mood emoji, total session tokens, and a pacing hint |
| chat-roster | A floating org-chart window for the sidebar group of the chat you're in: the orchestrator on top, the group's chats below, running subagents under their chat. Filled = working, hover a dot for its title, a flash runs along the lines when messages pass. Shown only while Claude is in front; opens when a chat starts |
| cube | /cube, /cube 2, /cube 4: random-state scrambles (the WCA method, via cubing.js) |
| handoff | /handoff [focus]: runs the project's checks, writes the dev log entry and HANDOFF.md update, commits (never pushes), and summarizes |
| streak | Your streak of days in a row using Claude Code in the status line (streak ๐ฅ 3 days); /streak adds your longest streak and total days |
| prompt-cleanup | Fixes typos in what you type before Claude reads it (Haiku; skips commands, code and long pastes) |
5h โโโโโโโ 52% (1h 30m) 7d โโโโโโโ 23% (3d 5h) $1.23 ๐ฉ 6.1M tokens ๐ on pace
Cost emoji: ๐ฉ $0โ$5 ยท ๐ >$5 ยท ๐ฅฑ >$10 ยท ๐ฎโ๐จ >$25 ยท ๐ซช >$50 ยท ๐ >$100 ยท ๐ค >$500 ยท ๐ >$1000. Pacing: ๐ spend freely (under an hour to reset, 70% or less used) ยท ๐ข slow down (15+ points ahead of the clock) ยท ๐ on pace ยท ๐ nearly out (90%+).
Needs: python3 (usage-band tokens, chat-roster, streak), Xcode command line tools for swiftc (chat-roster builds its window on first use, macOS only), node and npm (cube installs cubing.js on first use).
In a Claude Code terminal session, one line per mod you want:
/plugin install usage-band --marketplace bhargava-gumpula/claude-mods
/plugin install chat-roster --marketplace bhargava-gumpula/claude-mods
/plugin install cube --marketplace bhargava-gumpula/claude-mods
/plugin install handoff --marketplace bhargava-gumpula/claude-mods
/plugin install prompt-cleanup --marketplace bhargava-gumpula/claude-mods
/plugin install streak --marketplace bhargava-gumpula/claude-mods
Answer y to add the marketplace, then pick the user scope.
hooks/register.ts 22 lines1import type { EngineInterface, Register } from 'claude-code'
2
3// The org chart lives in its own floating Mac window (dashboard/OrgChart.app), built on
4// first use and started once: a window already running from any copy of the mod is kept.
5const openDashboard = async ($: EngineInterface) => {
6 const running = await $.process.run(['pgrep', '-f', 'OrgChart.app/Contents/MacOS/OrgChart'])
7 if (running.exitCode === 0) return
8 const dir = `${$.plugin.root}/dashboard`
9 if (!(await $.fs.exists(`${dir}/OrgChart.app/Contents/MacOS/OrgChart`))) {
10 await $.process.run(['sh', `${dir}/build.sh`], { timeoutMs: 180_000 })
11 }
12 await $.process.run(['open', '-g', `${dir}/OrgChart.app`])
13}
14
15export const register: Register = on => {
16 on('session.start', async ($, e, next) => {
17 const ran = await next(e)
18 await openDashboard($).catch(() => {})
19 return ran
20 })
21}
22