session-report

session-report is a skill for Claude Code, Codex from hoangsonww/Claude-Code-Agent-Monitor. It costs 73 tokens per session (936 once invoked), scanned A, original, MIT.

A detailed report about one or more Claude Code sessions, including models, tokens, costs, tools, agents, errors, turn times, and thinking-block counts. A session is one recorded period of agent work.

In plain words
What is it for?
Use it to review the latest session, inspect a session by ID, examine a date range, trace tool calls and errors, compare model token use, and check agent or compaction activity.
Why use it?
It puts the events and resource use of a session in one place, making it easier to understand what happened and what consumed time or money.

Skill for Claude CodeCodex

Written for Claude Code and Codex: $ARGUMENTS substitution, but also agents/openai.yaml present. Also seen: mentions subagents; mentions Claude Code.

Part of the ccam-analytics plugin — 6 skills, 3 commands, 2 agents, 2 hooks shipped together

Good fit Use it to review the latest session, inspect a session by ID, examine a date range, trace tool calls and errors, compare model token use, and check agent or compaction activity.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/hoangsonww/claude-code-agent-monitor/session-report
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add hoangsonww/Claude-Code-Agent-Monitor --skill session-report
Clone the repo
git clone --depth 1 https://github.com/hoangsonww/Claude-Code-Agent-Monitor

Made for: Claude Code, Codex.

Or install ccam-analytics, the plugin that ships this one along with the rest of its 6 skills, 3 commands, 2 agents, 2 hooks.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for session-report

README.md
[![agentmods](https://agentmods.dev/badge/skills/hoangsonww/claude-code-agent-monitor/session-report/github.svg)](https://agentmods.dev/skills/hoangsonww/claude-code-agent-monitor/session-report)
Your own site
<a href="https://agentmods.dev/skills/hoangsonww/claude-code-agent-monitor/session-report"><img src="https://agentmods.dev/badge/skills/hoangsonww/claude-code-agent-monitor/session-report/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for session-report

Your own site · 80×15
<a href="https://agentmods.dev/skills/hoangsonww/claude-code-agent-monitor/session-report"><img src="https://agentmods.dev/badge/skills/hoangsonww/claude-code-agent-monitor/session-report.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 73 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 936 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00073 $0.00936
Opus 5 $0.00036 $0.00468
Sonnet 5 $0.00015 $0.00187
Haiku 4.5 $0.00007 $0.00094

Measured 12d ago against content hash 1e1b3dc1cb6e, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

session-report scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/ccam-analytics/skills/session-report/SKILL.md · 76 lines

How it starts

The opening of the file, as written. The whole thing — 76 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Session Report

Generate a detailed session report from the Claude Code Agent Monitor.

Input

The user provides: $ARGUMENTS

This may be a session ID, "latest", or a date range like "last 24 hours".

Data Sources

All data comes from the Agent Monitor API at http://localhost:4820:

Endpoint What it returns
GET /api/sessions/{id} Session with nested .agents[] and .events[]
GET /api/sessions?limit=50 Session list with agent_count, last_activity, and inline cost per session (bulk pricing applied server-side)
GET /api/pricing/cost/{sessionId} { total_cost, breakdown: [{ model, input_tokens, output_tokens, cache_read_tokens, cache_write_tokens, cost, matched_rule }] }
GET /api/events?session_id={id} Event stream: each has event_type, tool_name, summary, data (JSON), created_at

Key data points available per session

  • Status: active / completed / error / abandoned
  • Model: primary model (e.g. claude-sonnet-4-20250514)
  • Metadata (JSON): thinking_blocks count, turn_count, total_turn_duration_ms, usage_extras (service_tier, speed, inference_geo)
  • Token usage per model: Pricing breakdown reports input_tokens, output_tokens, cache_read_tokens, cache_write_tokens per model (baselines are pre-summed into these totals at the DB level)
  • Cost formula: (tokens / 1,000,000) × rate_per_mtok for each of 4 token types, using longest-match pricing rule
  • Agent hierarchy: recursive parent_agent_id tree, subagent_type (e.g. "task", "explore", "code-review", "compaction")
  • Event types: PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, Notification, Compaction, APIError, TurnDuration

Report Sections

1. Session Overview

  • ID (first 16 chars), name, status, model, working directory
  • Start → end time, total duration
  • Turn count and avg turn duration (from metadata)

2. Token Usage (per model)

Include these columns: Model, Input, Output, Cache Read, Cache Write, and Total. Show effective totals (current + baseline) since baselines preserve tokens lost during compaction. Calculate cache hit rate: cache_read / (cache_read + input) × 100.

Read the full file on GitHub · 76 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 12d ago First seen · 76 lines · 73 tokens per session scan A 1e1b3dc1cb6e

Subscribe to this mod's changes

session-report is a skill published in the GitHub repository hoangsonww/Claude-Code-Agent-Monitor (991 stars, last pushed 3d ago), licensed MIT. It adds 73 tokens to every session and 936 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.