macos について
macOS APIやコマンドラインツールを使ってシステムタスクを扱う、OpenClaw向けのスキルです。Apple環境でのファイルやプロセスの管理、アプリ操作、リソース監視に対応します。
主な機能
- 01macOSコマンドによるファイル操作
- 02launchctlによるサービス管理
- 03Apple APIとAppleScriptの操作
- 04システムリソースの監視
- 05plist設定の処理
活用シーン
- 01ファイルと権限の確認
- 02macOSサービスの起動と管理
- 03アプリの起動やFinder操作の自動化
- 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 にエラーを記録します。
具体的な使用例
- ファイルのバックアップを自動化する:ディレクトリをバックアップするには、次のパターンを使用します。まず
df -h /でディスク容量を確認し、次にファイルをコピーします:subprocess.run(['cp', '-R', '/source/dir', '/backup/dir'])。OpenClaw では、「use skill: macos; backup /Documents to /Backup if disk space > 10GB」と問い合わせます。 - システムリソースを監視する:
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」クラスターに提供します。