Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
anthropics avatar

Session Report

  • 1.6k installs
  • 32.9k repo stars
  • Updated July 31, 2026
  • anthropics/claude-plugins-official

session-report provides documented workflows for Generate an explorable HTML report of Claude Code session usage (tokens, cache, subagents, skills, expensive prompts) from ~/.claude/projects transcripts.

About

The session-report skill generate an explorable HTML report of Claude Code session usage (tokens, cache, subagents, skills, expensive prompts) from ~/.claude/projects transcripts. # Session Report Produce a self-contained HTML report of Claude Code usage and save it to the current working directory. **Get data.** Run the bundled analyzer (default window: last 7 days; honor a different range if the user passed one, e.g. The script `analyze-sessions.mjs` lives in the same directory as this SKILL.md - use its absolute path: ```sh node <skill-dir>/analyze-sessions.mjs --json --since 7d > /tmp/session-report.json ``` For all-time, omit `--since`. **Read** `/tmp/session-report.json`. Skim `overall`, `by_project`, `by_subagent_type`, `by_skill`, `cache_breaks`, `top_prompts`. **Copy the template** (also bundled alongside this SKILL.md) to the output path in the current working directory: ```sh cp <skill-dir>/template.html ./session-report-$(date +%Y%m%d-%H%M).html ``` 4. **Edit the output file** (use Edit, not Write - preserve the template's JS/CSS): - Replace the contents of `<script id="report-data" type="application/json">` with the full JSON from step 1.

  • **Read** `/tmp/session-report.json`. Skim `overall`, `by_project`, `by_subagent_type`, `by_skill`, `cache_breaks`, `top_
  • **Copy the template** (also bundled alongside this SKILL.md) to the output path in the current working directory:
  • **Edit the output file** (use Edit, not Write - preserve the template's JS/CSS):
  • Do not restructure existing sections.
  • **Report** the saved file path to the user. Do not open it or render it.

Session Report by the numbers

  • 1,591 all-time installs (skills.sh)
  • +284 installs in the week ending Jul 29, 2026 (Skillselion tracking)
  • Ranked #349 of 3,282 Productivity & Planning skills by installs in the Skillselion catalog
  • Security screen: HIGH risk (skills.sh audit)
  • Data as of Jul 31, 2026 (Skillselion catalog sync)
At a glance

session-report capabilities & compatibility

Capabilities
**read** `/tmp/session report.json`. skim `overa · **copy the template** (also bundled alongside th · **edit the output file** (use edit, not write · do not restructure existing sections. · **report** the saved file path to the user. do n
Use cases
documentation
From the docs

What session-report says it does

# Session Report Produce a self-contained HTML report of Claude Code usage and save it to the current working directory.
SKILL.md
**Get data.** Run the bundled analyzer (default window: last 7 days; honor a different range if the user passed one, e.g.
SKILL.md
npx skills add https://github.com/anthropics/claude-plugins-official --skill session-report

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1.6k
repo stars32.9k
Security audit2 / 3 scanners passed
Last updatedJuly 31, 2026
Repositoryanthropics/claude-plugins-official

How do I use session-report for the task described in its SKILL.md triggers?

Generate an explorable HTML report of Claude Code session usage (tokens, cache, subagents, skills, expensive prompts) from ~/.claude/projects transcripts.

Who is it for?

Teams invoking session-report when the user request matches documented triggers and prerequisites.

Skip if: Skip when cached docs are missing, the request is a negative trigger, or another sibling skill owns the workflow.

When should I use this skill?

Generate an explorable HTML report of Claude Code session usage (tokens, cache, subagents, skills, expensive prompts) from ~/.claude/projects transcripts.

What you get

Step-by-step guidance grounded in session-report documentation and reference files.

  • Session usage report
  • Optional JSON metrics export

By the numbers

  • Reads Claude Code JSONL transcripts from ~/.claude/projects by default
  • Supports --since relative windows including 7d and 24h

Files

SKILL.mdMarkdownGitHub ↗

Session Report

Produce a self-contained HTML report of Claude Code usage and save it to the current working directory.

Steps

1. Get data. Run the bundled analyzer (default window: last 7 days; honor a different range if the user passed one, e.g. 24h, 30d, or all). The script analyze-sessions.mjs lives in the same directory as this SKILL.md — use its absolute path:

   node <skill-dir>/analyze-sessions.mjs --json --since 7d > /tmp/session-report.json

For all-time, omit --since.

2. Read /tmp/session-report.json. Skim overall, by_project, by_subagent_type, by_skill, cache_breaks, top_prompts.

3. Copy the template (also bundled alongside this SKILL.md) to the output path in the current working directory:

   cp <skill-dir>/template.html ./session-report-$(date +%Y%m%d-%H%M).html

4. Edit the output file (use Edit, not Write — preserve the template's JS/CSS):

  • Replace the contents of <script id="report-data" type="application/json"> with the full JSON from step 1. The page's JS renders the hero total, all tables, bars, and drill-downs from this blob automatically.
  • Fill the <!-- AGENT: anomalies --> block with 3–5 one-line findings. Express figures as a % of total tokens wherever possible (total = overall.input_tokens.total + overall.output_tokens). One line per finding, exact markup:
     <div class="take bad"><div class="fig">41.2%</div><div class="txt"><b>cc-monitor</b> consumed 41% of the week across just 3 sessions</div></div>

Classes: .take bad for waste/anomalies (red), .take good for healthy signals (green), .take info for neutral facts (blue). The .fig is one short number (a %, a count, or a multiplier like 12×). The .txt is one plain-English sentence naming the project/skill/prompt; wrap the subject in <b>. Look for: a project or skill eating a disproportionate share, cache-hit <85%, a single prompt >2% of total, subagent types averaging >1M tokens/call, cache breaks clustering.

  • Fill the <!-- AGENT: optimizations --> block (at the bottom of the page) with 1–4 <div class="callout"> suggestions tied to specific rows (e.g. "/weekly-status spawned 7 subagents for 8.1% of total — scope it to fewer parallel agents").
  • Do not restructure existing sections.

5. Report the saved file path to the user. Do not open it or render it.

Notes

  • The template is the source of interactivity (sorting, expand/collapse, block-char bars). Your job is data + narrative, not markup.
  • Keep commentary terse and specific — reference actual project names, numbers, timestamps from the JSON.
  • top_prompts already includes subagent tokens and rolls task-notification continuations into the originating prompt.
  • If the JSON is >2MB, trim top_prompts to 100 entries and cache_breaks to 100 before embedding (they should already be capped).

Related skills

FAQ

What does session-report do?

Generate an explorable HTML report of Claude Code session usage (tokens, cache, subagents, skills, expensive prompts) from ~/.claude/projects transcripts.

When should I use session-report?

Generate an explorable HTML report of Claude Code session usage (tokens, cache, subagents, skills, expensive prompts) from ~/.claude/projects transcripts.

What are common prerequisites?

--- name: session-report description: Generate an explorable HTML report of Claude Code session usage (tokens, cache, subagents, skills, expensive prompts) from ~/.claude/projects transcripts.

Is Session Report safe to install?

skills.sh reports 2 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.