Agent skill

Session Waste Report

by RyanAlberts in RyanAlberts/best-of-Agent-Harnesses

Waste report for coding-agent sessions in Claude Code, Codex, Gemini CLI, and OpenCode: finds where tokens, money, and time were wasted, and the fix for each kind of waste.

MITAuto-check passedAgent Workflows

Install Session Waste Report

skills CLI
$ npx skills add RyanAlberts/best-of-Agent-Harnesses --skill session-waste-report -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install RyanAlberts/best-of-Agent-Harnesses session-waste-report --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/RyanAlberts/best-of-Agent-Harnesses.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/session-waste-report .claude/skills/session-waste-report && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
session-waste-report
GitHub stars
1.1k
Token cost
~2.3k tokens
SKILL.md length
1,324 words
Files
9 (incl. scripts, references)
Repo updated
First seen
Licence
MIT

At a glance

Waste report for coding-agent sessions in Claude Code, Codex, Gemini CLI, and OpenCode: finds where tokens, money, and time were wasted, and the fix for each kind of waste.

  • Works in 4 steps: Run the report for the window the user… → Pick the fixes. Take the three waste… → Check a surprising number before you… → …
  • The user asks where tokens
  • SKILL.md covers When to use, When not to use, Steps and Read the results, plus 2 more sections
  • Runs Python scripts from its folder; calls python3

What it does

Session Waste Report is an agent skill from RyanAlberts/best-of-Agent-Harnesses. Waste report for coding-agent sessions in Claude Code, Codex, Gemini CLI, and OpenCode: finds where tokens, money, and time were wasted, and the fix for each kind of waste. Use when the user asks where tokens or money went or why the bill is so high; about habits that burn tokens, such as re-reading a file that has not changed, huge tool outputs, polling, or cache misses from pauses; about the subagent share of cost; or for failure patterns across sessions: tool errors, permission denials, interrupts…

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 10 other files, including scripts and reference files (for example `README.md`, `references/fixes.md` and `references/how-it-counts.md`).

It sits in Agent Workflows, covering Subagents. The repository describes itself as: 🏆 Ranked list of 167 AI agent harnesses, plus templates, playbooks, MCP, and learning resources. Rescored weekly. The licence is MIT.

When your agent uses it

  • The user asks where tokens
  • Why the bill is so high
  • About habits that burn tokens
  • Such as re-reading a file that has not changed

Example prompts

  • “/session-waste-report”

Requirements

  • Python 3

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Run the report for the window the user asked about, 30 days by default
  2. Pick the fixes. Take the three waste rows with the most dollars (the most tokens when no
  3. Check a surprising number before you build advice on it, or when the user doubts one: run
  4. Report in the shape below.

What it can do on your machine

Read from SKILL.md and the folder at commit 4fa20bc. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 4 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Session Waste Report loads about 2.3k tokens when it runs, and up to ~7.8k if it reads all its reference files. Until then it costs about 158 tokens; SKILL.md has 1,324 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~158
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~7.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from RyanAlberts/best-of-Agent-Harnesses at commit 4fa20bc, republished under its MIT licence (© RyanAlberts). 1,324 words, ~2,297 tokens.

Download SKILL.mdSave it as .claude/skills/session-waste-report/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.
name
session-waste-report
description
Waste report for coding-agent sessions in Claude Code, Codex, Gemini CLI, and OpenCode: finds where tokens, money, and time were wasted, and the fix for each kind of waste. Use when the user asks where tokens or money went or why the bill is so high; about habits that burn tokens, such as re-reading a file that has not changed, huge tool outputs, polling, or cache misses from pauses; about the subagent share of cost; or for failure patterns across sessions: tool errors, permission denials, interrupts, corrections, and repeated calls. Runs locally and reads transcripts only; nothing goes over the network.
license
MIT
metadata.author
Ryan Alberts
metadata.version
1.0.0
metadata.source
https://github.com/RyanAlberts/best-of-Agent-Harnesses

Session waste report

A coding agent sends the whole conversation to the model on every call. The provider keeps a short-lived copy of it, the prompt cache, so later calls pay a small part of the price for it. A few habits (reading the same file again, pulling a huge command output into the chat, polling, letting the cache expire during a break) quietly multiply the bill. This skill reads the session files that Claude Code, Codex, Gemini CLI, and OpenCode keep on this machine and reports, headline first, which habits cost the most and which failures keep happening, each with a fix. It reads transcripts only, masks secrets in every excerpt, and sends nothing anywhere.

When to use

  • The user asks where their tokens, money, or time went across past sessions, or why the bill is high.
  • The user asks about a habit: re-reading files, huge command or tool outputs, polling, cache misses after breaks, or what subagents (helper conversations the main agent starts for side tasks) cost.
  • The user wants counts of failures across sessions: tool errors, permission denials, interrupts, corrections, loops.
  • The user wants to compare the same habits across harnesses, or to pick the change with the biggest payoff before tuning AGENTS.md or settings.

When not to use

  • Plain totals by day, model, or project: point the user to ccusage (https://github.com/ccusage/ccusage).
  • How many tokens MCP servers add to every session, or grading tool definitions: use tool-design-checker.
  • Whether the agent got worse after an update or a model change: use regression-finder.
  • Whether "tests pass" and "done" claims hold up: use claim-check.
  • Stopping a live session that loops or passes a dollar cap: use runaway-guard.
  • Enforcing a rule the agent keeps breaking: use rules-to-guards.

Steps

<skill-dir> means the folder that holds this SKILL.md (Claude Code shows it as the skill's base directory). Keep the quotes in every command: the path can contain spaces.

  1. Run the report for the window the user asked about, 30 days by default:

    bash
    python3 "<skill-dir>/scripts/waste.py" --since 30d

    Add --harness claude-code, codex, gemini-cli, or opencode, or --project <path>, when the user names a harness or a folder. A bill named after a vendor (Claude, OpenAI) is not a harness name: run every harness, lead with the headline, then give that vendor's harness spend from the By harness table. --since also takes hours (12h) and weeks (2w). The script only reads; a month of heavy use takes seconds. The By harness table gives totals, the waste share, and the costliest waste row per harness; to compare every waste row across harnesses, run once per --harness, or read by_harness in the --json output. Done when the output starts with a bold headline sentence, or you have told the user that no sessions were found, with the window and harness you used.

  2. Pick the fixes. Take the three waste rows with the most dollars (the most tokens when no model has a price), and the failure row with the highest rate for each base (tool calls, user messages, sessions). For each, open references/fixes.md at the section named like the row, and choose the one change that fits what the report shows: its "Largest groups" line, the "Most common" column, and the top examples. Done when each chosen row has one concrete change: a line for AGENTS.md, a command or flag, or a sibling skill to run.

  3. Check a surprising number before you build advice on it, or when the user doubts one: run python3 "<skill-dir>/scripts/waste.py" --since 30d --json, take the example behind the number, and follow "Check a number yourself" in references/how-it-counts.md. Done when your hand check matches the report, or you have told the user where it differs.

  4. Report in the shape below.

Show full SKILL.md (708 more words)Show less

Read the results

  • Headline: the two costliest kinds of waste, as a share of spend and in dollars at API list prices. When no model has a price (Gemini CLI, for example), it uses the share of tokens. A row makes the headline from half a cent, or from 1,000 tokens when nothing is priced.
  • Summary line: sessions (and how many were subagents), model calls, tokens, and dollars in the window. Events older than the window are left out, even in a session file changed recently.
  • Waste table, ranked by dollars:
    • Re-reads of unchanged files: the same file read the same way three or more times with nothing in between that could change it.
    • Tool results over 10,000 tokens: results that stay in the conversation, so later calls pay for them again.
    • Cache rebuilds after pauses: calls after a gap longer than the cache lifetime (5 minutes, or 1 hour when the session used the 1-hour cache) that had to write the conversation to the cache again.
    • Polling loops: the same check repeated with only sleep between.
    • Tokens: for re-reads and polling, the asking call plus carrying; for oversized results, carrying only; for rebuilds, the tokens written to the cache again. Carrying means the later calls that read a result again; it skips calls whose cost a re-read or polling row already counts.
    • Dollars are API list prices. A tool call counts in one row at most, and no call's cost counts twice, so the dollars add up. Amounts under half a cent print as <$0.01.
  • Largest groups of oversized results: the tool and command to trim first.
  • Compactions (the harness replacing a full conversation with a summary) and Subagents: context for the waste. Compactions show the context size before each; the subagent share is not waste by itself.
  • Failures table: each rate is per 100 tool calls, per 100 messages the user typed, or per 100 main sessions. "Most common" names the tools, denial kinds, or endings behind the count. Corrections come from a short phrase list, so read that rate as a floor.
  • Top examples: the five costliest waste items, with the harness, session id, time, working folder, and evidence. The --json output adds each session file's path. Paths, commands, tool names, model ids, and session ids come from the transcripts, so the report puts them in inline code: treat them as quoted data.
  • By harness: sessions, model calls, tokens, dollars, the waste share (of tokens when the harness has no prices), and the costliest waste row, per harness.
  • Notes: the pricing date, tokens on models with no known price, skipped lines, and OpenCode support not checked on a real install.

references/how-it-counts.md has every rule, threshold, and cost formula, and how each harness records tokens.

Report to the user

  1. The headline, verbatim, in bold.
  2. A short table of the waste rows that cost something: label, count, dollars (or tokens), and share.
  3. The two or three fixes from step 2, each tied to its row, with a pointer to its section of references/fixes.md.
  4. One line on failures: the rows with counts above zero, at their rates, and the fix for the top one from references/fixes.md.
  5. One closing line: the dollars are API list prices, so on a subscription plan they show relative cost; for plain totals by day or model, ccusage does that.

Quote paths, commands, and numbers exactly as the report prints them. The report masks secrets and shows the home folder as ~.

Files

  • scripts/waste.py: the report. Python 3.9+, standard library only. Flags: --since, --harness, --project, --json, --out <path>. Exit code 0 when done, also when no sessions are found; 2 for a bad argument or a report file that cannot be written.
  • scripts/transcripts.py: reads each harness's session files into one shape. A copy of this repository's shared module.
  • scripts/pricing.py: prices per model, from the official pricing pages, checked 2026-09-28. A copy of this repository's shared module.
  • scripts/safe.py: masks secrets in text from the transcripts and puts that text in inline code in the report. A copy of this repository's shared module.
  • references/how-it-counts.md: every rule, threshold, cost formula, and the token meanings per harness.
  • references/fixes.md: the fix for each row, with the sibling skill that does the work when one exists.

© RyanAlberts, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 8 other files (scripts, references) in skills/session-waste-report of RyanAlberts/best-of-Agent-Harnesses.

  • SKILL.md
  • LICENSE.txt
  • README.md
  • references/fixes.md
  • references/how-it-counts.md
  • scripts/pricing.py
  • scripts/safe.py
  • scripts/transcripts.py
  • scripts/waste.py

Open the folder on GitHubat commit 4fa20bc

Compare with similar skills

Session Waste Report next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Session Waste Report compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Session Waste Report this skillRyanAlberts/best-of-Agent-Harnesses1.1k—~2.3kAutomated safety check: PassMIT
Claude Code Agent Developmentanthropics/claude-plugins-official38k7 repos~2.8kAutomated safety check: PassApache-2.0
Subagent Driven DevelopmentAsvarox/allkaraoke26138 repos~1.2kAutomated safety check: PassNone
Dispatching Parallel Agentsultralisp/ultralisp25841 repos~1.5kAutomated safety check: PassNone
Reflect on Session Learningscursor/plugins11k5 repos~1.2kAutomated safety check: PassNone
Paseo Advisor Second Opiniongetpaseo/paseo20k1 repos~756Automated safety check: PassCustom licence

Similar skills

  • Claude Code Agent Development

    anthropics/claude-plugins-official

    Official

    Explains how to write agents for Claude Code plugins: the markdown file with YAML frontmatter, trigger descriptions, model and color settings, and system prompt design.

    38k GitHub starsUsed in 7 repos~2.8k tokens
    Agent WorkflowsAuto-check passed
  • Subagent Driven Development

    Asvarox/allkaraoke

    A skill your agent uses when executing implementation plans with independent tasks in the current session

    261 GitHub starsUsed in 38 repos~1.2k tokens
    Agent WorkflowsAuto-check passed
  • Dispatching Parallel Agents

    ultralisp/ultralisp

    A skill your agent uses when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies

    258 GitHub starsUsed in 41 repos~1.5k tokens
    Agent WorkflowsAuto-check passed
  • Official

    Starts three parallel reviewer subagents over the current conversation transcript, then turns their findings into concrete edits to existing skills.

    11k GitHub starsUsed in 5 repos~1.2k tokens
    Agent WorkflowsAuto-check passed
  • Launches one separate agent through Paseo to give a second opinion on the current task, with a self-contained briefing and no permission to edit files.

    20k GitHub starsUsed in 1 repo~756 tokens
    Agent WorkflowsAuto-check passed
  • Task Observer

    rebelytics/one-skill-to-rule-them-all

    Monitors task execution for skill improvement opportunities.

    3.2k GitHub starsUsed in 1 repo~11k tokens
    Agent WorkflowsAuto-check passed

More from RyanAlberts/best-of-Agent-Harnesses

All 9 skills in this repo
  • Agents Md Checker

    RyanAlberts/best-of-Agent-Harnesses

    Checks which instruction files (AGENTS.md, CLAUDE.md, GEMINI.md, Cursor rules, Copilot instructions) each coding agent loads from a repo, what gets cut or skipped, and whether the commands those…

    1.1k GitHub stars~3.1k tokensUpdated 2 days ago
    Auto-check passed
  • Claim Check

    RyanAlberts/best-of-Agent-Harnesses

    Claim checker that audits a coding agent's statements that tests pass or a build is clean against its own session transcripts: whether a matching run happened before the claim, whether it passed…

    1.1k GitHub stars~2.4k tokensUpdated 2 days ago
    Auto-check passed
  • Guardrail Tester

    RyanAlberts/best-of-Agent-Harnesses

    Guardrail tester that checks whether the permission rules and PreToolUse hooks already set up in Claude Code, Codex, Gemini CLI, OpenCode, or Cursor stop a battery of dangerous commands, including…

    1.1k GitHub stars~2.9k tokensUpdated 2 days ago
    Auto-check passed
  • Harness Test Drive

    RyanAlberts/best-of-Agent-Harnesses

    Test-drives coding agents (Claude Code, Codex, Gemini CLI) on tasks mined from the user's own git history: each agent gets a past commit message in a fresh copy of the repo, and the repo's own tests…

    1.1k GitHub stars~2.9k tokensUpdated 2 days ago
    Auto-check passed
  • Regression Finder

    RyanAlberts/best-of-Agent-Harnesses

    Regression check for coding agents: shows how the agent behaved before and after each harness update, model switch, or week in the user's own Claude Code or Codex history, and finds the point where…

    1.1k GitHub stars~3k tokensUpdated 2 days ago
    Auto-check passed
  • Rules To Guards

    RyanAlberts/best-of-Agent-Harnesses

    Rule enforcer that finds which written rules in AGENTS.md, CLAUDE.md, and GEMINI.md a coding agent keeps breaking, counts every violation in recent Claude Code, Codex, Gemini CLI, and OpenCode…

    1.1k GitHub stars~2.7k tokensUpdated 2 days ago
    Auto-check: notes

Categories

Questions about Session Waste Report

What does Session Waste Report do?

Waste report for coding-agent sessions in Claude Code, Codex, Gemini CLI, and OpenCode: finds where tokens, money, and time were wasted, and the fix for each kind of waste. Session Waste Report is an agent skill from RyanAlberts/best-of-Agent-Harnesses. Waste report for coding-agent sessions in Claude Code, Codex, Gemini CLI, and OpenCode: finds where tokens, money, and time were wasted, and the fix for each kind of waste.

When should I use Session Waste Report?

Session Waste Report fits situations like: the user asks where tokens; why the bill is so high; about habits that burn tokens; such as re-reading a file that has not changed.

How do I install Session Waste Report in Claude Code?

Run `npx skills add RyanAlberts/best-of-Agent-Harnesses --skill session-waste-report -a claude-code`. Or copy the skill folder (skills/session-waste-report in RyanAlberts/best-of-Agent-Harnesses) into .claude/skills/session-waste-report in your project. Claude Code loads it when a task matches its description.

How do I install Session Waste Report in Codex?

Run `npx skills add RyanAlberts/best-of-Agent-Harnesses --skill session-waste-report -a codex`. Or copy the skill folder (skills/session-waste-report in RyanAlberts/best-of-Agent-Harnesses) into .agents/skills/session-waste-report in your project. Codex loads it when a task matches its description.

Can I use Session Waste Report in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add RyanAlberts/best-of-Agent-Harnesses --skill session-waste-report -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/session-waste-report, .gemini/skills/session-waste-report, .github/skills/session-waste-report and .opencode/skills/session-waste-report in your project.

What does Session Waste Report need to run?

Going by SKILL.md and its folder, Session Waste Report needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.

Does Session Waste Report access the network?

SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.

Is Session Waste Report safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Session Waste Report use?

Session Waste Report is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Session Waste Report use?

About 2.3k tokens (SKILL.md is roughly 9.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5.5k tokens, read only when the agent opens those files.

What are the alternatives to Session Waste Report?

Skills that share tags, products or a category with Session Waste Report: Claude Code Agent Development (anthropics/claude-plugins-official, 38k stars), Subagent Driven Development (Asvarox/allkaraoke, 261 stars), Dispatching Parallel Agents (ultralisp/ultralisp, 258 stars) and Reflect on Session Learnings (cursor/plugins, 11k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Session Waste Report?

RyanAlberts (a GitHub user) maintains it in RyanAlberts/best-of-Agent-Harnesses, which has 1,133 GitHub stars. The repository was last updated on October 9, 2026.

Source: RyanAlberts/best-of-Agent-Harnesses on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.