disk-space-cleanuplisted
Install: claude install-skill mjcreativelab/mjcreativelab-agent-prompts
# Disk Space Cleanup
使用端末のディスク空き容量を確保する。開発系キャッシュを読み取り専用でスキャンし、削除して良い理由とリスクを添えてリストアップ → ユーザー確認後に削除する。
## 引数の解析
`$ARGUMENTS` を解析する:
- `-p <プロンプト>`: 調査観点・追加調査パスの指定(例: `-p ~/Downloads も見て`)。`-p` より後を `{観点}` とする
- `-p` がない場合 → `{観点}` は空
`{観点}` で事前定義カテゴリ外のパスが指定された場合、**調査・提示まで**は行うが、削除はユーザーの明示指示がない限り行わない。
## フロー
### Step 1: before スナップショット
`df -h` を実行し、現在の空き容量を記録する。
### Step 2: スキャン
[assets/scan-disk-usage.sh](assets/scan-disk-usage.sh) を `bash` で実行する。出力は以下の形式:
- `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](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` /