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…
Full health check of all your skills in one report. Use when the user wants to check for errors, find duplicates, detect broken skills, or get a complete overview of skill health. Pass --brief for inventory only. Trigger with '/janitor-report'.
$ npx -y skills add khendzel/skills-janitor --skill janitor-report --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/janitor-reportContext preview
The summary Claude sees to decide when to auto-load this skill.
Full health check of all your skills in one report. Use when the user wants to check for errors, find duplicates, detect broken skills, or get a complete overview of skill health. Pass --brief for inventory only. Trigger with '/janitor-report'.
name: janitor-report description: "Full health check of all your skills in one report. Use when the user wants to check for errors, find duplicates, detect broken skills, or get a complete overview of skill health. Pass --brief for inventory only. Trigger with '/janitor-report'." allowed-tools: Read, Bash(bash:*) argument-hint: "[--brief]" 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, installed plugin metadata). tags: - skills - health-check - duplicates - maintenance - inventory
Generate a comprehensive health report combining inventory, quality checks, duplicate detection, and broken skill findings.
One report covering every place a skill lives: user, project, codex, plugin, and source scopes. Plugin skills appear with their full invocation name (e.g. `marketing-skills:image`, `figma:figma-use`) — these were invisible to the v1.2 report. The scan JSON also includes an `agents` array (subagents from `~/.claude/agents` — their descriptions are always-loaded too) and per-plugin `update_available` (installed commit vs marketplace HEAD) — surface stale plugins and heavy agents in the report.
Modes:
Full report:
bash ~/.claude/skills/skills-janitor/scripts/scan.sh bash ~/.claude/skills/skills-janitor/scripts/lint.sh bash ~/.claude/skills/skills-janitor/scripts/detect_dupes.sh
Brief mode (inventory only):
bash ~/.claude/skills/skills-janitor/scripts/scan.sh
Merge the three outputs into one table with severity levels, then recommend actions.
| Skill | Scope | Status | Issues | |----------------------------------|----------|-------------|------------------------------------------| | marketing-copywriting | user | DUPLICATE? | 90% overlap with marketing-skills:copywriting | | seo-audit | user | WARNING | Description too short | | old-deploy-helper | user | CRITICAL | Broken symlink | | figma:figma-use | plugin | OK | - |
Recommended actions per issue type:
1. **Error**: `scan.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 scripts from their actual location.
2. **Error**: Scan output is not valid JSON **Solution**: Re-run with stderr visible (drop any `2>/dev/null`) and report the failing line; a skill directory with unusual characters is the usual cause.
3. **Error**: `plugins` array is empty despite installed plugins **Solution**: `~/.claude/plugins/installed_plugins.json` is missing or in an unknown format — report which Claude Code version is in use.
**Input**: "Check my skills for problems."
**Output**: Run all three scripts, merge into the severity table, and lead with counts: "175 skills scanned: 2 critical (broken symlinks), 5 warnings, 3 likely duplicates, 2 plugins have updates available."
**Input**: "/janitor-report --brief"
**Output**: Run `scan.sh` only and present the inventory grouped by scope with per-scope counts.
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…
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…
Show whether each skill is earning its context-window cost — combined tokens-used view sorted by waste. Use when the user asks…