skill-cleaner について
Skill の一覧、プロンプト予算への影響、重複、最近の利用状況を、指定したルートやログから調べる Node.js 分析ツールです。レポートで整理を提案し、依頼があるまで編集は行いません。
主な機能
- 01Skill のプロンプト予算使用量を推定
- 02重複および類似 Skill の検出
- 03ログから未使用候補を特定
- 04Skill ルートと無効状態を監査
- 05変更せずに整理レポートを生成
活用シーン
- 01プロンプト予算に合わせて Skill の説明を短縮
- 02リポジトリ間の重複 Skill を比較
- 03有効・無効な Skill ルートを確認
- 04保持または削除する Skill を選定
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ steipete/ agent-scripts --skill skill-cleanerインストール後、Claude Code で/skill-cleanerを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlscripts/skill-cleaner.test.tsskill-cleaner.ts詳細
スキルクリーナー
スキルプロンプトの予算を削減する場合、重複したスキルを見つける場合、有効/無効なスキルのルートを監査する場合、または削除するスキル/プラグインを決める場合に使用します。
ワークフロー
- このスキルのディレクトリまたはリポジトリのルートからアナライザーを実行します。
node --experimental-strip-types skills/skill-cleaner/scripts/skill-cleaner.ts --months 3
便利なバリエーション:
node --experimental-strip-types skills/skill-cleaner/scripts/skill-cleaner.ts --no-logs
node --experimental-strip-types skills/skill-cleaner/scripts/skill-cleaner.ts --no-live --no-logs
node --experimental-strip-types skills/skill-cleaner/scripts/skill-cleaner.ts --months 6 --max-log-mb 800 --deep-logs
node --experimental-strip-types skills/skill-cleaner/scripts/skill-cleaner.ts --context-tokens 272000 --budget-percent 2 --no-logs
node --experimental-strip-types skills/skill-cleaner/scripts/skill-cleaner.ts --root ~/Dropbox/boxd/skills --no-logs
node --experimental-strip-types skills/skill-cleaner/scripts/skill-cleaner.ts --root ~/.agents/skills --root-only --no-logs
- 次の順番でレポートを読みます。
Skill Budget:現在の Codex インベントリ、2% の予算、予算に対する使用量、説明文全体による圧迫度。Description candidates:文法を緩めることでプロンプトの予算を節約できる、長い説明文。Duplicates:Codex、プラグインキャッシュ、リポジトリ内の同階層、個人のスキルルートにある、同じスキル名または非常によく似た説明文/本文。Unused candidates:最近の Codex/OpenClaw ログで、ユーザーが言及していない、または実際にSKILL.mdを読み込んでいないスキル。Root summary:スキルの配置元と、設定で無効とマークされているかどうか。
- 削除または編集する前に:
- 残すコピーが存在し、読み込まれていることを確認します。
- Codex の組み込みスキルで対応できる場合は、リポジトリ内または
agent-scripts内の重複を優先的に削除します。 - リポジトリのポリシーや実運用に関する内容を含む、リポジトリ内の OpenClaw メンテナー用スキルは残します。
- 説明文では、トリガーとなる名詞(製品、ツール、アクション、対象物)を維持します。
アナライザーに関する補足
- デフォルトでは、
codex debug prompt-inputによって、モデルに表示されるスキルの正確な一覧、順序、名前、エイリアス化されたパスを取得します。--no-liveを指定すると、より広範なファイルシステムのフォールバックが強制されます。 - 重複、無効化、アーカイブ済みキャッシュの診断には、引き続き広範なファイルシステムのスキャンを使用します。ただし、読み込み済みのインベントリとしては扱いません。
- スクリプトは、Codex でモデルに表示される行の形式を模倣します:
- name: description (file: path)。 - Codex に準じたフロントマターのルールを適用します。YAML フロントマターのみを対象とし、親ディレクトリ名をデフォルトの名前として使用し、
nameとdescriptionを単一行に整形します。 codex core-skills/src/render.rsに従い、未加工のcontext_windowの 2%、トークンコストはceil(utf8_bytes / 4)として計算し、説明文全体 → 説明文を均等に切り詰める → 最低限の行を省略、の順に処理します。エイリアステーブルの行コストも含まれます。~/.codex/models_cache.jsonから GPT-5.5 のcontext_windowを読み取ります。取得できない場合は、272,000 トークンと 2% を使用します。- デフォルトでは、通常の Codex/プラグイン/リポジトリのスキルルートのみをスキャンします。Dropbox のアーカイブなどの追加フォルダーは、
--root <path>を指定した場合のみ含まれます。 --root-onlyには、少なくとも 1 つの--root <path>が必要です。現在の Codex インベントリをスキップし、指定されたルートのみをスキャンします。- ルートの重複は実体パスで排除されるため、
~/.codex/skills/agent-scripts -> ~/Projects/agent-scripts/skillsのようなシンボリックリンクのルートによって、誤った重複が発生することはありません。 - 重複名については、説明文/本文の類似度を報告し、本文がほぼ同一のコピーである場合に限って削除候補を提案します。残す優先順位のデフォルトは、Codex システムの直接組み込みスキル、Codex の直接スキル、プラグインスキル、個人/リポジトリ内のコピーの順です。
- デフォルトでは、
~/.codex/history.jsonlと最近の~/.codex/sessions/**/*.jsonlをスキャンします。アーカイブ済みセッションや一般的な OpenClaw/Clawd のログフォルダーも対象にするには、--deep-logsを追加します。 - 使用状況の証拠はヒューリスティックです。ユーザーによる
$skill/use skillの言及、およびツール呼び出しの引数で確認されたパスを使用します。
出力ポリシー
- まず提案を行い、ユーザーに依頼された場合にのみ編集します。
- クリーンアップの適用を依頼された場合は、説明文、削除、設定による無効化に分けて、小規模なコミットを作成します。
- 無視対象または未追跡のスキルディレクトリは、削除先を明示するか、破棄して問題ないことを確認せずに削除しないでください。
コメント
Markdown 対応