Agents Observe
Real-time observability for Claude Code sessions and multi-agent runs — see subagents, tool calls, and token costs live.
The skill is a thin wrapper calling a local node script via cli.sh; data stays in local SQLite/logs with no sign of covert exfiltration. However, observability captures all tool calls with full payloads (commands, file contents) to disk; sensitive-data handling and user confirmation are not addressed in SKILL.md, and stop/restart have no confirmation step — deducted to 15.
Instructions are self-consistent with explicit exit-code branches (health exit 1 suggests start), a ban on -f to avoid hangs, and a structured debug flow. But dependencies on Docker/Node/bash are assumed, with no handling for missing scripts, absent node, or empty CLAUDE_SESSION_ID — plausible happy path with thin edge handling; capped at 10 statically.
Command list is clear (view/stats/status/start/stop/restart/logs/debug) with precise trigger semantics for Claude Code session management. But non-fit boundaries are undeclared, no Chinese-language support noted, and cross-platform browser-opening relies on uncertain environment inference — 9.
MIT license, version 0.9.12 in package., release workflow extracting changelog entries, thorough README with troubleshooting. But publisher identity unverified, maintenance responsibility implicit only, and SKILL.md itself lacks version/changelog — 10.
Core tasks (view/manage the observability server, open dashboard, diagnose issues) have complete directly executable instructions and clear marginal value. But static review cannot verify output usability, and claims depend on observe_cli.mjs and server code outside the scored path — 6.
Repo includes test configs, a fresh-install integration harness, and release CI — substantial auditable material. But the skill's key path (cli.sh→observe_cli.mjs) lacks dedicated visible test coverage and there is no third-party execution evidence — capped at 4.
- This is a static source-only review; no scripts were executed and confidence is low.
- The observability system captures full tool-call payloads (including commands and file contents) into local SQLite; users should be aware of sensitive-data-at-rest implications.
- The server requires Docker, Node, and bash; the plugin fails to load properly if these are missing.
- Publisher identity is unverified by the FollowSkills registry; maintenance responsibility is only implicit.
- Side-effecting commands (stop/restart) have no user-confirmation requirement in SKILL.md.
- The wrapper targets observe_cli.mjs outside the skill directory (hooks/scripts/); its quality and safety are outside this scored scope.
What does this skill do, and when should you use it?
Agents Observe is a real-time observability dashboard for Claude Code and Codex agent sessions. It captures every hook event (tool calls, prompts, subagent lifecycle), POSTs them through a CLI script to a SQLite-backed API server, and streams them to a React dashboard over WebSocket. Users can watch the full agent hierarchy in real time, expand any event to its full payload, filter by agent or tool type, and replay historical sessions. Version 0.9.7 adds token usage and cost breakdowns in session stats. The server runs as a Docker container and is managed entirely through the /observe skill.
Installed as a Claude Code plugin, hooks fire on every Claude Code event and run observe_cli.mjs, which wraps the raw event (including agent-class-aware metadata flags) and POSTs it to the server. The server extracts structural fields (event type, tool name, agent ID, parentage), stores them in SQLite, and forwards events to WebSocket clients subscribed to that session. The React client fetches history via REST on load, then appends live events via WebSocket, deduping PreToolUse + PostToolUse into single rows. The /observe skill exposes subcommands through scripts/cli.sh: view (open the current session in the browser), stats (open the session's stats modal), status/start/stop/restart (manage the Docker server), logs-server/logs-cli/logs-mcp (tail logs), and debug (sequentially check health, Docker logs, MCP log, CLI log, then analyze and suggest fixes).
- A developer running parallel multi-agent work who wants to watch the coordinator's spawned code-reviewer, test-runner, and documentation subagents in real time
- Debugging after a subagent made a bad edit or ran a destructive command — trace back through the exact event timeline with full payloads
- A cost-conscious user who wants per-session token usage and cost breakdowns
- Troubleshooting a broken install: /observe debug diagnoses server health, port conflicts, Docker crash loops, and hook delivery failures
- A team wanting to browse historical sessions (with readable names like twinkly-hugging-dragon) and analyze agent behavior patterns over time
What are this skill's strengths and limitations?
- Real-time WebSocket streaming showing PreToolUse → PostToolUse tool calls with full results
- Full agent hierarchy view — which subagent was spawned by which parent
- Session replay, filtering/search across events, plus token usage and cost stats
- Structured /observe debug flow covering health, Docker logs, mcp.log, and cli.log
- Plugin upgrades preserve the SQLite database automatically, with migration from older installs
- Hard dependency on Docker, Node.js, and Bash — missing any one breaks plugin loading
- Hooks and $CLAUDE_SESSION_ID tie the skill to Claude Code; porting to other agent frameworks requires adaptation (Codex support is still on the roadmap, not shipped)
- The repo states no test coverage or supported-platform matrix; evidence beyond README screenshots and a demo video is lacking
- If port 4981 is taken, the server auto-assigns a free port, so the dashboard URL can shift
- No GitHub topics are set, and there are no visible community-metric signals (stars, etc.) in the source
How do you install this skill?
Plugin route (recommended): run claude plugin marketplace add simple10/agents-observe then claude plugin install agents-observe; afterwards start claude and the plugin auto-starts the MCP server and captures events. Prerequisites: Docker, Node.js, and Bash must be installed on the host. Standalone route (for development): git clone https://github.com/simple10/agents-observe.git, install just, then just start (Docker) or just install && just dev (dev mode), and copy the hooks from .claude/settings. into your target project's Claude Code settings. Data defaults to ~/.claude/plugins/data/agents-observe-agents-observe/ (plugin) or ~/.agents-observe/ (standalone), redirectable via the AGENTS_OBSERVE_LOCAL_DATA_ROOT environment variable.
How do you use this skill?
Use slash commands inside Claude Code: /observe status for server health and version; /observe view to open the current session in your default browser (default dashboard http://localhost:4981); /observe stats to open the session's stats modal; /observe start|stop|restart to manage the server; /observe logs-server|logs-cli|logs-mcp for logs; /observe debug for a full diagnosis. For standalone installs, just health checks the server and just test-event sends a test event to verify the pipeline; the dev dashboard runs at http://localhost:5174.
How does this skill compare with similar options?
The README names related projects: simple10/agent-super-spy (a full observability stack for agents, local or remote), disler/claude-code-hooks-multi-agent-observability (the inspiration for this project), and matt1398/claude-devtools (visualization for Claude session files, local machine only). Agents Observe's differentiators are its one-command plugin install and live WebSocket streaming dashboard.