agentsclimarketplace

Disk space cleanup

Skill mjcreativelab/mjcreativelab-agent-prompts/skills/disk-space-cleanup

ディスク空き容量の確保。開発系キャッシュ(npm/Docker/brew/Xcode 等)をスキャンし、削除可能な理由とリスクを添えてリストアップ → ユーザー確認後に削除。macOS / Linux 対応。「ディスクが足りない」「容量を空けたい」「/disk-space-cleanup」で起動。From its SKILL.md

Install
npx -y skills add mjcreativelab/mjcreativelab-agent-prompts --skill disk-space-cleanup

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

7.9 KB, ~2.8k tokens by cl100k_base, as published. Nobody here has run it

Disk Space Cleanup

使用端末のディスク空き容量を確保する。開発系キャッシュを読み取り専用でスキャンし、削除して良い理由とリスクを添えてリストアップ → ユーザー確認後に削除する。

引数の解析

$ARGUMENTS を解析する:

  • -p <プロンプト>: 調査観点・追加調査パスの指定(例: -p ~/Downloads も見て)。-p より後を {観点} とする
  • -p がない場合 → {観点} は空

{観点} で事前定義カテゴリ外のパスが指定された場合、調査・提示までは行うが、削除はユーザーの明示指示がない限り行わない。

フロー

Step 1: before スナップショット

df -h を実行し、現在の空き容量を記録する。

Step 2: スキャン

assets/scan-disk-usage.shbash で実行する。出力は以下の形式:

  • CANDIDATE<TAB>カテゴリ<TAB>パス<TAB>サイズ<TAB>削除方法 — 削除実行の候補(Step 4 の選択肢)
  • PRESENT_ONLY<TAB>カテゴリ<TAB>対象<TAB>提示コマンド — 提示のみ(Docker volumes・sudo 必要な Linux 領域)。Step 4 の選択肢に含めず、Step 5 でも実行しない
  • SKIP<TAB>カテゴリ<TAB>理由 — ツール不在・OS 非対象・取得失敗(silent skip しない)
  • DOCKER_DF_* / DOCKER_PS_* / BREW_DRYRUN_* / CACHE_TOP_* / TRANSCRIPT_CLAUDE_* / TRANSCRIPT_CODEX_* — 補助ブロック
  • 最終行 SCAN_COMPLETE

「削除方法」列は表示用ヒント。実際のパスは独立した パス フィールドにあり、rm を組み立てる際はそちらを使う(コマンド列の文字列をそのまま実行しない)。

Step 3: リストアップ

references/cleanup-targets.md と突合し、削除候補をサイズ降順テーブルで提示する。

列: カテゴリ / パス / サイズ / 削除して良い理由 / リスク / 復元可否 / 削除コマンド

  • パス 列は scan 出力の パス と対応させる
  • Docker 停止コンテナは DOCKER_PS_* ブロックの名前・作成日時・サイズの内訳を提示する
  • PRESENT_ONLY 行は別セクション「提示のみ(手動実行)」としてコマンドを表示する(削除候補テーブルには載せない)
  • SKIP 行は末尾に要約表示する(「未対象: npm 未インストール, …」)

scan の カテゴリ 値(npm cache / pnpm store / yarn cache / pip cache / go cache / cargo registry / Docker build cache / Docker dangling images / Docker stopped containers / Homebrew cleanup / Xcode DerivedData / Xcode iOS DeviceSupport / unavailable simulators / Trash / Claude Code transcripts / Codex session transcripts)は references/cleanup-targets.md の「scan カテゴリ」列と一致する。これを使ってリスク・復元可否を引く。

トランスクリプトカテゴリは TRANSCRIPT_CLAUDE_BEGIN / TRANSCRIPT_CODEX_BEGIN 補助ブロックを使って詳細を表示する。ブロック内の値は 総ファイル数<TAB>総サイズ<TAB>7日以前のファイル数<TAB>7日以前のサイズ の形式。削除候補テーブルではサイズ列に「合計 X MB(うち 7 日以前: Y ファイル / Z MB)」の形式で補足する。

Step 4: 承認ゲート(カテゴリ単位)

削除するカテゴリをユーザーに選択させる。

  • Claude Code では AskUserQuestion(multiSelect)を使う。他エージェントではテキストで「削除するカテゴリ番号を挙げてください」と確認する(graceful degradation)
  • リスク「中」のカテゴリはデフォルト非選択
  • 選択が 0 件(全キャンセル)の場合は何も削除せず Step 6 のレポートへ進む(no-op 終了)
  • トランスクリプトカテゴリが選択された場合、保持日数を追加で確認する(AskUserQuestion single-select / 選択肢: 7 日(推奨) / 14 日 / 30 日 / 全削除(0 日))。確認した日数を {N} として Step 5 で使用する。

Step 5: 実行

承認済みカテゴリを 1 つずつ処理し、都度結果を確認する。承認は Step 4 のカテゴリ選択が唯一の承認であり、単一パス・単一コマンドのカテゴリでは再承認を求めない。例外は次の 2 つで、いずれも実行直前に対象を再表示して個別の最終確認を挟む:

  • (a) 複数パスを束ねたカテゴリ(複数ツールのキャッシュ束・Caches/.cache 上位 10 サブディレクトリ等): パス単位で削除対象を選択・除外できるようにする
  • (b) 復元不能操作(ゴミ箱を空にする)とリスク「中」カテゴリ: 個別の最終確認を必須とする

公式クリーンコマンドがあるカテゴリは references/cleanup-targets.md の「削除方法」列のコマンドを実行する。

トランスクリプトカテゴリの実行ルール

Claude Code transcripts / Codex session transcriptsfind -delete で処理する(rm ルールは適用しない):

  • {N} = Step 4 で確認した保持日数。全削除(0 日)の場合は -mtime +0 ではなく find <path> -name "*.jsonl" -delete で全件削除する
  • 実行コマンド(N 日保持):
    find <path> -name "*.jsonl" -mtime +{N} -delete
    find <path> -type d -empty -delete   # Codex のみ: 空ディレクトリを掃除
    
  • 実行直前に削除対象ファイル数・サイズを再表示する(find <path> -name "*.jsonl" -mtime +{N} | wc -lxargs du -ch | tail -1 で確認)
  • 失敗した場合は再試行せず Step 6 に記録する

rm 実行ルール

公式コマンドがないカテゴリ(DerivedData 等)で rm を使う場合:

  • 形式は rm -rf -- <フルパス> に固定(-- 区切り必須・変数展開やワイルドカード禁止)
  • 対象は cleanup-targets.md で定義された既知パス、またはその直下のサブディレクトリのみ
  • /$HOME そのもの、および $HOME 直下のディレクトリ丸ごと(~/Documents 等)を対象にしない
  • 対象パスが symlink の場合は削除せずスキップして報告する
  • 権限エラーが出た場合は sudo を提案せず、スキップして報告する
  • 実行直前に対象パスを再表示する
  • 失敗したカテゴリは再試行せず、失敗内容を Step 6 のレポートに記録する

「提示のみ」カテゴリ(Docker volumes・sudo 必要な Linux 領域)はコマンドを提示するだけで、スキルからは実行しない。

Step 6: after レポート

df -h を再実行し、レポートを出力する:

  • 解放容量サマリ(before → after)
  • 実行した削除コマンド一覧
  • 失敗・スキップした項目とその理由

安全設計(要約)

  • 削除は承認カテゴリのみ。スキャンスクリプトに破壊的コマンドは含まれない
  • 削除対象は cleanup-targets.md の既知パスのみ。ユーザーデータ領域(~/Documents~/Desktop・クラウド同期ディレクトリ・dotfiles・アプリ設定)は対象にしない
  • sudo が必要な領域は「提示のみ」。権限エラー時も sudo を提案しない

What ships with it: 3 files

13.4 KB alongside SKILL.md, 1 of them executable

assets/

references/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.