{"id":"617a5e54-1e4c-4d84-96a8-4e976626b621","shortId":"Cz97FQ","kind":"skill","title":"janitor-report","tagline":"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.","description":"# Health Report\n\nGenerate a comprehensive health report combining inventory, quality checks, duplicate detection, and broken skill findings.\n\n## How to Run\n\nRun all analysis scripts and combine results:\n\n```bash\nbash ~/.claude/skills/skills-janitor/scripts/scan.sh\nbash ~/.claude/skills/skills-janitor/scripts/lint.sh\nbash ~/.claude/skills/skills-janitor/scripts/detect_dupes.sh\n```\n\n## What It Covers\n\n### Inventory (scan.sh)\n- All skills across user, project, plugin, and account scopes\n- Symlink status, frontmatter fields, line counts\n\n### Quality Checks (lint.sh)\n- **Critical**: Broken symlinks, missing SKILL.md, missing frontmatter\n- **Warning**: Missing/empty name or description, description too short/long, missing version\n- **Info**: No body content, no Gotchas section, large files\n\n### Duplicate Detection (detect_dupes.sh)\n- Keyword overlap analysis using Jaccard similarity\n- Flags pairs with >30% overlap\n- Shows shared keywords and scopes\n\n### Broken & Orphaned Skills\n- Broken symlinks (target deleted)\n- Empty directories (no SKILL.md)\n- Orphaned user-scope copies of plugin skills\n\n## Report Format\n\nPresent a unified report with severity levels:\n\n```\n| Skill              | Scope   | Status      | Issues                          |\n|--------------------|---------|-------------|---------------------------------|\n| marketing-copy     | user    | OK          | -                               |\n| seo-audit          | user    | WARNING     | Description too short (28 chars) |\n| old-deploy-helper  | user    | CRITICAL    | Broken symlink                  |\n| marketing-copy-v2  | user    | DUPLICATE?  | 72% overlap with marketing-copy |\n```\n\n### Recommended Actions\nFor each issue found, suggest:\n- Broken symlinks: `/janitor-fix --prune`\n- Quality issues: `/janitor-fix`\n- Duplicates: manual review, consider removing one\n- Token waste: `/janitor-tokens`\n\n## Related Skills\n\n- For inventory only: `/janitor-audit`\n- For auto-fixing: `/janitor-fix`\n- For usage analytics: `/janitor-usage`\n- For token cost: `/janitor-tokens`","tags":["janitor","report","skills","khendzel","agent-skills","claude-code","claude-code-skills","cli","developer-tools","productivity"],"capabilities":["skill","source-khendzel","skill-janitor-report","topic-agent-skills","topic-claude-code","topic-claude-code-skills","topic-cli","topic-developer-tools","topic-productivity"],"categories":["skills-janitor"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/khendzel/skills-janitor/janitor-report","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add khendzel/skills-janitor","source_repo":"https://github.com/khendzel/skills-janitor","install_from":"skills.sh"}},"qualityScore":"0.493","qualityRationale":"deterministic score 0.49 from registry signals: · indexed on github topic:agent-skills · 87 github stars · SKILL.md body (2,047 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-02T06:55:33.613Z","embedding":null,"createdAt":"2026-04-18T22:13:26.034Z","updatedAt":"2026-05-02T06:55:33.613Z","lastSeenAt":"2026-05-02T06:55:33.613Z","tsv":"'/.claude/skills/skills-janitor/scripts/detect_dupes.sh':69 '/.claude/skills/skills-janitor/scripts/lint.sh':67 '/.claude/skills/skills-janitor/scripts/scan.sh':65 '/janitor-audit':233 '/janitor-fix':214,218,238 '/janitor-tokens':227,246 '/janitor-usage':242 '28':183 '30':131 '72':199 'account':82 'across':77 'action':206 'analysi':58,124 'analyt':241 'audit':177 'auto':236 'auto-fix':235 'bash':63,64,66,68 'bodi':112 'broken':26,50,94,138,141,191,212 'char':184 'check':6,20,46,91 'combin':43,61 'complet':31 'comprehens':40 'consid':222 'content':113 'copi':153,172,195,204 'cost':245 'count':89 'cover':72 'critic':93,190 'delet':144 'deploy':187 'descript':104,105,180 'detect':25,48,120 'detect_dupes.sh':121 'directori':146 'duplic':24,47,119,198,219 'empti':145 'error':22 'field':87 'file':118 'find':23,52 'fix':237 'flag':128 'format':158 'found':210 'frontmatt':86,99 'full':4 'generat':38 'get':29 'gotcha':115 'health':5,35,36,41 'helper':188 'info':110 'inventori':44,73,231 'issu':169,209,217 'jaccard':126 'janitor':2 'janitor-report':1 'keyword':122,135 'larg':117 'level':165 'line':88 'lint.sh':92 'manual':220 'market':171,194,203 'marketing-copi':170,202 'marketing-copy-v2':193 'miss':96,98,108 'missing/empty':101 'name':102 'ok':174 'old':186 'old-deploy-help':185 'one':12,224 'orphan':139,149 'overlap':123,132,200 'overview':32 'pair':129 'plugin':80,155 'present':159 'project':79 'prune':215 'qualiti':45,90,216 'recommend':205 'relat':228 'remov':223 'report':3,13,37,42,157,162 'result':62 'review':221 'run':55,56 'scan.sh':74 'scope':83,137,152,167 'script':59 'section':116 'seo':176 'seo-audit':175 'sever':164 'share':134 'short':182 'short/long':107 'show':133 'similar':127 'skill':10,27,34,51,76,140,156,166,229 'skill-janitor-report' 'skill.md':97,148 'source-khendzel' 'status':85,168 'suggest':211 'symlink':84,95,142,192,213 'target':143 'token':225,244 'topic-agent-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-cli' 'topic-developer-tools' 'topic-productivity' 'unifi':161 'usag':240 'use':14,125 'user':17,78,151,173,178,189,197 'user-scop':150 'v2':196 'version':109 'want':18 'warn':100,179 'wast':226","prices":[{"id":"f9557765-8245-4605-b2d7-50e93705fd80","listingId":"617a5e54-1e4c-4d84-96a8-4e976626b621","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"khendzel","category":"skills-janitor","install_from":"skills.sh"},"createdAt":"2026-04-18T22:13:26.034Z"}],"sources":[{"listingId":"617a5e54-1e4c-4d84-96a8-4e976626b621","source":"github","sourceId":"khendzel/skills-janitor/janitor-report","sourceUrl":"https://github.com/khendzel/skills-janitor/tree/main/skills/janitor-report","isPrimary":false,"firstSeenAt":"2026-04-18T22:13:26.034Z","lastSeenAt":"2026-05-02T06:55:33.613Z"}],"details":{"listingId":"617a5e54-1e4c-4d84-96a8-4e976626b621","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"khendzel","slug":"janitor-report","github":{"repo":"khendzel/skills-janitor","stars":87,"topics":["agent-skills","claude-code","claude-code-skills","cli","developer-tools","productivity"],"license":"mit","html_url":"https://github.com/khendzel/skills-janitor","pushed_at":"2026-05-01T05:58:41Z","description":"Audit, track usage, and manage your Claude Code and OpenAI Codex skills. 7 slash commands, zero dependencies.","skill_md_sha":"fdb648c1f49827a99cd5e1b413c06286a7db2c5f","skill_md_path":"skills/janitor-report/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/khendzel/skills-janitor/tree/main/skills/janitor-report"},"layout":"multi","source":"github","category":"skills-janitor","frontmatter":{"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."},"skills_sh_url":"https://skills.sh/khendzel/skills-janitor/janitor-report"},"updatedAt":"2026-05-02T06:55:33.613Z"}}