Skip to main content
skill CX Codex

reap — Claude Code skill: report on unused context

Shows how much of the context an agent loads goes unused: idle skills, MCP servers, subagents, hooks and always-loaded prose. Measured from real session transcripts.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add thousandflowers/skillreaper --skill reap -a claude-code
Open on GitHub

What reap does

The skill shells out to reap --agent and asks you to paste the output verbatim. No reformatting, no reordering, no trimming, and no headings or tables of your own: the binary renders the whole report, closing attribution line included.

Only arguments starting with - get passed through; anything else is dropped, and the skill says so. The evidence window comes from --days N (30 by default), pricing from --model <id>. Want the full inventory instead of the top rows? Use reap --json. Whether the tool exists is decided by command -v reap alone — a copy found elsewhere on disk might be an older build, and quietly using it would mask a broken install.

When reap is missing, the skill prints a single block: a one-off run via npx skillreaper, plus permanent install options. The --agent flag requires version 0.5.0 or newer; on an older build it fails with flag provided but not defined: -agent, and that calls for an upgrade rather than a fresh install. The skill never prunes anything by itself — reap prune is interactive and aborts without a terminal. Ask for it explicitly and it will run reap prune --yes and mention reap restore --all.

What it helps with

  • figure out why the context window keeps filling up
  • spot skills and MCP servers that never fire
  • measure how many tokens the always-loaded prose costs
  • decide which tools are safe to drop
  • break context spend down by category

Example prompts for the agent

  • Run reap and paste the report as is
  • Run reap over the last 14 days and price it with --model
  • Give me the full inventory with reap --json

How to install reap

1Skills CLI (Vercel)

npx skills add thousandflowers/skillreaper --skill reap -a claude-code

2Manually: put the files in place

~/.claude/skills/reap/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/reap/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about reap

How do I install reap in Claude Code?

Run npx skills add thousandflowers/skillreaper --skill reap -a claude-code. The skill file lands at ~/.claude/skills/reap/SKILL.md.

What does reap do?

It reads session transcripts and reports which loaded context never got used: skills, MCP servers, subagents, hooks and always-loaded prose. Useful when you need to know what is burning tokens.

What does the skill need to work?

A reap binary at version 0.5.0 or newer, since that is what --agent requires. The check runs through command -v reap, so an older copy sitting off PATH will not be picked up.

Source text

SKILL.md · MIT
---
description: Report how much of the context this agent loads is never used - unused skills, MCP servers, subagents, hooks and always-loaded prose - measured from real session transcripts. Use when asked why the context window is full, what is wasting tokens, or what is safe to remove.
---

# skillreaper - context utilization report

Run `reap --agent`, then paste its output verbatim.

Do not reformat, re-order, summarise, truncate or re-align anything, and do not
add a heading or a table of your own: the binary already renders the report,
including its closing attribution line.

## Arguments

Append any `$ARGUMENTS` tokens that begin with `-`; ignore anything else and say
so. `--days N` sets the evidence window (default 30), `--model <id>` prices it.
For the full inventory rather than the top rows, use `reap --json`.

## If reap is not installed

Decide with `command -v reap` and nothing else - never an absolute path, never a
filesystem search: a copy found off `PATH` may be an older build, and silently
using it hides a broken install.

If that fails, print exactly this and nothing else:

> `reap` is not installed. Run it once without installing anything:
>
> ```bash
> npx skillreaper
> ```
>
> Or install it permanently:
>
> ```bash
> brew install thousandflowers/tap/skillreaper
> ```
>
> ```bash
> go install github.com/thousandflowers/skillreaper/cmd/reap@latest
> ```

## If reap is too old

`--agent` needs reap ≥ 0.5.0. If it exits with
`flag provided but not defined: -agent`, say the installed build is too old and
give `brew upgrade skillreaper` (npm: `npm install -g skillreaper@latest`) - an
upgrade, never the install block above, which they have already done.

## Pruning

Never prune on your own initiative. `reap prune` is interactive and aborts when
it has no terminal, so calling it from here does nothing anyway.

If the user explicitly asks in this turn: get an unambiguous yes, run
`reap prune --yes`, and remind them of `reap restore --all`. If the request is
at all ambiguous, hand them the plain `reap prune` command instead.

For the per-category breakdown, point them at `/skillreaper:gap`.

© thousandflowers · MIT · thousandflowers/skillreaper

Similar skills

All skills for Agent setup: memory, context, orchestration →

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor