SLOPSHOPPER

band-rule

Draws one dim line above the mod bands to separate them from Claude's output. List it before the other mods.

newband
★ 2v1.3.0no licenseupdated 2026-10-22Abdallah-Abdelazim/claude-code-mods/plugins/band-rule
A shopper browsing a rack in a slop shop
Preview · a replayed session in a sandbox
claude · ~/work/app · band-rule
› 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 ──────────────────────────────────────────────────────────────────────────────────────────────────── ⟨Claude Code's own drawing⟩ ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── › ? for shortcuts

Draws

Band
──────────────────────────────────────────────────────────────────────────────────────────────────── ⟨Claude Code's own drawing⟩
README

claude-code-mods

<img width="1096" height="808" alt="Screenshot 2026-10-19 at 8 25 29 PM" src="https://github.com/user-attachments/assets/b22cc708-5a70-4333-b3ba-79517a3b7603" />

Mods for Claude Code that add a band above the prompt, a side pane or a slash command. Each is its own plugin, so you can install only the ones you want.

The mods

PluginBandWhat it doesCommand
band-rulelineDraws a dim line above the bands to separate them from Claude's output. List it before the other mods (see below).none
cache-clockCACHEShows whether the prompt cache is still warm, the time left, % reused and the cold-rewrite cost, with a Compact button. Toasts shortly before the cache goes cold.`/cache-clock on \off \status`
usage-gaugeUSAGEPlan usage windows (5h, week, others) with reset times, the session cost and a pace warning. Toasts at 75% and 90%./usage-gauge (opens a pane), `on \off \warn <a> <b> \status`
usage-limitsfooterSession (5h) and week (7d) rate-limit bars in the prompt footer.none
auto-handoffCONTEXTWatches how full the chat is and saves a HANDOFF.md when it reaches a threshold, then offers to clear and resume.`/auto-handoff on \off \now \resume \threshold <n> \mode auto\ask \hide \show \status`
agent-watchAGENTSShows the main chat and helper agents with their models and tasks, plus the skills that ran this turn. Opens an Agents pane./agent-watch (opens the Agents pane), `on \off \clear \help`

Bands stack in the order their plugins appear in enabledPlugins in ~/.claude/settings.json, first on top. To reorder, move the lines and run /reload-plugins; claude plugin install adds new entries at the end. band-rule draws its line above the whole stack only when it is listed first. The author's order, top to bottom: band-rule, agent-watch, auto-handoff, cache-clock, usage-gauge, usage-limits. The last one draws in the footer, so its place doesn't matter. The Band column is the title each mod shows in its band.

Each band is one row. In a narrow terminal the end of the row is cut off with … instead of wrapping.

usage-gauge and usage-limits both show plan usage, so enable only one.

In auto mode, auto-handoff sends the handoff prompt as soon as the threshold is crossed, even while Claude is mid-task. The default ask mode only offers the button.

cache-clock has a cacheMinutes option (5 or 60, default 60). Other settings are set through each mod's commands and persist between sessions.

Install

Install a mod from the marketplace:

/plugin install cache-clock --marketplace Abdallah-Abdelazim/claude-code-mods

Run it once per mod, changing the plugin name. From a local clone, use --marketplace ~/path/to/claude-code-mods instead.

To try one without installing: claude --plugin-dir plugins/<name>.

Requirements

These mods use Claude Code's function-hook plugin API, which is in early access; they were written against Claude Code 2.1.303. Where an organization manages Claude Code, plugins you install don't run the session.compact, skill.prompt and prompt.compose hooks.

Develop

Each folder under plugins/ is a standalone mod: .claude-plugin/plugin.json, hooks/, tsconfig.json, a *.test.ts and, for a mod that keeps state, types/index.d.ts. See CLAUDE.md for the conventions and the release steps.

claude plugin validate plugins/<name>
claude plugin test plugins/<name>

The engine writes .claude-plugin/types/ inside a mod when it loads it; the folder is git-ignored.

Source 1 files
hooks/register.tsx 17 lines
1import type { Register } from 'claude-code'
2
3// Hooks nest in plugin order, first outermost: this draws a rule above the bands only when it is listed before the other mods.
4export const register: Register = on => {
5  on('ui.render', { component: 'AbovePrompt' }, async ($, e, next) => {
6    const below = await next(e)
7    const { Box, Text } = $.ui.resolve(e)
8
9    return (
10      <Box flexDirection="column">
11        <Text dimColor>{'─'.repeat(e.props.bodyColumns)}</Text>
12        {below}
13      </Box>
14    )
15  })
16}
17