본문으로 건너뛰기
cccskills
무료GitHub에 공개

janitor-fix

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

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md4.2 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Auto-Fix

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

Overview

Repairs frontmatter problems (missing delimiters, empty descriptions, missing version fields) across user, project, and codex-scope skills, and — in --prune mode — removes broken symlinks and empty skill directories. Plugin/marketplace skills are never modified (changes would be overwritten on update).

Prerequisites

  • Claude Code with the skills-janitor plugin installed (provides scripts/fix.sh)
  • bash 3.2+ (the stock macOS bash works; no external dependencies)
  • Write access to the user's own skill directories (~/.claude/skills, ./.claude/skills, ~/.agents/skills)

Instructions

Step 1: Preview first (always)

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

Step 2: Show the user the preview and confirm

Never jump straight to --apply. Present the [DRY RUN] lines and ask before writing.

Step 3: Apply

bash ~/.claude/skills/skills-janitor/scripts/fix.sh --apply           # apply fixes
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 finds and removes:

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

Safety model: dry-run by default (must pass --apply to write), skips plugin/marketplace skills, logs ALL changes with timestamps to data/changelog.log, always asks for confirmation before removing.

Output

Per-skill action lines ([DRY RUN] / [FIXED] / [PRUNED] / [SKIP]) followed by a summary of fixable issues, skipped items, and prunable entries. In dry-run mode the summary ends with "Run with --apply to make these changes."

Error Handling

  1. Error: A fix produced an unexpected result in a SKILL.md Solution: Every applied change is logged in data/changelog.log with a timestamp — show the log entry and restore the affected field manually; template descriptions are meant to be replaced by the author.

  2. Error: [SKIP] Plugin/marketplace skill - don't modify Solution: Expected behavior, not an error. Plugin content is fixed upstream — suggest the user report the issue to the plugin author instead.

  3. Error: Prune lists a skill the user wants to keep Solution: Do not run --apply. A "broken symlink" that should be kept means its target moved — recreate the link (ln -sfn <new-target> <link>) instead of pruning.

Examples

Example 1: Safe fix cycle

Input: "Fix my skills."

Output: Run the dry-run, present the [DRY RUN] list ("3 fixable: 2 missing descriptions, 1 missing version"), ask for confirmation, then run --apply and report the [FIXED] lines.

Example 2: Cleanup of broken leftovers

Input: "Remove broken skills."

Output: Run --prune (dry-run), show what would be removed and why (broken symlink targets, empty dirs), confirm, then --prune --apply and report the [PRUNED] lines.

Resources

  • Fix script (plugin-relative): {baseDir}/../../scripts/fix.sh
  • Change log of applied fixes: data/changelog.log in the plugin directory
  • For finding issues: /janitor-report
  • For usage + token cost: /janitor-value

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

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 and security risk before installing, or compare a local skill against alternatives. Trigger with '/janitor-discover'.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

khendzel/skills-janitor1222026년 9월 30일 업데이트

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'.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

khendzel/skills-janitor1222026년 9월 30일 업데이트

Heuristic security scan of installed skills — prompt-injection phrases, hidden unicode instructions, credential-store access, network-pipe-to-shell and payload-smuggling patterns. Use when the user asks 'are my skills safe', wants to scan skills for prompt injection or malware patterns, or before trusting a newly installed skill. Trigger with '/janitor-security'.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

khendzel/skills-janitor1222026년 9월 30일 업데이트

Tinder for your Claude Code skills. Reviews a sorted deck of every installed skill and lets you swipe keep / delete / skip on each one. Use when the user wants to bulk-clean their skill collection, triage unused skills, or do interactive skill cleanup. Trigger with '/janitor-swipe'.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

khendzel/skills-janitor1222026년 9월 30일 업데이트

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 wants to audit skill value, token cost, or usage. Trigger with '/janitor-value'.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

khendzel/skills-janitor1222026년 9월 30일 업데이트

khendzel의 스킬 모두 보기

이 스킬의 문제 신고