Skip to content

Repository files navigation

claude-code-mods: mods that draw inside Claude Code

Mods for Claude Code that add panes, live lines and guards to the terminal you already work in.
Install one, or all of them.

Tested on Claude Code 2.1.288 MIT license

Panes beside the chat  Lines in the chat  Guards  Install

claude plugin marketplace add arasovic/claude-code-mods
claude plugin install session-meter@claude-code-mods

Panes beside the chat

Panes dock on the right of the session. Open them with /ctx, /changes, /timeline and /show-me; from 144 columns, session-meter opens on its own and show-me opens when an answer has a diagram.

The session-meter pane with context, limits, tools and requests

See what fills your context and how fast your limits drain.

Context by category, the 5-hour and 7-day windows with their pace, the last 30 tool calls and model requests, each request with its cache hit rate. When limits or context run high, the model gets one short note.

Every file this session touched, in one list.

Lines added and removed, which agent edited each file, and how long ago. Below it, the git working tree, so edits made outside the session stand out.

The change-ledger pane listing edited files with line counts, above the git working tree
The turn-timeline pane with a timeline, time breakdown and slowest steps

Where did this turn's time go?

The current turn as a timeline: one lane for the main loop and one per subagent, the split between model, tools and idle, and the three slowest steps.

Diagrams as pictures, not as code. Each mermaid diagram in an answer is drawn in a pane once the turn ends. /show-me <question> asks for an answer in diagrams.

The show-me pane drawing a flowchart from an answer, with keys to step through, open and close


Lines in the chat

Small lines in the places you already look: above the prompt, under it, and under each answer.

See the images you paste, not just [Image #1]. Thumbnails above the prompt while you write, larger pictures under the message once it is sent.

Thumbnails of two pasted images above the prompt
While you write
The same two images, larger, under the sent message
After you send

Notes Claude keeps following. /pin use pnpm, never npm pins a note in one row above the prompt, or as a counter under it. Claude gets it at once, and again after /compact and /clear. Add --keep to keep it for the folder across restarts.

Two pins in one row above the prompt

CI results without leaving the terminal. After Claude pushes, opens a PR or pushes a tag, each GitHub Actions run gets a progress bar above the prompt, then a green or red result. It can also flag scheduled workflows that failed while you were away.

A CI run with its progress bar, then the passed result

Send your next message while the cache is still warm. A countdown to when the prompt cache expires. Once it has, the line shows how many tokens the next message writes to the cache again.

cache-timer's band above the prompt

What each answer cost, in one line. Tool calls, subagents, requests, tokens and cache hit rate under every answer, and the running tool with its clock in the spinner.

A turn summary line under the Worked for line

How many searches went to waste. Green found on the first try, yellow found after misses, red found nothing.

search-meter's status line


Guards that work out of sight

These draw little or nothing. They step in when something goes wrong.

Keys never reach the model or the transcript. API keys and private keys are hidden in tool output and in your own messages. Credential files cannot be opened, and commands that print secrets do not run. A status light shows what it caught.

secret-guard's status light

No third try of the same failing call. When a call fails twice with the same error, the model is told to stop, re-read the error and change approach. A toast tells you.

loop-guard's toast after a repeated failure

Blocks the commands you never want run. Cloudflare writes, attribution lines in commits and PRs, and claude/ branch names. Claude gets the reason back and retries the right way.

guardrails: Branches never use the claude/ prefix;
use fix/, style/, chore/ etc.

Nothing is lost to /compact. Each compaction's summary, session id, resume command and edited files are saved as one Markdown file.

~/.claude/handoffs/
  2026-10-03-0952-my-app-4f9c2a1e.md

Install

Add this repo as a plugin marketplace once, then install any mod from it:

claude plugin marketplace add arasovic/claude-code-mods
claude plugin install <mod>@claude-code-mods

Or install all of them (needs jq):

curl -s https://raw.githubusercontent.com/arasovic/claude-code-mods/main/.claude-plugin/marketplace.json \
  | jq -r '.plugins[].name' \
  | while read -r mod; do claude plugin install "$mod@claude-code-mods"; done

Restart Claude Code after installing. Update later with claude plugin marketplace update claude-code-mods and claude plugin update <mod>@claude-code-mods.

Tested on Claude Code 2.1.288. Mods are a recent Claude Code feature, so older versions will not load them. Pictures in show-me and image-peek need a terminal with the kitty graphics protocol, such as Ghostty or kitty. show-me also needs mmdc on PATH, and ci-watch needs gh, logged in.

Develop

Each mod's README lists its checks. typecheck.sh lays the plugin API's types in .claude-plugin/types/ when they are missing or from another Claude Code build, then runs tsc. Run it with no argument to check every mod.

License

MIT

Releases

Packages

Contributors

Languages