mac-optimizer について
mac-optimizer は macOS のパフォーマンスとバッテリー状態を分析し、エージェントが優先度別の改善案をまとめるためのスキルです。リソース使用量、バックグラウンド動作、バッテリー消費の調査に役立ちます。
主な機能
- 01メモリ、CPU、プロセス、ディスクの確認
- 02ブラウザーとバックグラウンドサービスの使用状況を特定
- 03バッテリーの状態と消費電力を収集
- 04影響度別に改善案を整理
活用シーン
- 01Mac の動作が遅い原因の調査
- 02メモリや CPU を使うプロセスの特定
- 03バッテリーの急速な消耗の診断
- 04バックグラウンドサービスとウェイク動作の確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ skalinets/ mac_optimizer --skill mac-optimizerインストール後、Claude Code で/mac-optimizerを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdmac-optimize.shmac-battery.shagents/background-services-auditor.mdsleep-wake-auditor.mdpower-hog-hunter.mdbattery-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)別に推奨事項を提示します。
評価する主な指標
-
メモリプレッシャー — 物理 RAM と使用量、スワップ使用量、圧縮メモリのサイズを確認します。
- スワップ使用量が RAM の 50% を超える場合=高い負荷
- 空きメモリが 500MB 未満の場合=危険
- 圧縮メモリが RAM の 50% を超える場合=システムに負荷がかかっています
-
ブラウザーの肥大化 — ブラウザープロセス数と RAM 使用率の合計を確認します。
- Chrome/Brave のプロセスが 50 個を超える場合=タブが多すぎます
- 複数の Chromium ブラウザーを実行している場合=RAM を重複して消費しています
- タブを休止する拡張機能の使用や、タブを閉じることを推奨します
-
Claude Code セッション — 各セッションがメモリを保持します。
- アイドル状態のセッションが 3 個を超える場合=使用していないセッションを閉じるよう推奨します
-
コンテナランタイム — Docker/OrbStack の VM は大量の RAM を消費します。
- 積極的に使用していない場合は、停止するよう推奨します
-
Launch Daemon とエージェント — 不要なアプリのバックグラウンドサービスです。
- 積極的に使用していないアプリ(TeamViewer、Zoom、使用していないアップデーターなど)のデーモンに注意を促します
- 機能が重複しているもの(例:2 つの NTFS ドライバー)に注意を促します
-
長時間実行されているプロセス — 累積 CPU 時間が長いプロセスです。
- メモリリークや暴走プロセスを示している可能性があります
- 稼働時間が過度に長い場合は、再起動を推奨します
-
ディスク容量 — 空き容量が 20GB 未満の場合に注意を促します。
-
システム稼働時間 — 7 日を超える場合は、スワップを解放し、圧縮メモリをリセットするために再起動を推奨します。
回答形式
調査結果を次の形式で提示します。
- 概要表 — 主な指標とステータス表示
- 主なリソース消費元 — リソースを最も多く使用しているもののランキング
- 推奨事項 — 影響度(HIGH/MEDIUM/LOW)別に分類
- すぐにできる対策 — ユーザーがすぐに実行できる、コピー&ペースト可能なコマンド
すぐにできる対策のコマンド例
# 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-analyst | haiku | 7 つの数値に対する算術と固定しきい値の判定です。判断は不要です。 |
sleep-wake-auditor | haiku | ログ行数を数え、理由を既知の pmset フラグに対応付けます。 |
power-hog-hunter | sonnet | 不明なプロセスを特定し、その使用が妥当かどうかを判断する必要があります。 |
background-services-auditor | sonnet | サードパーティ製エージェントやアプリの用途を把握する必要があります。 |
スクリプトでバッテリーが正常と示され、ダークウェイクが 10 回未満の場合は、2 つの haiku エージェントを起動しないでください。統合はメインモデルで自分で行ってください。委任しないでください。
インストール済みのエージェントが ~/.claude/agents/ にある場合(README を参照)、代わりに subagent_type: <name> を指定し、プロンプトのコピーは省略してください。
3. エージェントにできないこと
- ブラウザーのレンダラー PID をタブに対応付けること。ユーザーにブラウザーのタスクマネージャーを開いてもらう必要があります。
- プロセスごとの消費電力(ワット数)、GPU の消費電力、ディスプレイの消費電力を測定すること。それには
sudo powermetricsが必要です。コマンドを提示し、出力の解釈を申し出てください。 sudoコマンドを実行すること。コマンドを表示し、ユーザー自身で実行するよう伝えてください。
4. 統合
4 つのレポートを 1 つの回答にまとめます。
- 判定行:不足分に占めるハードウェアとソフトウェアの割合を、バッテリー分析エージェントの報告に基づいて示します。
- ワット数の表:現在の消費電力、予測稼働時間、消費電力が上位 5 位のプロセスと、期待される改善幅を記載します。
- 対処法:回復できるワット数を手間で割った順に並べます。アプリの終了、pmset の変更、ローンチエージェントの整理の順に優先します。
- バッテリー交換:バッテリーの状態が 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' を優先してください。