claude-code-mods

agent
Security Audit
Fail
Health Warn
  • No license — Repository has no license file
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 9 GitHub stars
Code Fail
  • rm -rf — Recursive force deletion command in mods/blast-radius/tests/blast-radius.test.tsx
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

See what your Claude Code agent is reading and writing, live. mission-control plus 12 more mods for Claude Code.

README.md

Claude Code mods

See what your agent is reading and writing, live. mission-control draws every subagent, every tool call and every file they touch, in a pane next to the chat.

mission-control at 4x: two subagents and a logout feature landing across four files

Try mission-control

You need Claude Code 2.1.287 or later, Google Chrome, and a terminal that shows images, like Ghostty, kitty or iTerm2.

claude plugin marketplace add hamzafer/claude-code-mods
claude plugin install mission-control@claude-code-mods

Restart Claude Code and type /mission. It opens on the agents. Press c for the code map and w to go back.

A file glows blue while the agent reads it and orange while it writes, then turns green. After each turn, one line under it says what changed.

Install the others

Same two commands, with the mod's name in place of mission-control. To try one without installing:

claude --plugin-dir mods/token-weather

Prev: cursor-commands stars, 600+ ⭐ for Cursor slash commands.

The mods

Mod What it does Command
mission-control A live map of the turn: main, its subagents and every tool call (Who), and a rendered diagram of the files they touch, with import arrows and a line on each change (Code). /mission, /mission code
token-weather Shows how full the context window is, from Clear to Compact soon, with tokens used and the last turn's growth.
where-am-i Shows the goal, what Claude is doing now, what it waits on from you, and the next step. /where
agent-radar One live line per running subagent with its time, tool count and current action. /radar
browser-lanes Says whether this session has a Playwright browser, and who holds it if not. /browser, /browser clean
merge-gate Holds gh pr merge until CI is green and Codex reviewed the PR once. Shows the PR's status above the prompt. Opinionated: built around one Codex review on gpt-5.6-luna. /gate, /gate rerun
oneform-line Your OneForm day above the prompt: sleep, protein and calories left, today's training and the next planned session. /oneform
rulebook-guard Swaps em dashes for commas in prose, and asks before --amend, an unformatted push, or personal info in notes.
blast-radius Holds rm -r, force pushes and migrations, and shows what they would delete or overwrite.
session-saver Saves where you left off and shows it when you resume. Names untitled sessions. /park [note]
replay-theater Steps through the last turn's file edits, one diff at a time. /replay
reels YouTube Shorts in a pane. Plays while Claude works, pauses when it's done. Nothing starts until /reels. /reels, /reels stop
snake Snake in a pane while Claude works. Pauses when Claude is done. Nothing opens until /snake. /snake, /snake stop

How they behave

Lines above the prompt. token-weather, where-am-i, agent-radar, browser-lanes, merge-gate, oneform-line and session-saver each add a line there. They stack, and each one hides when it has nothing to show.

Guards ask before they block. blast-radius, rulebook-guard and merge-gate stop a tool call and ask you. Saying no refuses the call, and Claude gets the reason. Saying yes runs it as written. In auto mode the session waits for your answer.

Notes per mod

mission-control. Press w for Who and c for Code. The code map is a picture drawn by headless Chrome (/Applications/Google Chrome.app) in a throwaway profile of its own, so it needs Chrome and a terminal that shows images, like Ghostty, kitty or iTerm2. A file glows blue while Claude reads it and orange while it edits it, and turns green with a check once changed. One Haiku call after each turn writes the line under each changed file.

token-weather. The levels go by percent of the window. On a 1M window it stays Clear until 250k tokens.

where-am-i. Makes one Haiku call after each turn to write the summary. /where gives a few bullets instead.

agent-radar. A finished agent shows a check for 30 seconds, then its line goes away. A toast says when each one finishes. /radar lists every agent this session, and its number opens that agent's messages.

browser-lanes. Run the Playwright MCP server with --isolated, or every session shares one Chrome profile and the second one gets "Browser is already in use":

claude mcp add playwright --scope user -- npx @playwright/mcp@latest --isolated

/browser clean lists the browsers other sessions left open and closes the ones you pick. It closes Chrome only, never a Claude session. When a browser call fails with "already in use", it offers to close the blocking browser and retries. The session's own browser closes when the session ends. Screenshots get the name of the agent that took them, like login-test-03.png.

merge-gate. Needs gh. It refuses a codex review that doesn't set -c 'model="gpt-5.6-luna"', a second review of the same PR, any codex exec, and any review while ~/.codex/config.toml points at a local Ollama server. A review counts when it starts, so a quota error doesn't buy a retry. /gate rerun reruns the failed CI jobs.

rulebook-guard. Rewrites em dashes in .md and .txt writes, commit messages, PR text and Slack posts. Code files are left alone. It asks before git commit --amend, before a git push with files that ruff format or Prettier would change, and before an email address or phone number goes into ~/notes, memory files or a commit. The rules are plain code in hooks/register.ts, so change them to match yours.

blast-radius. Holds rm -r, git push --force and migrations (prisma, supabase, drizzle-kit, rails, alembic). It lists the files and size an rm would delete, or the remote commits a force push would drop.

session-saver. Needs unpause. Run /park before you close, then unpause open <name>, and the note shows until you type. Untitled sessions get a name after their second turn.

oneform-line. For OneForm, my own fitness coach app, so it's only useful if you run OneForm. Set url and key in /config (the key goes to secure storage). It calls get_today and get_plan when the session starts, then after a turn at most every 10 minutes (1 minute after a failure), so it doesn't fill OneForm's tool-call log. The URL has to be https://. It hides what isn't logged yet, shows targets you passed as "over", and keeps the last answer with an "as of" time when OneForm can't be reached. /oneform refreshes and prints the day: meals, training, check-in and the next 7 days.

replay-theater. Run /replay after a turn that edited files. n and p step, q closes.

reels and snake. Both are opt-in. Installing them changes nothing until you type /reels or /snake, and stop turns them off again. Reels needs Playwright once, and /reels prints the install command.

Screenshots

reels plays Shorts while Claude works and pauses when it's done

reels

browser-lanes, token-weather and where-am-i stacked above the prompt

bands above the prompt

blast-radius holds an rm -rf and shows what it would delete

blast-radius

rulebook-guard catches a git commit --amend

rulebook-guard

replay-theater steps through the last turn's edits

replay-theater

where-am-i with token-weather above it

where-am-i

Build your own

Start from Getting started with Claude Code mods. Check a mod with:

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

Things that bit us while building these:

  • claude plugin test can refuse inside a running session. Run it with CLAUDE_CONFIG_DIR set to another config.
  • JSX compiles to h(...), so a variable named h breaks every element after it.
  • Claude Code refuses a command name it already has, like /agents or /recap. Catch the error from $.command.register, or the rest of session.start never runs.
  • Add .catch() to background work you don't await, or the tests fail at teardown.
  • Check what the shell runs, not quoted text. A heredoc that mentions git commit --amend is not an amend.

Reviews (0)

No results found