Skip to content
Development
Skill

/session-timeline

Render an ordered timeline of one Claude Code session's events (every event type) with per-event durations and tool names, reconstructed from Agent Monitor data. Pairs PreToolUse with PostToolUse to compute tool durations and surfaces gaps, errors, and compaction points. Use

From plugin
claude-code-agent-monitor
1k75 skills21 agents33 commands1 MCP
Install
$ npx -y skills add hoangsonww/Claude-Code-Agent-Monitor --skill session-timeline --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/session-timeline

Context preview

The summary Claude sees to decide when to auto-load this skill.

Render an ordered timeline of one Claude Code session's events (every event type) with per-event durations and tool names, reconstructed from Agent Monitor data. Pairs PreToolUse with PostToolUse to compute tool durations and surfaces gaps, errors, and compaction points. Use

SKILL.md

session-timeline.SKILL.md
name: session-timeline
description: >
  Render an ordered timeline of one Claude Code session's events (every event type)
  with per-event durations and tool names, reconstructed from Agent Monitor data.
  Pairs PreToolUse with PostToolUse to compute tool durations and surfaces gaps,
  errors, and compaction points. Use when reconstructing what happened in a session
  step by step.

Session Timeline

Reconstruct the chronological event timeline of a single Claude Code session.

Input

The user provides: **$ARGUMENTS**

  • A **session ID** to time-line, or
  • "latest" / "last" for the most recent session.

Data Sources

| Endpoint | Returns | |----------|---------| | `GET /api/sessions/:id` | session header: status, model, cwd, started_at, ended_at, cost, metadata (thinking_blocks, turn_count, total_turn_duration_ms) — and nested events | | `GET /api/events?session_id=X` | the full event stream: event_type (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, Notification, Compaction, APIError, TurnDuration), tool_name, summary, data, timestamp |

Report Sections

1. Resolve & header

If "latest", `GET /api/sessions?limit=1` to get the id, then `GET /api/sessions/:id`. Print a one-line header: id, status, model, cwd basename, started_at → ended_at, turn_count, total_turn_duration_ms, cost.

2. Build the ordered timeline

`GET /api/events?session_id=X`. Sort strictly by `timestamp`. For each event emit a row with: relative offset from `started_at` (e.g. `+00:03.412`), event_type, tool_name (when present), and a one-line `summary`.

3. Compute durations

Pair each `PreToolUse` with its matching `PostToolUse` (same tool_name, next occurrence) and show the tool's wall-clock duration. For `TurnDuration` events use the recorded duration directly. Flag any `PreToolUse` with no matching `PostToolUse` as **unclosed**.

4. Annotate notable points

Mark `APIError` (❌), `Compaction` (⚠️ context compressed), `SubagentStop` (subagent finished), `Notification` (ℹ️), and any timeline gap > 30s between consecutive events as an idle window.

5. Tallies

Event count by type, total tool time vs. session wall time, and the longest single tool call.

Output

A Markdown table — `offset | event_type | tool_name | duration | summary` — in strict timestamp order, preceded by the header line and followed by the tallies. Durations in ms or `mm:ss.mmm`; currency as USD to 4 decimal places. Never invent a duration when a PostToolUse is missing — label it `unclosed`. If the dashboard is unreachable, tell the user to start it with `npm start` from the repo root.

Read more
Ships withclaude-code-agent-monitor

🚀 A real-time monitoring dashboard for Claude Code & Codex, built with SQLite3, Node.js, Express, React, Vite, TailwindCSS, & WebSockets. It tracks sessions, agent activity, tool usage, and subagent orchestration, providing live analytics, a Kanban status board, status notifications, a cute buddy, & an interactive web UI/MacOS/Windows native app.

Get the whole plugin

Other skills on claude-code-agent-monitor.