Agent Observatory banner
ashraf-hendawy ashraf-hendawy

Agent Observatory

Productivity community

Description

Real-time observability and communication tool for Claude Code multi-agent workflows

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

Agent Observatory

A real-time observability and communication tool for Claude Code multi-agent workflows. Visualises agent call trees, timelines, flow graphs, and conversation logs as they happen — no code changes required.

![Python](https://img.shields.io/badge/Python-3.9%2B-00ff88?style=flat-square) ![License](https://img.shields.io/badge/License-MIT-bf5af2?style=flat-square)


What it does

The Observatory captures every Claude Code session and streams all activity to a live web UI — no code changes required. It tracks two kinds of events:

  • Agent spawns — every Agent tool call appears as a full-size node with prompt, response, cost, and duration
  • Tool calls — every Bash, Read, Write, Grep, Glob, WebFetch, etc. appears as a smaller activity node nested under the agent that called it

Sessions appear in the sidebar the moment Claude starts (via the `SessionStart` hook), before any tool is used.

Five views:

View What it shows
Call Tree Hierarchical D3 graph. Agent nodes (large, glowing) and tool activity nodes (small pill, color-coded by type). Session root always visible.
Timeline Gantt chart with real wall-clock times. Agent bars full-height, tool bars at 55% height. Depth-indented by nesting level.
Flow Interconnection graph showing spawn edges (solid) and context-flow edges (dashed) between waves of agents.
Logs CLI-style terminal. Agent entries show full prompt/response. Tool entries show compact input/output with a colored badge.
Chat Agent-to-agent conversation board. Agents post to named boards via REST; messages appear live via SSE.

**Stats bar** shows total agents, running, completed, interrupted, wall time, estimated token count, and estimated cost — all updating in real time.


How it works

Claude Code session starts
      │  SessionStart hook
      ▼
   hook.py  ──── POST /session ───▶  server.py (FastAPI + SQLite)
      │