janitor-report
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.
git clone --depth 1 https://github.com/khendzel/skills-janitor /tmp/janitor-report && cp -r /tmp/janitor-report/skills/janitor-report ~/.claude/skills/janitor-reportSKILL.md
# Health Report Generate a comprehensive health report combining inventory, quality checks, duplicate detection, and broken skill findings. As of v1.3, the report covers plugin-namespaced skills (e.g. `marketing-skills:image`, `figma:figma-use`) in addition to user and project scope — these were invisible to the v1.2 report. ## Modes - **`/janitor-report`** (default) — full health check: inventory + lint + duplicates + broken - **`/janitor-report --brief`** — inventory only (replaces the old `/janitor-audit`) ## How to Run Full report: ```bash 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 bash ~/.claude/skills/skills-janitor/scripts/scan.sh ``` ## What the Full Report Covers ### Inventory (scan.sh) - All skills across user, project, codex, plugin, and source scopes - Plugin skills appear with their full invocation name (`<plugin>:<skill>`) - Symlink status, frontmatter fields, line counts ### Quality Checks (lint.sh) - **Critical**: Broken symlinks, missing SKILL.md, missing frontmatter - **Warning**: Missing/empty name or description, description too short/long, missing version - **Info**: No body content, no Gotchas section, large files ### Duplicate Detection (detect_dupes.sh) - **Name collisions** — two distinct skills with the same qualified name at different paths - **Description overlap** — Jaccard similarity >30%, with cross-scope user-vs-plugin pairs explicitly surfaced (e.g. `marketing-seo-audit` (user) ↔ `marketing-skills:seo-audit` (plugin)) ## Report Format Present a unified report with severity levels: ``` | 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 For each issue found, suggest: - Broken symlinks → `/janitor-fix --prune` - Quality issues → `/janitor-fix` - User-vs-plugin duplicates → uninstall the user-scope copy and rely on the plugin (or vice versa) - Token waste → `/janitor-value` ## Related Skills - `/janitor-report --brief` — inventory only - `/janitor-fix` — auto-fix issues - `/janitor-value` — token cost + usage (combined) - `/janitor-discover` — find or evaluate new skills
Show all your installed skills. Deprecated alias — use /janitor-report --brief.
Find new skills on GitHub or check a specific skill before installing. Use when the user wants to search for skills, evaluate a skill URL, check overlap with existing skills before installing, or compare a local skill against alternatives.
Automatically fix skill problems (safe preview first). Also use with --prune to find and remove broken symlinks, empty directories, and orphaned skills.
Check if a new skill overlaps with existing ones before installing. Deprecated alias — use /janitor-discover with a URL or path.
Search GitHub for new skills to install. Deprecated alias — use /janitor-discover (combines search + pre-install check).
Show how many context window tokens each skill consumes. Deprecated alias — use /janitor-value (which combines tokens with usage).
Show which skills you use. Deprecated alias — use /janitor-value (which now combines usage + token cost).
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 anything about skill value, token cost, or usage.