Team Monitor
Real-time dashboard for monitoring Claude Code agent team activity. When multiple agents collaborate — sending messages, creating tasks, editing files — this plugin captures everything and streams it to a live dashboard at localhost:5111.

What It Does
- Hooks into every tool call via Claude Code's PostToolUse event
- Classifies events into categories: communication, task management, tool use, lifecycle
- Stores everything in a local SQLite database (WAL mode for concurrent access)
- Streams live updates to a dark-themed browser dashboard via SSE
- Captures subagent activity by parsing transcripts when agents finish
Install
From GitHub
/plugin marketplace add GrillerGeek/team-monitor
/plugin install team-monitor@GrillerGeek/team-monitor
Register Hooks
The plugin requires hooks to be registered in your Claude Code settings. The first time you start the dashboard, this happens automatically. Or run it manually:
macOS / Linux:
python3 ~/.claude/plugins/cache/team-monitor-marketplace/team-monitor/1.0.0/scripts/install_hooks.py
Windows:
python %USERPROFILE%\.claude\plugins\cache\team-monitor-marketplace\team-monitor\1.0.0\scripts\install_hooks.py
Restart Claude Code after installing hooks.
For Development
claude --plugin-dir /path/to/team-monitor
python3 /path/to/team-monitor/scripts/install_hooks.py
Dependencies
Flask is auto-installed when you first start the dashboard. To install manually:
pip install flask
Usage
Start the Dashboard
/team-monitor
Then open http://localhost:5111 in your browser.
Stop the Dashboard
/team-monitor-stop
Check Status
/team-monitor-status
Natural Language
You can also just say "monitor my team" or "open the team dashboard" and the skill will trigger automatically.
Uninstall
To remove the hooks from your Claude Code settings:
macOS / Linux:
python3 /path/to/team-monitor/scripts/uninstall_hooks.py
Windows:
python /path/to/team-monitor/scripts/uninstall_hooks.py
Dashboard Features
- Agent Cards — one card per agent showing name, team, last activity, and event count
- Live Event Feed — reverse-chronological stream with color-coded category badges
- Blue = communication (DMs, broadcasts, shutdown requests)
- Green = task management (create, update, assign)
- Orange = tool use (Bash, Edit, Write, Read, Grep, etc.)
- Gray = lifecycle (agent stop, notifications)
- Event Detail — click any event to expand and see the full JSON payload
- Filters — filter by category, agent, or tool
- Stats Sidebar — total events, events/minute rate, category breakdown, most active agent
How It Works
Claude Code Hooks (PostToolUse, SubagentStart/Stop, Notification)
│ stdin: JSON with tool_name, tool_input, session_id
▼
Hook Scripts (Python) ──► SQLite DB (WAL mode) ◄── Flask Server
│ data/team_monitor.db │
▼ ▼
SSE Bridge (file-based) ────────────────────► Browser Dashboard
data/sse_events/*.json localhost:5111
- Claude Code fires a hook after every tool call in the lead session
- The hook script classifies the event and writes it to SQLite
- A small JSON notification file is written for the SSE bridge
- When subagents finish, their transcripts are parsed to backfill all tool calls
- The Flask server streams events to the browser via SSE
- The dashboard updates in real time — no refresh needed
File Structure