mcpField
M
mac-optimizer

mac-optimizer

github.com/skalinetsその他1155 回インストール8 週間前に更新
リポジトリ

mac-optimizer について

mac-optimizer は macOS のパフォーマンスとバッテリー状態を分析し、エージェントが優先度別の改善案をまとめるためのスキルです。リソース使用量、バックグラウンド動作、バッテリー消費の調査に役立ちます。

主な機能

  1. 01メモリ、CPU、プロセス、ディスクの確認
  2. 02ブラウザーとバックグラウンドサービスの使用状況を特定
  3. 03バッテリーの状態と消費電力を収集
  4. 04影響度別に改善案を整理

活用シーン

  1. 01Mac の動作が遅い原因の調査
  2. 02メモリや CPU を使うプロセスの特定
  3. 03バッテリーの急速な消耗の診断
  4. 04バックグラウンドサービスとウェイク動作の確認

インストール

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

$npx skills add https://github.com/skalinets/mac_optimizer --skill mac-optimizer

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

README.md
mac-optimize.sh
mac-battery.sh
agents/
background-services-auditor.md
sleep-wake-auditor.md
power-hog-hunter.md
battery-health-analyst.md

詳細

Mac のパフォーマンス最適化

macOS システムの現在の状態を分析し、実行可能な最適化の推奨事項を提示します。

使用するタイミング

  • ユーザーが「パフォーマンスを確認して」「Mac を最適化して」「Mac の動作が遅いのはなぜ」と尋ねたとき
  • 実行中のプロセス、メモリ、CPU 使用率を監査したいとき
  • システムのヘルスチェックやリソース分析を依頼されたとき
  • バッテリーの減りが速い、数時間しか持たない、または電力を消費しているものを尋ねられたとき(下記の「バッテリーモード」を参照)

実行方法

分析スクリプトを実行します(パスは、このスキルのインストール先からの相対パスです)。

bash "$(dirname "$(readlink -f "$0" 2>/dev/null || echo "$HOME/.claude/skills/mac-optimizer")")/mac-optimize.sh"

または、スキルを npx skills add でインストールした場合:

bash "$HOME/.claude/skills/mac-optimizer/mac-optimize.sh"

出力の分析方法

スクリプトの実行後、出力を分析し、影響度(HIGH/MEDIUM/LOW)別に推奨事項を提示します。

評価する主な指標
  1. メモリプレッシャー — 物理 RAM と使用量、スワップ使用量、圧縮メモリのサイズを確認します。

    • スワップ使用量が RAM の 50% を超える場合=高い負荷
    • 空きメモリが 500MB 未満の場合=危険
    • 圧縮メモリが RAM の 50% を超える場合=システムに負荷がかかっています
  2. ブラウザーの肥大化 — ブラウザープロセス数と RAM 使用率の合計を確認します。

    • Chrome/Brave のプロセスが 50 個を超える場合=タブが多すぎます
    • 複数の Chromium ブラウザーを実行している場合=RAM を重複して消費しています
    • タブを休止する拡張機能の使用や、タブを閉じることを推奨します
  3. Claude Code セッション — 各セッションがメモリを保持します。

    • アイドル状態のセッションが 3 個を超える場合=使用していないセッションを閉じるよう推奨します
  4. コンテナランタイム — Docker/OrbStack の VM は大量の RAM を消費します。

    • 積極的に使用していない場合は、停止するよう推奨します
  5. Launch Daemon とエージェント — 不要なアプリのバックグラウンドサービスです。

    • 積極的に使用していないアプリ(TeamViewer、Zoom、使用していないアップデーターなど)のデーモンに注意を促します
    • 機能が重複しているもの(例:2 つの NTFS ドライバー)に注意を促します
  6. 長時間実行されているプロセス — 累積 CPU 時間が長いプロセスです。

    • メモリリークや暴走プロセスを示している可能性があります
    • 稼働時間が過度に長い場合は、再起動を推奨します
  7. ディスク容量 — 空き容量が 20GB 未満の場合に注意を促します。

  8. システム稼働時間 — 7 日を超える場合は、スワップを解放し、圧縮メモリをリセットするために再起動を推奨します。

回答形式

調査結果を次の形式で提示します。

  1. 概要表 — 主な指標とステータス表示
  2. 主なリソース消費元 — リソースを最も多く使用しているもののランキング
  3. 推奨事項 — 影響度(HIGH/MEDIUM/LOW)別に分類
  4. すぐにできる対策 — ユーザーがすぐに実行できる、コピー&ペースト可能なコマンド
すぐにできる対策のコマンド例
# Quit an app not in use
osascript -e 'quit app "AppName"'

# Purge inactive memory (temporary relief)
sudo purge

# Enable low power mode on battery
sudo pmset -b lowpowermode 1

# Disable a launch daemon (modern macOS — do NOT use launchctl unload)
sudo launchctl bootout system /Library/LaunchDaemons/com.example.plist
# Prevent it from loading on next boot
sudo launchctl disable system/com.example.service

# List and kill heavy processes
kill -TERM <PID>

バッテリーモード

遅さではなく、バッテリー駆動時間が問題の場合に使用します。手順は 2 つです。情報を収集し、小規模なエージェントチームに作業を振り分けます。

1. 収集
bash "$HOME/.claude/skills/mac-optimizer/mac-battery.sh"

sudo は不要です。このスクリプトは、バッテリーの状態(設計容量に対する現在容量、充放電回数、リアルタイムの放電電力、推定駆動時間)、バッテリーの pmset プロファイル、電力への影響度順に並べたプロセス、ブラウザーのレンダラープロセスによる過剰な消費、チャットアプリと同期アプリ、既知の要因(アクティビティモニタが開いている、caffeinate、多数の Claude Code セッション、tmux のペイン数、長い稼働時間)、スリープを妨げる設定、過去 24 時間のスリープ解除回数を報告します。

2. エージェントチームに作業を振り分ける

4 つすべてを 1 つのメッセージで起動し、並列で実行します。Agent ツールで subagent_type: general-purpose を指定します。それぞれについて、このスキルディレクトリにある agents/<name>.md を読み込み、フロントマターから model: を取得して、Markdown の本文をプロンプトとして使用します。スクリプトの該当箇所もプロンプトに渡し、エージェントが再収集する必要がないようにします。

エージェントモデルこのモデルを選ぶ理由
battery-health-analysthaiku7 つの数値に対する算術と固定しきい値の判定です。判断は不要です。
sleep-wake-auditorhaikuログ行数を数え、理由を既知の pmset フラグに対応付けます。
power-hog-huntersonnet不明なプロセスを特定し、その使用が妥当かどうかを判断する必要があります。
background-services-auditorsonnetサードパーティ製エージェントやアプリの用途を把握する必要があります。

スクリプトでバッテリーが正常と示され、ダークウェイクが 10 回未満の場合は、2 つの haiku エージェントを起動しないでください。統合はメインモデルで自分で行ってください。委任しないでください。

インストール済みのエージェントが ~/.claude/agents/ にある場合(README を参照)、代わりに subagent_type: <name> を指定し、プロンプトのコピーは省略してください。

3. エージェントにできないこと
  • ブラウザーのレンダラー PID をタブに対応付けること。ユーザーにブラウザーのタスクマネージャーを開いてもらう必要があります。
  • プロセスごとの消費電力(ワット数)、GPU の消費電力、ディスプレイの消費電力を測定すること。それには sudo powermetrics が必要です。コマンドを提示し、出力の解釈を申し出てください。
  • sudo コマンドを実行すること。コマンドを表示し、ユーザー自身で実行するよう伝えてください。
4. 統合

4 つのレポートを 1 つの回答にまとめます。

  1. 判定行:不足分に占めるハードウェアとソフトウェアの割合を、バッテリー分析エージェントの報告に基づいて示します。
  2. ワット数の表:現在の消費電力、予測稼働時間、消費電力が上位 5 位のプロセスと、期待される改善幅を記載します。
  3. 対処法:回復できるワット数を手間で割った順に並べます。アプリの終了、pmset の変更、ローンチエージェントの整理の順に優先します。
  4. バッテリー交換:バッテリーの状態が 80% 未満の場合は、独立した項目として記載します。埋もれさせないでください。

しきい値:消費電力が 10 W 未満なら正常、10~20 W なら中程度、20 W を超える場合はソフトウェアが電力を消費しています。容量が 80% 未満、または「Service Recommended」と表示されている場合、新しいバッテリーが利用可能な最大の改善策です。

重要: launchctl unload は非推奨であり、最新の macOS では失敗します。必ず launchctl bootout / launchctl disable を使用してください。これらのコマンドには sudo が必要です。ユーザー自身がターミナルで実行するよう伝えてください。

kill を提案する前に、必ずユーザーに警告してください。GUI アプリには osascript -e 'quit app' を優先してください。

コメント