mcpField
M
macos

macos

github.com/alphaonedev生産性50 回インストール
リポジトリ

macos について

macOS APIやコマンドラインツールを使ってシステムタスクを扱う、OpenClaw向けのスキルです。Apple環境でのファイルやプロセスの管理、アプリ操作、リソース監視に対応します。

主な機能

  1. 01macOSコマンドによるファイル操作
  2. 02launchctlによるサービス管理
  3. 03Apple APIとAppleScriptの操作
  4. 04システムリソースの監視
  5. 05plist設定の処理

活用シーン

  1. 01ファイルと権限の確認
  2. 02macOSサービスの起動と管理
  3. 03アプリの起動やFinder操作の自動化
  4. 04トラブルシューティング時のシステム指標確認

インストール

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

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill macos

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

詳細

macos

目的

このスキルにより、OpenClaw は macOS のシステム概要を提供し、ファイル管理、プロセス制御、アプリ操作などのタスクを、macOS 固有の API や CLI ツールを活用して効率的に自動化できます。

使用するタイミング

ユーザー権限の管理、システムリソースの監視、アプリの起動の自動化、Apple エコシステムのツールとの統合など、macOS 専用のタスクでこのスキルを使用します。macOS 専用のワークフロー向けのスクリプト作成やハードウェア操作のトラブルシューティングなど、エージェントが Apple 固有の環境を扱う必要がある場合に適用します。

主な機能

  • macOS の CLI コマンドでファイル操作を実行します。たとえば、権限を含めてディレクトリを一覧表示できます。
  • サービス管理に launchctl を使用して、システムプロセスを制御します。
  • ファイル I/O 用の Foundation フレームワークなど、Apple API を利用します。
  • sysctl や top でシステムメトリクスを監視し、AppleScript でアプリ固有のイベントを処理します。
  • システム環境設定やアプリ設定の構成を plist XML 形式で管理します。

使用パターン

OpenClaw のクエリで「macos」ID を指定してこのスキルを呼び出します。たとえば、「use skill: macos」を先頭に付けてコンテキストを指定します。コマンドを実行する前に、必ず sw_vers で macOS のバージョンとの互換性を確認してください。タスクを連携する場合は、ファイルの確認後にプロセスを開始するなど、順序立てて実行します。認証済み API の呼び出しでは、$APPLE_API_KEY を設定するなど、機密データには環境変数を使用します。{"action": "run_command", "command": "ls -l"}のようなフィールドを含む JSON ペイロードでリクエストを構成します。

一般的なコマンド/API

  • 詳細な権限情報とともにファイルを一覧表示するには ls -l を使用します。例:Python の subprocess 経由で実行します:import subprocess; subprocess.run(['ls', '-l', '/path'])。
  • デーモンを起動するには launchctl load /path/to/plist でサービスを管理します。コード例:subprocess.run(['launchctl', 'load', '-w', '/Library/LaunchDaemons/com.example.plist'])。
  • メモリサイズなどのシステム情報は sysctl -n hw.memsize で取得します。コード:output = subprocess.check_output(['sysctl', '-n', 'hw.memsize']).decode().strip()。
  • open -a "Application" file.path でファイルを開きます。例:subprocess.run(['open', '-a', 'TextEdit', 'document.txt'])。
  • AppleScript との連携:osascript -e 'tell app "Finder" to open document file "path"' を使用します。コード例:subprocess.run(['osascript', '-e', 'tell app "Finder" to display dialog "Hello"'])。 拡張サービス(Apple Developer API など)で API キーが必要な場合は、環境変数内で $APPLE_DEVELOPER_KEY として参照してください。

統合に関する注意

「system」クラスターと組み合わせてクロスプラットフォームのタスクに対応するなど、クラスター経由でリンクし、このスキルを他の OpenClaw スキルと統合します。構成ファイルについては、Python の plistlib モジュールを使って plist XML を解析します:import plistlib; with open('config.plist', 'rb') as f: data = plistlib.load(f)。subprocess.run(['sw_vers', '-productVersion']) で macOS のバージョンを確認し、macOS 10.10 以降で拡張属性に xattr を使用するなど、適宜コマンドを調整して互換性を確保します。Homebrew などのツールと統合する場合は、パスを指定するコマンドの前に brew --prefix を付けます。セキュリティのため、操作は必ず sandbox-exec でサンドボックス化してください。

エラー処理

権限エラーが発生した場合は Operation not permitted を確認し、必要に応じて sudo をコマンドの先頭に付けます。例:try-except で囲みます:try: subprocess.run(['command']) except subprocess.CalledProcessError as e: log_error(e, "Permission issue; use sudo")。API エラーの場合は、$APPLE_API_KEY が設定されていることを確認し、401 Unauthorized などの HTTP エラーを捕捉します。よくある問題:ファイルが見つからない場合は、操作の前に os.path.exists('/path') を使用します。プロセスがタイムアウトする場合は、subprocess.run(['command'], timeout=10) のように subprocess 呼び出しでタイムアウトを設定します。監査のため、logger コマンドを使用して macOS の syslog にエラーを記録します。

具体的な使用例

  1. ファイルのバックアップを自動化する:ディレクトリをバックアップするには、次のパターンを使用します。まず df -h / でディスク容量を確認し、次にファイルをコピーします:subprocess.run(['cp', '-R', '/source/dir', '/backup/dir'])。OpenClaw では、「use skill: macos; backup /Documents to /Backup if disk space > 10GB」と問い合わせます。
  2. システムリソースを監視する:top -l 1 | grep "CPU usage" で CPU 使用率を取得し、80% を超えた場合は通知します:import re; output = subprocess.check_output(['top', '-l', '1']); if re.search(r'CPU usage: \d+\.\d+% user', output) and float(match) > 80: send_alert()。OpenClaw では、「use skill: macos; monitor CPU and notify if usage exceeds 80%」と問い合わせます。

グラフの関係

  • 関連するクラスター:macos(システムタスクへの直接リンク)。
  • 次のスキルに接続します:エコシステムとの連携には ["apple"]、一般的な OS 操作には ["system"]。
  • 依存関係:「core」クラスターが基本的な実行に必要です。ワークフローの連鎖に使用する出力を「automation」クラスターに提供します。

コメント