Trending-skills agent-flow-visualization
VS Code extension for real-time visualization of Claude Code agent orchestration as interactive node graphs
git clone https://github.com/Aradotso/trending-skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/Aradotso/trending-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/agent-flow-visualization" ~/.claude/skills/aradotso-trending-skills-agent-flow-visualization && rm -rf "$T"
skills/agent-flow-visualization/SKILL.mdAgent Flow
Skill by ara.so — Daily 2026 Skills collection.
Agent Flow is a VS Code extension that provides real-time visualization of Claude Code agent orchestration. It renders agent execution as an interactive node graph, showing tool calls, branching, subagent coordination, and timing — turning Claude Code's black-box execution into a transparent, debuggable flow.
Installation
Via VS Code Marketplace
- Open VS Code Extensions (
)Cmd+Shift+X - Search for Agent Flow by simon-p
- Click Install
Or install directly: marketplace.visualstudio.com/items?itemName=simon-p.agent-flow
Requirements
- VS Code 1.85 or later
- Claude Code CLI installed and accessible
- Node.js (for Claude Code)
Quick Start
# 1. Open Command Palette Cmd+Shift+P (Mac) / Ctrl+Shift+P (Win/Linux) # 2. Run the command > Agent Flow: Open Agent Flow # 3. Start a Claude Code session in your workspace # Agent Flow auto-detects it and begins streaming
Or use the keyboard shortcut:
- Mac:
Cmd+Alt+A - Win/Linux:
Ctrl+Alt+A
Commands
| Command | Description |
|---|---|
| Open visualizer in current editor column |
| Open in a side editor column |
| Manually connect to a specific agent session |
| Set up Claude Code hooks for live event streaming |
Configuration
Settings available in VS Code settings (
settings.json):
{ // Path to a JSONL event log file to watch/replay "agentVisualizer.eventLogPath": "/path/to/agent-events.jsonl", // Auto-open the visualizer when an agent session starts "agentVisualizer.autoOpen": true, // Development server port (0 = production mode, use built assets) "agentVisualizer.devServerPort": 0 }
Auto-Open on Agent Start
// settings.json { "agentVisualizer.autoOpen": true }
Claude Code Hooks Setup
Agent Flow uses Claude Code's hook system for zero-latency event streaming. Hooks are configured automatically on first open, but you can reconfigure manually.
Automatic Configuration
Run from Command Palette:
> Agent Flow: Configure Claude Code Hooks
Manual Hook Configuration
If you need to configure hooks manually, Agent Flow starts a local HTTP server that receives events. The hooks forward Claude Code lifecycle events (tool calls, responses, session start/end) to the extension.
Claude Code hooks are configured in
~/.claude/settings.json or project-level .claude/settings.json:
{ "hooks": { "PreToolUse": [ { "matcher": ".*", "hooks": [ { "type": "command", "command": "curl -s -X POST http://localhost:PORT/hook -H 'Content-Type: application/json' -d @-" } ] } ], "PostToolUse": [ { "matcher": ".*", "hooks": [ { "type": "command", "command": "curl -s -X POST http://localhost:PORT/hook -H 'Content-Type: application/json' -d @-" } ] } ] } }
Agent Flow manages this configuration automatically — prefer using the command palette command.
JSONL Event Log Mode
For replaying past sessions or watching log files generated outside VS Code:
// settings.json { "agentVisualizer.eventLogPath": "${workspaceFolder}/logs/agent-session.jsonl" }
Agent Flow tails the file and visualizes events as they arrive. Use this for:
- Post-hoc debugging of agent runs
- Sharing agent execution recordings with teammates
- CI/CD pipeline agent monitoring
JSONL Event Format
Each line in the log file is a JSON event object:
{"type":"session_start","sessionId":"abc123","timestamp":"2026-03-21T10:00:00Z","model":"claude-opus-4-5"} {"type":"tool_use","sessionId":"abc123","toolName":"bash","input":{"command":"ls -la"},"timestamp":"2026-03-21T10:00:01Z"} {"type":"tool_result","sessionId":"abc123","toolName":"bash","output":"total 48\n...","timestamp":"2026-03-21T10:00:02Z"} {"type":"message","sessionId":"abc123","role":"assistant","content":"I can see the files...","timestamp":"2026-03-21T10:00:03Z"}
Multi-Session Support
Agent Flow tracks multiple concurrent Claude Code sessions with tabs. Each session gets its own visualization canvas.
# Start multiple Claude Code sessions in different terminals # Each appears as a separate tab in Agent Flow # Click tabs to switch between session graphs
Interactive Canvas Features
Navigation
- Pan: Click and drag on empty canvas
- Zoom: Scroll wheel / pinch gesture
- Select node: Click any agent or tool call node to inspect details
- Reset view: Double-click empty canvas
Node Types in the Graph
| Node Type | Visual | Description |
|---|---|---|
| Agent/Subagent | Circle | Claude instance making decisions |
| Tool Call | Rectangle | Individual tool invocation (bash, read_file, etc.) |
| Tool Result | Rectangle (dashed) | Output returned from tool |
| Branch | Diamond | Decision point spawning subagents |
| Return | Arrow | Subagent returning result to parent |
Panels
- Timeline: Chronological view of all events with durations
- Transcript: Full message history between agent and tools
- File Heatmap: Which files received the most attention
Contributing / Development Setup
git clone https://github.com/patoles/agent-flow cd agent-flow npm install # Build the extension npm run build # Watch mode for development npm run watch # Run with dev server (hot reload) # Set in settings: "agentVisualizer.devServerPort": 3000 npm run dev
Extension Structure
agent-flow/ ├── src/ │ ├── extension.ts # VS Code extension entry point │ ├── hookServer.ts # HTTP server receiving Claude Code hook events │ ├── sessionManager.ts # Manages multiple agent sessions │ ├── webviewProvider.ts # Webview panel management │ └── logWatcher.ts # JSONL file tail watcher ├── webview/ │ ├── src/ │ │ ├── App.tsx # Main React app │ │ ├── Graph.tsx # Node graph canvas (likely D3 or React Flow) │ │ ├── Timeline.tsx # Timeline panel │ │ └── Transcript.tsx # Message transcript panel │ └── package.json └── package.json # Extension manifest
Common Patterns
Pattern: Debug a Failing Agent Run
- Open Agent Flow (
)Cmd+Alt+A - Run your Claude Code command that's failing
- Watch the graph — look for:
- Red/error nodes indicating failed tool calls
- Unexpected branching
- Loops (agent retrying the same tool)
- Click the failed tool node to inspect input/output
- Check the Timeline panel for which tool call took unexpectedly long
Pattern: Replay a Saved Session
# Save Claude Code output to JSONL during a run # (depends on your Claude Code version/config) claude --output-format jsonl > session-$(date +%s).jsonl # Point Agent Flow at it
// .vscode/settings.json (project-level) { "agentVisualizer.eventLogPath": "./logs/session-1234567890.jsonl" }
Pattern: Auto-Visualize All Agent Sessions
// settings.json { "agentVisualizer.autoOpen": true }
Now every time a Claude Code session starts in your workspace, Agent Flow opens automatically.
Pattern: Side-by-Side Coding and Visualization
# Open Agent Flow to side so you can code and watch simultaneously Cmd+Shift+P > Agent Flow: Open Agent Flow to Side
This opens the visualizer in a split editor, keeping your code files accessible in the main editor group.
Troubleshooting
Agent Flow doesn't detect my Claude Code session
- Verify Claude Code is running in the same workspace folder
- Check that hooks are configured: run
Agent Flow: Configure Claude Code Hooks - Verify the hook server is running — look for "Agent Flow hook server listening" in the Output panel (
)View > Output > Agent Flow - Try
to manually specify the sessionAgent Flow: Connect to Running Agent
Hooks aren't forwarding events
# Test the hook server manually curl -X POST http://localhost:PORT/hook \ -H 'Content-Type: application/json' \ -d '{"type":"test","sessionId":"test123"}'
Check VS Code Output panel for the correct PORT value.
Graph is empty / not updating
- Check
— if set, Agent Flow reads from file instead of hooksagentVisualizer.eventLogPath - Clear the setting if you want live hook-based streaming:
{ "agentVisualizer.eventLogPath": "" } - Reload VS Code window (
)Cmd+Shift+P > Developer: Reload Window
Extension not loading
# Check VS Code version meets requirement code --version # Must be 1.85 or later # Check extension is enabled # Extensions panel > search "Agent Flow" > verify enabled
Multiple sessions showing in wrong tabs
Each session is identified by a unique session ID from Claude Code. If sessions are merging incorrectly, check that each
claude process is started fresh (not reusing an existing session ID).
Resources
- VS Code Marketplace
- Demo Video
- GitHub Repository
- CraftMyGame — the project that inspired Agent Flow
- License: Apache 2.0