mcpField
S
system-cleanup

system-cleanup

github.com/quantipixels生産性040 回インストール2 週間前に更新
リポジトリ

system-cleanup について

system-cleanupは、ディスク容量の回復や外部ストレージへの移動を依頼するユーザー向けのmacOSクリーンアップスキルです。物理的な空き容量を測定し、許可された再生成可能なデータを整理して、削除・保持した項目と承認が必要な項目を報告します。

主な機能

  1. 01Dataボリュームの空き容量測定
  2. 02再生成可能なファイルとキャッシュの調査
  3. 03可能な場合は標準のクリーンアップコマンドを使用
  4. 04削除前にGitワークツリーを確認
  5. 05外部ドライブへの移動を検証
  6. 06整理済み項目と承認待ち項目を報告

活用シーン

  1. 01ビルド成果物やキャッシュの容量回復
  2. 02古いGitワークツリーの安全な削除確認
  3. 03選択したフォルダーの外部ドライブへの移動
  4. 04削除せずに大きなアプリデータを特定

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/quantipixels/skills --skill system-cleanup

インストール後、Claude Code で/system-cleanupを入力して読み込まれたか確認します。

同梱ファイルagents/openai.yamlscripts/worktrees.py

詳細

システムのクリーンアップ

結果:Data ボリュームの物理的な空き容量を増やし、削除したもの、保持したもの、承認待ちのものを報告します。

必要条件:macOS ホストと、クリーンアップまたはオフロードの依頼が必要です。依頼がパフォーマンス調整、マルウェアの削除、または承認なしでの個人データやアプリケーションデータの削除である場合は、作業に戻って何が不足しているかを伝えてください。

ディスクを監査し、安全に再生成できるものを削除します。それ以外のものに手を付ける前に確認してください。

基本ルール

  • df -h /System/Volumes/Data を使って、macOS Data ボリュームの物理的な空き容量を測定します。通常の df /、du、Finder のカテゴリ、クリーナーの推定値は参考情報であり、測定結果としては扱いません。
  • ディレクトリを削除するより、ツールの現在のネイティブなクリーンアップコマンドを優先します。ツール自身のヘルプまたは最新のドキュメントで、インストール済みのインターフェイスを確認し、利用可能であればドライランを使います。パッケージマネージャーのコマンド一覧をここに保存しないでください。
  • 直接削除する場合は、利用可能であれば trash を使います。対象をゴミ箱に集め、空にする前に一度だけ確認を求めてください。trash が利用できない場合は、完全に削除する前に確認を得てください。
  • 明らかに安全なもの、つまり再生成可能なもの、またはすでに別の場所に保存されているもの(マージしてプッシュ済みブランチのクリーンなワークツリー、バックアップ済みファイル)に限り、確認なしで削除します。それ以外はすべて、理由を添えて一覧にし、ユーザーから明示的な承認を得るまで待ってください。可能な限り、完全に削除するのではなく、ゴミ箱またはバックアップに移動してください。
  • 一般的なクリーンアップの依頼は、指定されたクリーンアップ範囲内にある、正確に特定された非アクティブな再生成可能ビルド成果物とパッケージ/言語キャッシュに対する継続的な許可を含みます。項目ごとに確認を求めず、この許可を再利用してください。
  • GUI アプリケーションのデータは自動的に削除しないでください。ユーザーがアプリ名を指定し、ログイン情報、Cookie、履歴、ローカル状態へのリスクを了承していない限り、アプリケーションのキャッシュ/サポートディレクトリのサイズを報告するにとどめます。
  • 個人ファイル、メディア、アプリケーション、プロジェクト、バックアップ、モデルの重み、Docker ボリューム、仮想マシン、エミュレーターのスナップショット、SDK、ランタイム、ツールチェーンを削除する前に確認してください。
  • クリーンアップの推定値を満たすために、SIP を回避したり、権限を弱めたり、無関係なプロセスを終了したり、保護されたシステムパスを削除したりしてはいけません。

ワークフロー

1. 評価

Data ボリュームの空き容量を測定し、マウント済みのボリュームを調査します。初期の空き容量と外付けドライブの有無を記録します。APFS ボリューム/スナップショットの会計情報が結果を大きく説明しうる場合に限り、それらを調査します。

2. 調査

~ 全体を走査するのではなく、対象を絞り、ファイルシステムの範囲を限定したサイズスキャンを実行します。まず関連する範囲のうち最も大きいものを確認し、次に正確な候補を調べます。一般的な対象には次のものがあります。

  • 現在のワークツリーまたはリンクされたワークツリーにある、非アクティブなビルド成果物と依存関係/ビルド出力。
  • インストール済みの開発ツール用のパッケージ/言語キャッシュ。
  • 古くなったワークツリーと、重複している生成済み出力。
  • サイズの大きいメディア/ダウンロード。
  • サイズの大きいアプリケーションキャッシュ/サポートディレクトリ(別途許可がない限り、報告のみ)。

サイズの大きい一時ディレクトリ、ワークツリー、キャッシュ、仮想マシン、または現在のビルド出力に手を付ける前に、実行中のプロセスと開いているハンドルを確認します。判断が曖昧なデータは、保持すべきデータとして扱います。

3. 安全な対象をクリーンアップ

非アクティブな再生成可能ビルド成果物とパッケージ/言語キャッシュは、再度確認を求めずに削除します。対象とする各ツールについて、内部キャッシュの構成を推測して削除するのではなく、インストール済みインターフェイスまたは最新の公式ドキュメントから現在のクリーンアップ/プルーンコマンドを見つけて使用します。

アクティブなツールが安全に再利用可能な状態を明確に管理している場合は、破棄可能な Docker/Xcode/シミュレーターの生成状態、または同等の状態に対して、アプリケーションネイティブのクリーンアップを使用します。データボリューム、互換性ランタイム、ユーザーが作成したイメージ/状態、および同様の永続的な資産は、別途許可がない限り保持します。

一度に一つのカテゴリだけを処理し、大量の処理のたびに Data ボリュームの空き容量を再確認します。APFS クローン、共有資産、スパースイメージ、ゴミ箱によって、論理的な推定値と物理的に回復できる容量が異なる場合があります。

4. 選択した Git ワークツリーを監査する

一覧を確認するには、SKILL_DIR をインストール済みのこのスキルに設定し、python3 "$SKILL_DIR/scripts/worktrees.py" を実行します。--json を指定すると JSON が出力され、--remove-safe を指定すると再確認後、安全なワークツリーをブランチを残したまま削除します。

ワークツリーまたはその生成物がクリーンアップ候補として選択されている場合に限り、この手順を実行します。影響を受ける各ワークツリーについて、変更があるか、固有のコミットがあるか、上流ブランチより先行しているか、未追跡ファイルが含まれているかを確認します。変更があるもの、固有のコミットがあるもの、プッシュされていないもの、または受け入れ先のワークスペースにまだ反映されていないものは、保持して報告します。既存のクリーンアップ権限があっても、それらの内容を削除することは許可されません。

コミットがすべてマージされ、プッシュ済みのクリーンなワークツリーは安全です。Git の通常のワークツリー削除と、強制しないブランチ削除を使用します。クリーンアップのためだけにブランチを強制削除してはいけません。

5. 保持対象を外部ドライブに退避する

ユーザーが外部ドライブへの退避を選択した場合は、保存先が別のマウント済みボリュームであり、十分な空き容量があることを確認します。選択した各フォルダーを、ホストでサポートされているメタデータ保持方式を使ってコピーします。特定のコピー用ツールは出発点にすぎず、macOS のあらゆる種類のメタデータが保持された証拠にはなりません。

ファイル数とサイズを確認します。データを失うと取り返しがつかない場合は、チェックサムも使用します。検証後にのみ元のデータをゴミ箱に移動し、リダイレクトが適切な場合は、元のパスにシンボリックリンクを作成します。広範囲に影響する特殊なディレクトリではなく、個々のフォルダーにシンボリックリンクを作成します。外部ドライブがアンマウントされている間は、そのパスを利用できないことを警告します。

6. 完了して報告する

初期と現在の空き容量、直ちに得られた物理容量、ゴミ箱に残っている項目、クリーンアップしたカテゴリ、保持した項目、失敗した項目、サイズやトレードオフを含む任意の次の候補を報告します。

必要に応じて、ゴミ箱を空にするようユーザーに依頼します。ユーザーが承認し、ゴミ箱が空になった後、Data ボリュームを再計測し、最終的な物理容量の増加を報告します。許可された安全な候補をすべて処理した時点で停止し、別途承認が必要なものがあれば報告します。

コメント