janitor-discover
Find new skills on GitHub or check a specific skill before installing. Use when the user wants to search for skills, evaluate a…
Show whether each skill is earning its context-window cost — combined tokens-used view sorted by waste. Use when the user asks 'are my skills worth it', 'what's my context budget', 'which skills are dead weight', or wants to audit skill value, token cost, or usage. Trigger with
$ npx -y skills add khendzel/skills-janitor --skill janitor-value --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/janitor-valueContext preview
The summary Claude sees to decide when to auto-load this skill.
Show whether each skill is earning its context-window cost — combined tokens-used view sorted by waste. Use when the user asks 'are my skills worth it', 'what's my context budget', 'which skills are dead weight', or wants to audit skill value, token cost, or usage. Trigger with
name: janitor-value description: "Show whether each skill is earning its context-window cost — combined tokens-used view sorted by waste. Use when the user asks 'are my skills worth it', 'what's my context budget', 'which skills are dead weight', or wants to audit skill value, token cost, or usage. Trigger with '/janitor-value'." allowed-tools: Read, Bash(bash:*) argument-hint: "[--weeks N] [--budget N] [--json]" version: 1.7.0 author: Krzysztof Hendzel <krzysztoff.hendzel@gmail.com> license: MIT compatibility: Designed for Claude Code. Requires bash 3.2+ (macOS default works). Reads local Claude Code data only (~/.claude/skills, ~/.claude/agents, session history). tags: - skills - context-window - token-budget - usage-tracking - maintenance
Show whether each installed skill is earning the context-window tokens it costs.
Combine token cost and usage tracking into a single view of every installed skill, sorted with the heaviest unused skills at the top. The report splits each skill's cost into what is permanently loaded (the description) and what only loads on demand (the body), then cross-references recent invocations so the user can see which skills are dead weight.
Replaces the v1.2 split between `/janitor-tokens` (cost only) and `/janitor-usage` (usage only).
bash ~/.claude/skills/skills-janitor/scripts/value.sh [--weeks N] [--budget N] [--json]
Show the table and summary to the user. When explaining results, do NOT describe body tokens as permanent context cost — only descriptions are always loaded. Plugin-namespaced skills appear with their full invocation name (e.g., `marketing-skills:image`, `figma:figma-use`).
If "unused skill cost" exceeds 20% of the budget, recommend the user run `/janitor-report` for a full health check or (in v1.4+) `/janitor-swipe` to triage interactively.
A table of every installed skill with:
Followed by a summary:
1. **Error**: `value.sh: No such file or directory` **Solution**: The plugin is installed under a different root. Locate it with `ls ~/.claude/skills` or check the plugin cache, then run the script from its actual location.
2. **Error**: Every skill shows `NO` in the Used? column **Solution**: The lookback window may be too short or session history is empty. Re-run with a longer window, e.g. `--weeks 12`.
3. **Error**: A skill shows 0 tokens **Solution**: Its SKILL.md is missing or unreadable. Run `/janitor-report` to surface broken skills, then `/janitor-fix --prune` to clean them up.
4. **Error**: Percentages look wrong for a non-default model **Solution**: Pass the correct context size explicitly, e.g. `--budget 500000`.
**Input**: "Are my skills worth their token cost?"
**Output**: Run `bash ~/.claude/skills/skills-janitor/scripts/value.sh`, then present the table sorted by waste and the summary line, e.g. "Always-loaded total: 8,420 tokens (4.2% of 200k budget). 6 of 31 skills unused in 4 weeks; top waster: `heavy-skill` (1,900 tokens, never used)."
**Input**: "Check skill usage over the last quarter against a 500k window."
**Output**: Run `bash ~/.claude/skills/skills-janitor/scripts/value.sh --weeks 12 --budget 500000` and present the same table with the adjusted lookback and percentages.
**Input**: "Give me the raw skill value data."
**Output**: Run the script with `--json` and return the JSON payload unmodified.
For the MCP side of context cost, run `bash {baseDir}/../../scripts/mcp.sh [--weeks N]` — inventories every configured server (user, project, plugin) with REAL call counts from session transcripts, and lists servers unused in the window. No token guesses: schemas live server-side, so the janitor reports calls, distinct tools used, and last-used instead.
Tinder for your Claude Code skills. Swipe through your collection and delete what's wasting context, in seconds. Works with Claude Code and OpenAI Codex. 6 commands, zero dependencies. Status (v1.8, September 2026): maintenance mode.
Find new skills on GitHub or check a specific skill before installing. Use when the user wants to search for skills, evaluate a…
Automatically fix skill problems (safe preview first). Also use with --prune to find and remove broken symlinks, empty…
Full health check of all your skills in one report. Use when the user wants to check for errors, find duplicates, detect broken…
Heuristic security scan of installed skills — prompt-injection phrases, hidden unicode instructions, credential-store access,…
Tinder for your Claude Code skills. Reviews a sorted deck of every installed skill and lets you swipe keep / delete / skip on…