skillreaper CLI
skillreaper finds skills, MCP servers and subagents that never fired in your session logs and reversibly cleans your context
- 65 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- `prune`, `mute` and `install-hook` change files in the Claude directory, although every change is reversible
- The tool reads every session transcript, which holds everything the agent saw, secrets included
Install
- Works in
Manual install
npx skillreaperFor a permanent install: `npm install -g skillreaper` or `brew install thousandflowers/tap/skillreaper`.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- `prune`, `mute` and `install-hook` change files in the Claude directory, although every change is reversible
- The tool reads every session transcript, which holds everything the agent saw, secrets included
This is third-party code. Review the repository files before installing.
What it does
skillreaper is a Go program that measures what fills your agent's context. It reads your session transcripts and config on disk, finds skills, MCP servers, subagents, hooks and always-loaded prose that never fired, and counts the tokens they cost per session. Zero config: `npx skillreaper`, and after installing the same job is done by `reap`. Measurement is read-only. `reap gap` shows the used share of each category, `reap by-project` ties skills to projects and `reap why <name>` explains a verdict with evidence. The commands that write are reversible: `reap prune` moves dead items into a `reaped/` folder, `reap mute` strips a heavy description but keeps the skill callable and `reap restore --all` brings everything back. For big libraries `reap route` proposes a lazy-load plan and `reap apm` drafts an `apm.yml`, while `reap snapshot` and `reap diff` compare the state before and after a cleanup. Nothing goes over the network: no telemetry and no uploads. In Claude Code you can add the plugin with `/plugin marketplace add thousandflowers/skillreaper`; it drives the same binary.
Who it is for. People whose Claude Code and other agents carry dozens of skills and MCP servers and burn context before the first message.
Good fit when
- Every session starts with hundreds of loaded items and you need to know which ever fired
- Before cleaning up you want evidence from session transcripts, since deleting by guess will not do
- The description of a heavy but rare skill has to shrink with `reap mute` without losing the skill
- A team needs one lean shared set: `reap apm` drafts an `apm.yml` that reproduces it
Not a fit when
- The agent is freshly installed and has no session logs, so there is no evidence for a verdict
- You want to delete files permanently: `reap prune` only quarantines them
- You need a quality review of skills: the tool measures use, not usefulness
Example request
Run reap, show how many tokens per session unused skills cost and explain the verdict on one of them with reap whyLimitations
- Verdicts rest on session transcripts over a window, usually 30 days. Rare but important skills such as seasonal ones can land among removal candidates, so check `reap why` before `reap prune` and protect what you need with `reap keep`.
- Token counts are estimates from character counts, and the money line in the README is, in the author's words, the weakest number, measured on one install.
- Incomplete evidence never turns into a REAP verdict: those items are held back with a warning.
- Writes are limited to your Claude directory and are atomic.
How to disable. `reap restore --all` rolls every change back and `reap uninstall-hook` removes the hook. Remove the tool with `npm uninstall -g skillreaper` or `brew uninstall skillreaper`.
FAQ
How do I run skillreaper?
Run `npx skillreaper` in a terminal. For a permanent install use `brew install thousandflowers/tap/skillreaper`, `npm install -g skillreaper` or `go install github.com/thousandflowers/skillreaper/cmd/reap@latest`.
Is `reap prune` safe?
It is reversible: files move to a `reaped/` folder with a versioned manifest and `reap restore --all` puts them back. It is not deletion.
Does skillreaper send data anywhere?
No. The README states fully local operation: no telemetry, no network, no uploads, only reading config and transcripts on disk.
What does the REAP verdict mean?
A label for an item that never fired in your session transcripts. `reap why <name>` shows the reason and the evidence.
Does it work outside Claude Code?
Yes, the README lists the supported platforms in a table, and the Claude Code plugin drives the same binary.
Discussion
No questions or reviews yet.
Related
CLI toolsSkrills validates and syncs skills, subagents, MCP servers and hooks across Claude Code, Codex CLI, Copilot CLI and Cursor
A plugin and skill that pick three vetted skills for a task from an offline registry, with a safety grade and reasons.
Local semantic search over 374 skills: the agent finds one by describing its task and reads the full text only after choosing.
A library of thousands of ML skills distilled from popular repositories, plus the DisCo CLI to load them into an agent
The command-line client of the skilld.dev registry that installs agent skills into a project and tracks their changes
A desktop app and CLI to install, sync and organize agent skills across Claude Code, Codex, Cursor and other tools
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Repository stars | Main difference |
|---|---|---|---|
| skillreaper (this card) | no | 65 | |
| Cozempic | no | 430 | Cozempic strips ballast inside Claude Code sessions, while skillreaper finds unused skills and MCP servers from transcripts. |
| fast-jev-compaction | no | 7,967 | That plugin prunes stale calls from conversation history, while skillreaper removes whole unused items from loading. |
README in short
The README shows a sample report on a generated stack, frames the tool as a measuring instrument for context, lists commands by stage (measure, decide, act, compare) and covers privacy and install routes.