Communitygithub.com

Mac Context (Eyes)

エージェントがmacOSセッションを最小限の副作用で観察できるようにする、基礎的なセンシングスキルです。

Mac Context (Eyes) とは?

このスキルは、AIエージェント(Codexなど)がmacOSのデスクトップ環境を安全かつ効率的に「見る」ための基盤を提供します。AppleScriptやシェルコマンドを使って、アクティブなアプリ名、ウィンドウタイトル、ブラウザのタブURL、クリップボードの内容といった構造化された状態を読み取ることを優先します。構造化インターフェースがないUIに対しては、スクリーンショットを撮り、それを画像 as 入力として視覚モデルに渡すことで解釈します。このスキルは読み取り専用が基本で、クリップボードの一時的な変更やスクリーンショットファイルの作成以外の副作用は意図的に避けられており、macOSのアクセシビリティ、自動化、画面収録の各許可を適切に要求します。他の「アクション」スキルと組み合わせることで、例えば「現在の画面を記録してリマインダーを作成する」といった複合的なタスクを実現できます。

対応~Claude Code✓Codex CLI~Cursor
npx skills add sidmohan0/skills

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Mac Context (Eyes) は何をしますか?

これは基礎的なセンシングスキルです。エージェントがローカルのmacOSセッションを最小限の副作用で観察できるようにします。これは4つの機能(このスキルの「眼」、耳/声、手、記憶)の最初のものであり、これらが組み合わさって個人向け生産性アシスタントを構成します。

このスキルはプロジェクトのガードレール憲章を継承します。references/charter.mdを読み、それに従ってください。

コアルート

UIの推測よりも決定論的な観察を優先します。AppleScriptとシェルを使用して構造化された状態(アプリ名、ウィンドウタイトル、タブURL、クリップボード)を読み取ります。スクリーンショットは構造化インターフェースがない画面に対してのみ使用し、その後画像を視覚モデルで読み取ります。

バンドルされたスクリプトを実行します:

SKILL_DIR="${CODEX_SKILL_DIR:-$HOME/.codex/skills/mac-context}"
bash "$SKILL_DIR/scripts/mac_context.sh"

デフォルトの動作: 最前面のアプリとその前面ウィンドウのタイトルを表示します。

一般的なタスク

現在フォーカスされているアプリ/ウィンドウ:

SKILL_DIR="${CODEX_SKILL_DIR:-$HOME/.codex/skills/mac-context}"
bash "$SKILL_DIR/scripts/mac_context.sh" --frontmost

アクティブなブラウザタブ(URL + タイトル)、またはブラウザウィンドウ全体のタブを取得:

bash "$SKILL_DIR/scripts/mac_context.sh" --browser
bash "$SKILL_DIR/scripts/mac_context.sh" --browser-tabs

クリップボードを読み取る、または現在の選択範囲を取得:

bash "$SKILL_DIR/scripts/mac_context.sh" --clipboard
bash "$SKILL_DIR/scripts/mac_context.sh" --selection

--selection はCmd+Cを発行してハイライトされたテキストをコピーし、それを表示した後、以前のテキストクリップボードを復元します。クリップボードが現在テキスト以外の形式を保持している場合は実行を拒否します。これは pbcopy がそれらを安全に復元できないためです。ユーザーが特に選択範囲のキャプチャを要求していない場合は、使用する前にユーザーに伝えてください。

サイレントスクリーンショットを撮り、それを視覚モデルで読み取る:

# フルスクリーンを一時パスに保存
bash "$SKILL_DIR/scripts/mac_context.sh" --screenshot
# ユーザーが選択した領域
bash "$SKILL_DIR/scripts/mac_context.sh" --screenshot --interactive /tmp/shot.png
# クリックしたウィンドウ
bash "$SKILL_DIR/scripts/mac_context.sh" --screenshot --window /tmp/win.png

スクリプトは screenshot=<path> を出力します。そのパスをRead/visionツールで開き、スクリプト化できないUI(Slack、Notion、PDF、デザインツールなど)を解釈します。

「自分が何を見ているか」の複合スナップショット(最前面 + ブラウザ + クリップボード):

bash "$SKILL_DIR/scripts/mac_context.sh" --snapshot

機能とそれぞれが必要とするmacOSの許可を一覧表示:

bash "$SKILL_DIR/scripts/mac_context.sh" --list

パーミッションモデル

  • 読み取りが大部分です。スクリプトは何も送信、投稿、編集、移動、削除しません。
  • 唯一意図された副作用は次の通りです: --selection はテキストのみのクリップボードを一時的に上書きし(その後以前のテキストを復元)、--screenshot は画像ファイルを書き込みます。
  • macOSはこれらの機能をゲート(許可制御)しています。各モードの初回実行時にプロンプトが表示される場合があります:
    • ウィンドウタイトルと --selection: アクセシビリティ。
    • ブラウザモード: 自動化(ブラウザごと)。
    • スクリーンショット: 画面収録。
  • macOSがプロンプトを表示した場合は、一時停止し、どの許可が必要か、どこで許可するか(システム設定 > プライバシーとセキュリティ)を正確にユーザーに伝えてください。

構成

このスキルは他のスキルに情報を提供することを目的としています。典型的な連鎖:

  • キャプチャからタスクへ: 現在のコンテキストのスナップショットを取得し、ユーザーが見ていたものにリンクするリマインダー/課題を作成します。
  • ミーティングの準備/トリアージ: アクティブなタブまたは選択範囲を読み取り、フォローアップの根拠とします。
  • ビジョンによる回避策: AppleScriptインターフェースが存在しない場合、スクリーンショットを撮り、読み取ります。

連携する場合、最初にこのスキルで観察し、その構造化された結果をアクションを実行するスキルに渡します。アクションスキルは依然として憲章に従い、明示的で名前を指定したターゲットの同意を必要とします。

ガードレール

  • デフォルトを受動的観察とします。タスクに必要な場合を除き、スクリーンショットを撮ったり、選択範囲を読み取ったり、すべてのタブを列挙したりしないでください。最も狭いモードを優先します。
  • キャプチャしたコンテンツ(クリップボード、タブ、画面テキスト、選択範囲)はプライベートとして扱います。タスクに必要な以上にエコーせず、gitで追跡されるファイルに書き込まないでください。
  • 機能が不足している許可によってブロックされている場合は、リトライや回避策を試みるのではなく、そのことを明確に述べてください。
  • ここでアプリに対してUIスクリプティングを使用してアクションを実行しないでください。このスキルはセンシングのみを行います。アクションは専用の同意ゲート付きスキルに属します。

関連スキル