janitor-fix について
janitor-fix は、ユーザー、プロジェクト、codex スコープにあるスキルの一般的な問題を修正する Claude Code 向けスキルです。変更は既定で事前表示され、プラグインのスキルは変更しません。
主な機能
- 01スキルの frontmatter を修正
- 02説明文のテンプレートを生成
- 03不足しているバージョン項目を追加
- 04リンク切れと空ディレクトリを整理
- 05既定の事前表示と変更ログ
活用シーン
- 01適用前にメタデータ修正を確認
- 02確認後にリンク切れを削除
- 03空ディレクトリや孤立スキルを整理
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ khendzel/ skills-janitor --skill janitor-fixインストール後、Claude Code で/janitor-fixを入力して読み込まれたか確認します。
詳細
自動修正
よくあるスキルの問題を自動的に修正します。デフォルトはドライランです。ファイルを変更せずに、どのような変更が行われるかを表示します。
概要
ユーザー、プロジェクト、codex スコープのスキル全体で、フロントマターの問題(区切り文字の不足、空の説明、バージョンフィールドの不足)を修正します。また、--prune モードでは、壊れたシンボリックリンクと空のスキルディレクトリを削除します。プラグイン/マーケットプレイスのスキルは変更されません(更新時に変更が上書きされるためです)。
前提条件
- skills-janitor プラグインがインストールされた Claude Code(
scripts/fix.shを提供) - bash 3.2 以降(標準の macOS bash で動作し、外部依存関係はありません)
- ユーザー自身のスキルディレクトリ(
~/.claude/skills、./.claude/skills、~/.agents/skills)への書き込み権限
手順
ステップ 1:まずプレビューする(必ず実行)
bash ~/.claude/skills/skills-janitor/scripts/fix.sh # preview fixes
bash ~/.claude/skills/skills-janitor/scripts/fix.sh --prune # preview broken/orphaned removals
ステップ 2:プレビューをユーザーに見せて確認する
いきなり --apply を実行してはいけません。[DRY RUN] の行を提示し、書き込みを実行する前に確認を求めてください。
ステップ 3:適用する
bash ~/.claude/skills/skills-janitor/scripts/fix.sh --apply # apply fixes
bash ~/.claude/skills/skills-janitor/scripts/fix.sh --prune --apply # remove broken skills
修正内容:
- 不足しているフロントマターの区切り文字(
---)を追加します - 空の
descriptionフィールドにテンプレートを入力します - 不足している
versionフィールドを追加します(デフォルトは "1.0.0") - スキルフォルダー名を使ってテンプレートの説明を生成します
プルーンモードで検出し、削除するもの:
- 壊れたシンボリックリンク — スキルフォルダーが削除済みのソースを指しています
- 空のディレクトリ —
SKILL.mdがないスキルフォルダーです - 孤立したスキル — プラグインスキルのユーザースコープのコピーです
安全性の仕組み:デフォルトはドライラン(書き込みには --apply の指定が必要)、プラグイン/マーケットプレイスのスキルはスキップし、すべての変更をタイムスタンプ付きで data/changelog.log に記録し、削除の前には必ず確認を求めます。
出力
スキルごとの処理行([DRY RUN]/[FIXED]/[PRUNED]/[SKIP])に続いて、修正可能な問題、スキップされた項目、プルーン可能な項目の概要が表示されます。ドライランモードでは、概要の末尾に「Run with --apply to make these changes.」と表示されます。
エラー処理
-
エラー:修正によって
SKILL.mdに予期しない結果が生じた 解決策:適用した変更はすべてタイムスタンプ付きでdata/changelog.logに記録されています。ログの該当行を確認し、影響を受けたフィールドを手動で復元してください。テンプレートの説明は、作成者が書き換えることを想定しています。 -
エラー:
[SKIP] Plugin/marketplace skill - don't modify解決策:これはエラーではなく、想定された動作です。プラグインのコンテンツは上流で管理されているため、問題をプラグインの作成者に報告するようユーザーに提案してください。 -
エラー:プルーンの一覧に、ユーザーが残したいスキルが表示される 解決策:
--applyは実行しないでください。残したい「壊れたシンボリックリンク」はリンク先が移動したことを意味します。プルーンする代わりに、リンクを再作成してください(ln -sfn <new-target> <link>)。
例
例 1:安全な修正サイクル
入力:「自分のスキルを修正して。」
出力:ドライランを実行し、[DRY RUN] の一覧(「修正可能な項目 3 件:説明の不足 2 件、バージョンの不足 1 件」)を提示して確認を求めます。その後、--apply を実行し、[FIXED] の行を報告します。
例 2:壊れた残存項目のクリーンアップ
入力:「壊れたスキルを削除して。」
出力:--prune をドライランで実行し、削除対象とその理由(壊れたシンボリックリンクのリンク先、空のディレクトリ)を表示して確認を求めます。その後、--prune --apply を実行し、[PRUNED] の行を報告します。
リソース
- 修正スクリプト(プラグイン相対パス):
{baseDir}/../../scripts/fix.sh - 適用した修正の変更ログ:プラグインディレクトリ内の
data/changelog.log - 問題の検出:
/janitor-report - 使い方とトークンコスト:
/janitor-value