freeing-disk-space について
ディスク使用量を調べ、再生成可能なファイルを安全に削除する計画を立てるスキルです。削除前に承認を求め、専用ツールの清掃コマンドを優先し、ユーザーデータを保持します。
主な機能
- 01既知のキャッシュ場所を測定
- 02未掲載のディスク使用量を調査
- 03削除候補を分類
- 04削除コマンドの実行前に承認を要求
- 05ユーザーデータと固定バージョンのツールチェーンを保持
- 06清掃後に空き容量を再測定
活用シーン
- 01ディスク容量の消費元を特定
- 02キャッシュや再構築可能なファイルの削除を計画
- 03プロジェクトデータを保護しながら空き容量を確保
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ bostonaholic/ skills --skill freeing-disk-spaceインストール後、Claude Code で/freeing-disk-spaceを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/cache-locations.mdscripts/list-pinned-versions.shmeasure-caches.sh詳細
ディスク領域を解放する
どこで領域が使われているかを特定し、ツールが再生成できるものだけを削除します。
ルール
- まず承認を得ます。 実行するコマンドと削除されるものを正確に提示します。ユーザーがそのコマンドを承認するまでは、削除を伴う操作を実行しません。
- ファイルの削除は、それを所有するツールに任せます。
rmよりも、brew cleanup、docker builder prune、xcrun simctl delete unavailableを優先します。 - ユーザーデータを提案してはいけません。 書類、写真、メール、デバイスのバックアップ、未コミットまたは未プッシュの作業があるソースツリー、コンテナーボリューム、VM ディスク、データベースについては、サイズを報告してユーザーに委ねます。
- ゴミ箱を空にしてはいけません。 サイズを報告し、ユーザー自身で空にするよう伝えます。
- 固定されたツールチェーンのバージョンを維持します。 ツールチェーンのバージョンを削除する前に、ユーザーのプロジェクトがある各ディレクトリで
scripts/list-pinned-versions.sh <workspace>を実行し、出力されたすべてのバージョンを維持します。終了コード 64 はパスがディレクトリではないことを示し、終了コード 69 は必要なツールがないことを示します。エラーを報告してください。 - 目標に達したら終了します。 ユーザーが指定した数値、指定がなければ
scripts/measure-caches.shが出力する目標を使います。目標を達成したら終了し、承認済みの行のうちスキップしたものを伝えます。
どこで領域が使われているかを特定する
scripts/measure-caches.shをバックグラウンドで実行します。duは数分かかることがあります。- このスクリプトは、目標を含むボリュームの行を出力し、その後に既知の場所ごとに 1 行ずつ出力します。
- 各行の分類、再生成するツール、コマンド、先に終了するものを、出力どおりに取得します。
<placeholder>があれば値を入れてください。keep の行は報告しますが、削除を提案してはいけません。 - 終了コードが 1 または 69 の場合は、エラーを報告し、
df -hとdu -xを手動で使って測定します。終了コード 64 は引数が指定されたことを意味します。引数を付けずに実行してください。
その後、ホームディレクトリから du -x で、スクリプトに記載されなかったツリーをたどり、存在する各ツールチェーンについてキャッシュの場所を確認します。各項目を自分で分類してください。パスだけでは、そこにユーザーデータが含まれているかどうかはわかりません。
調査結果を使用済み領域と比較します。説明できない領域が多い場合は、ボリュームのルート、/private/var(または /var)、他のユーザーのホームディレクトリ、ローカルの Time Machine スナップショット(tmutil listlocalsnapshots /)のサイズを確認します。使用済み領域のわずかな部分しか対象としない計画を提示する場合は、残りの領域についても必ず説明してください。
空き領域が 5 GB 未満で作業が妨げられている場合は、調査を省略します。スクリプトの <placeholder> がない regenerates の行を、1 回の承認で実行できる一括処理として提案し、それでも目標に達しない場合は調査を行います。
計画して実行する
候補をそれぞれ regenerates(ツールが必要に応じて再生成する)、rebuildable(再ビルドまたは再ダウンロードが必要)、keep(ユーザーデータ、ツールで再生成できない状態、または実行中のプロセスが使用中のもの)に分類します。計画に含めるのは regenerates と rebuildable の候補だけです。
大きい順に 1 つの表で提示し、承認を待ちます。
| パス | サイズ | 分類 | 再生成するツール | コマンド |
|---|
先に何かを終了する必要がある行には印を付け、目標に対する合計を示します。
承認されたコマンドを 1 つずつ実行し、実行後に df で再測定します。あるコマンドで解放された領域が該当する行のサイズより大幅に少ない場合は、領域が VM ディスクまたはスナップショットに残っている可能性が高いことを伝えます。実行前後の空き領域と、残っている keep 項目のうちサイズが大きいものを報告します。