{"id":"d3c9374b-ad46-433d-b034-8b527fd5f6cf","shortId":"qHsXHZ","kind":"skill","title":"janitor-fix","tagline":"Automatically fix skill problems (safe preview first). Also use with --prune to find and remove broken symlinks, empty directories, and orphaned skills.","description":"# Auto-Fix\n\nAutomatically fix common skill issues. Dry-run by default - shows what would change without modifying files.\n\n## How to Run\n\n```bash\nbash ~/.claude/skills/skills-janitor/scripts/fix.sh            # preview fixes\nbash ~/.claude/skills/skills-janitor/scripts/fix.sh --apply     # apply fixes\nbash ~/.claude/skills/skills-janitor/scripts/fix.sh --prune     # find broken/orphaned skills\nbash ~/.claude/skills/skills-janitor/scripts/fix.sh --prune --apply  # remove broken skills\n```\n\n## What It Fixes\n\n- Adds missing frontmatter delimiters (`---`)\n- Fills empty `description` fields with a template\n- Adds missing `version` field (defaults to \"1.0.0\")\n- Generates template descriptions using the skill folder name\n\n## Prune Mode (`--prune`)\n\nFinds and removes broken skills:\n- **Broken symlinks** - skill folder points to deleted source\n- **Empty directories** - skill folder with no SKILL.md\n- **Orphaned skills** - user-scope copies of plugin skills\n\nDry-run by default. Pass `--apply` to actually remove them.\n\n## Safety\n\n- **Dry-run by default** - must pass `--apply` to write changes\n- Skips plugin/marketplace skills (changes get overwritten on update)\n- Skips broken symlinks (unless `--prune` mode)\n- Logs ALL changes with timestamps to `data/changelog.log`\n- Always asks for confirmation before removing\n\n## Related Skills\n\n- For finding issues: `/janitor-report`\n- For usage analytics: `/janitor-usage`\n- For token cost: `/janitor-tokens`","tags":["janitor","fix","skills","khendzel","agent-skills","claude-code","claude-code-skills","cli","developer-tools","productivity"],"capabilities":["skill","source-khendzel","skill-janitor-fix","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-fix","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 (1,457 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-02T12:55:15.599Z","embedding":null,"createdAt":"2026-04-18T22:13:24.507Z","updatedAt":"2026-05-02T12:55:15.599Z","lastSeenAt":"2026-05-02T12:55:15.599Z","tsv":"'/.claude/skills/skills-janitor/scripts/fix.sh':51,55,60,66 '/janitor-report':188 '/janitor-tokens':196 '/janitor-usage':192 '1.0.0':92 'actual':141 'add':75,86 'also':11 'alway':177 'analyt':191 'appli':56,57,68,139,152 'ask':178 'auto':27 'auto-fix':26 'automat':4,29 'bash':49,50,54,59,65 'broken':19,70,107,109,165 'broken/orphaned':63 'chang':42,155,159,172 'common':31 'confirm':180 'copi':129 'cost':195 'data/changelog.log':176 'default':38,90,137,149 'delet':115 'delimit':78 'descript':81,95 'directori':22,118 'dri':35,134,146 'dry-run':34,133,145 'empti':21,80,117 'field':82,89 'file':45 'fill':79 'find':16,62,104,186 'first':10 'fix':3,5,28,30,53,58,74 'folder':99,112,120 'frontmatt':77 'generat':93 'get':160 'issu':33,187 'janitor':2 'janitor-fix':1 'log':170 'miss':76,87 'mode':102,169 'modifi':44 'must':150 'name':100 'orphan':24,124 'overwritten':161 'pass':138,151 'plugin':131 'plugin/marketplace':157 'point':113 'preview':9,52 'problem':7 'prune':14,61,67,101,103,168 'relat':183 'remov':18,69,106,142,182 'run':36,48,135,147 'safe':8 'safeti':144 'scope':128 'show':39 'skill':6,25,32,64,71,98,108,111,119,125,132,158,184 'skill-janitor-fix' 'skill.md':123 'skip':156,164 'sourc':116 'source-khendzel' 'symlink':20,110,166 'templat':85,94 'timestamp':174 'token':194 'topic-agent-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-cli' 'topic-developer-tools' 'topic-productivity' 'unless':167 'updat':163 'usag':190 'use':12,96 'user':127 'user-scop':126 'version':88 'without':43 'would':41 'write':154","prices":[{"id":"b2e0b967-8e21-477e-bd11-497c228bd1cb","listingId":"d3c9374b-ad46-433d-b034-8b527fd5f6cf","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:24.507Z"}],"sources":[{"listingId":"d3c9374b-ad46-433d-b034-8b527fd5f6cf","source":"github","sourceId":"khendzel/skills-janitor/janitor-fix","sourceUrl":"https://github.com/khendzel/skills-janitor/tree/main/skills/janitor-fix","isPrimary":false,"firstSeenAt":"2026-04-18T22:13:24.507Z","lastSeenAt":"2026-05-02T12:55:15.599Z"}],"details":{"listingId":"d3c9374b-ad46-433d-b034-8b527fd5f6cf","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"khendzel","slug":"janitor-fix","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":"d3e28dcedddf80d79fd2ecd0906a5d3c01607888","skill_md_path":"skills/janitor-fix/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/khendzel/skills-janitor/tree/main/skills/janitor-fix"},"layout":"multi","source":"github","category":"skills-janitor","frontmatter":{"name":"janitor-fix","description":"Automatically fix skill problems (safe preview first). Also use with --prune to find and remove broken symlinks, empty directories, and orphaned skills."},"skills_sh_url":"https://skills.sh/khendzel/skills-janitor/janitor-fix"},"updatedAt":"2026-05-02T12:55:15.599Z"}}