Skills-janitor janitor-fix

Automatically fix skill problems (safe preview first). Also use with --prune to find and remove broken symlinks, empty directories, and orphaned skills.

install
source · Clone the upstream repo
git clone https://github.com/khendzel/skills-janitor
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/khendzel/skills-janitor "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/janitor-fix" ~/.claude/skills/khendzel-skills-janitor-janitor-fix && rm -rf "$T"
manifest: skills/janitor-fix/SKILL.md
source content

Auto-Fix

Automatically fix common skill issues. Dry-run by default - shows what would change without modifying files.

How to Run

bash ~/.claude/skills/skills-janitor/scripts/fix.sh            # preview fixes
bash ~/.claude/skills/skills-janitor/scripts/fix.sh --apply     # apply fixes
bash ~/.claude/skills/skills-janitor/scripts/fix.sh --prune     # find broken/orphaned skills
bash ~/.claude/skills/skills-janitor/scripts/fix.sh --prune --apply  # remove broken skills

What It Fixes

  • Adds missing frontmatter delimiters (
    ---
    )
  • Fills empty
    description
    fields with a template
  • Adds missing
    version
    field (defaults to "1.0.0")
  • Generates template descriptions using the skill folder name

Prune Mode (
--prune
)

Finds and removes broken skills:

  • Broken symlinks - skill folder points to deleted source
  • Empty directories - skill folder with no SKILL.md
  • Orphaned skills - user-scope copies of plugin skills

Dry-run by default. Pass

--apply
to actually remove them.

Safety

  • Dry-run by default - must pass
    --apply
    to write changes
  • Skips plugin/marketplace skills (changes get overwritten on update)
  • Skips broken symlinks (unless
    --prune
    mode)
  • Logs ALL changes with timestamps to
    data/changelog.log
  • Always asks for confirmation before removing

Related Skills

  • For finding issues:
    /janitor-report
  • For usage analytics:
    /janitor-usage
  • For token cost:
    /janitor-tokens