本文へ移動
cccskills
無料GitHub で公開日本語紹介

ComputerUse

Mac上の作業を内容に応じて適切な操作手段に振り分け、画面だけで行う操作は実行範囲や手順を制限し、別の手段で結果を確かめます。

原文原文の説明を見る

Front door for driving this Mac: anything with a DOM, AX, CLI, or API handle routes to Interceptor; pixel-only GUI work goes to a vision agent, OpenAI Astra via codex exec or a tool-less Claude acting through Interceptor's bridge, picked per task class by a measured bake-off, under a deny list, step caps, and a read-back that decides pass/fail. USE WHEN computer use, drive the computer, control the mac, operate this app for me, do it in the GUI, pixel-only app, no API for this, canvas UI, computer-use bake-off, Claude vs OpenAI computer use. NOT FOR DOM/AX handles or web verification (Interceptor), scraping (a scraping skill, BrightData).

danielmiessler/LifeOSスター 19,635(GitHub 19,635 + cccskills 0)
連携ツールOpenAI

実行スコア 未検証

インストール方法を見る

こんなときに便利

  • 画面操作しかできないアプリを動かしたいとき
  • キャンバス画面で編集や作成を頼みたいとき
  • GUI操作の結果を別の手段で確かめたいとき
  • Macの操作方法を作業に応じて選びたいとき

日本語での紹介

できること

Mac上での操作依頼を、画面の構造やアクセシビリティ情報、CLI、APIで扱える作業と、ピクセルだけを見て操作する作業に振り分けます。前者はInterceptorに任せ、画面上の見た目を頼りにする作業では、対象アプリごとの比較結果に基づいて視覚エージェントを選びます。視覚エージェントには対象アプリの許可リスト、操作回数や時間の上限を設け、結果はエージェント自身の報告ではなく、あらかじめ定めた検証手段で判定します。

こんなときに便利

専用のAPIや画面構造から操作できず、GUIでしか扱えないアプリやキャンバス画面を操作したいときに使えます。どの方式で操作するか決めにくい場合や、画面操作後に依頼した状態になったか確認したい場合にも向いています。

使い方の例

  • 「Shortcuts.appで、入力をそのまま返すショートカットを作ってください」
  • 「CMSページの公開ボタンを押してください」
  • 「デプロイ結果が正しく表示されているか確認してください」

注意点

設定ファイルがない場合、または検証手段を指定できない場合は実行されません。視覚エージェントの利用にはCodexデスクトップアプリや設定に応じた環境が必要です。送信、購入、削除、公開などは明示的に指定された場合に限られます。

この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。

資料チェック

SKILL.md の記述から、注意が要る操作と導入の前提を AI が確認しました。点数は実際に動かした結果(実行検証)だけで付けています。

安全面送信・削除・コマンド実行などの扱いが明示されているか
A良好設定不足時は拒否し、送信・購入・削除・公開は指定時のみです。
導入のしやすさ必要なツールや API キーが少ないか、書かれているか
B一部不足設定、Codexアプリ、プラグイン、権限などが必要ですが手順は一部のみです。

点数には入れていません。 2026年10月28日 時点で AI(OpenAI Codex)が判定しました。目安なので、入れる前に原文も確認してください。

評価が違うと思ったら、見直しを依頼する

どの項目が、なぜ違うと思うかを書いてください。ログインは不要です。内容を SKILL.md と照らし合わせて評価を作り直し、この欄に反映します。

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

含まれるファイル(14)

  • SKILL.md12.4 KB
  • Config.example.md1021 B
  • Instructions.md1.0 KB
  • Intents/BakeOff.md1.7 KB
  • Intents/Drive.md2.2 KB
  • Intents/Probe.md1.3 KB
  • References/VisionLegs.md1.4 KB
  • Setup.md4.2 KB
  • Tools/BakeOff.ts10.6 KB
  • Tools/ClaudeLeg.ts13.5 KB
  • Tools/Probe.ts2.8 KB
  • Tools/Route.ts3.9 KB
  • Tools/Run.ts35.1 KB
  • Tools/WindowBounds.ts4.1 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

ComputerUse

Contents: Ideal State · Intent Routing · The routing table · The supervised run · Data & Config · Gotchas · Examples

One skill routes every computer-use task by a rule you can read, then supervises the run so the vision leg never grades itself, never sees what it must not, and never runs away.

Ideal State

  • Every task is routed by the readable rule before anything runs: verification and anything with a DOM, AX, CLI or API handle go to Interceptor, and only pixel-only work goes to the measured vision pick.
  • A vision run's verdict comes only from its declared verifier, never from the agent's own report, and no run starts without one.
  • The vision leg never sees a running credential app, a visible communications app or a denied host, never acts outside its allowlisted app, and stops at its step and wall-clock caps.
  • Send, buy, delete, publish or confirm happens only when the principal named that exact action, and every refusal is reported rather than worked around.

Intent Routing

IntentTriggerFile
Drive"do this in the GUI", "drive <app>", "computer use for <task>"Intents/Drive.md
Probe"is Astra computer use working", "probe the vision leg"Intents/Probe.md
BakeOff"bake-off", "which vision agent is better", "Claude vs OpenAI computer use", "re-score the vision legs"Intents/BakeOff.md
FileRead when
Instructions.mdchanging what the Astra leg is told; the runner passes it as model_instructions_file on every spawn
Config.example.mdsetting up the deny lists, caps and Focus shortcuts in the USER Config.md
Tests/changing routing, deny rules, caps or spawn flags (fixtures under Tests/fixtures/ are synthetic; source tree only, not in the release payload)
Setup.mdfirst-time setup: the Config.md fields, the Codex app and plugin, permissions, and a dry-run proof
References/VisionLegs.mdchanging or debugging how the Astra or Claude leg is spawned and confined: codex flags, the Claude leg step loop, its tool restrictions, env drops, pixel-to-point mapping

The routing table

IntentHandle?BackendWhy
verify / evidenceanyInterceptor, alwaysConstitutional №2: Interceptor is the only sanctioned evidence path. No failure count or backend state changes this row.
actyes (DOM, AX element, CLI, API)InterceptorDeterministic is cheaper, faster, and auditable.
actnothe vision pick for the target app: Astra or ClaudePixel-only authoring, canvas UIs, unscripted cross-app GUI flows.
actyes, but 2 Interceptor failures on this stepthe vision pick for that stepBounded escalation, logged once. Never the reverse direction.
anyInterceptor preflight failedrefusedA broken evidence path is "tool broken", never "no handle".
act, vision—Claude only when vision_pick names it for that app (or as default)The pick is written from Tools/BakeOff.ts results, never by hand-waving. Unpicked or unmeasured classes stay Astra.

Code: Tools/Route.ts (pure, tested). Runner: Tools/Run.ts.

The supervised run

Both vision legs run under the same supervise() in Tools/Run.ts (--backend astra|claude; without it, the vision_pick for the target app). The deny scan, watcher, caps, headless refusal and verifier below are shared.

  • Refuses on a headless channel (exit 3), on a failed Interceptor preflight (exit 4), without a declared verifier (exit 5), and when the deny list fires (exit 2, naming the app or host).
  • Deny list (your Config.md): credential-class apps may not be running; communications apps may not be visible (hidden with Cmd+H is fine); browser tabs on denied hosts block. Enforced before spawn and by a watcher every poll interval during the run.
  • Per-run app allowlist (default: the target app alone); the watcher kills the child when the frontmost app leaves it.
  • Step cap and wall clock, enforced by the runner. Defaults 60 steps / 10 minutes; override per run. A step is one completed computer-use tool call on the Astra leg (one call can bundle several clicks, so the wall clock is the hard bound) and one executed action on the Claude leg.
  • A missing Config.md is refused (exit 2), never run with empty deny lists.
  • Optional Focus (Do Not Disturb) on/off Shortcuts wrap the run so banners cannot enter a frame.
  • Every exit path, aborts included, runs the declared verifier. The run record's verdict is written only from the verifier's exit code; the leg's own report is stored as text and never counts.
  • Voice line before the first action and at finish. No approval gate for the task you named; send, buy, delete, publish are excluded by the leg's instructions (Instructions.md for Astra, the step prompt in Tools/ClaudeLeg.ts for Claude) and stop the run.

Data & Config

User data lives outside the skill: LIFEOS/USER/CUSTOMIZATIONS/SKILLS/ComputerUse/Config.md (deny lists, caps, Focus shortcut names) and .../runs/ (run records). Template: Config.example.md. The public skill ships no app names, hosts, or paths from any installation. First-time setup (accounts, keys, config, a proof it works) is in Setup.md.

Gotchas

  • bun:ffi corrupts CoreFoundation tagged pointers returned as ptr (2026-10-06). Small CFNumbers and CFStrings on Apple Silicon are tagged pointers with the high bit set; a ptr return is a double and loses bits, and the next CF call segfaults. WindowBounds.ts declares every CF value return and argument as u64.
  • A locked Mac blocks input and Apple Events but not screenshots or window lists (2026-10-06). Frontmost reads loginwindow; macos script run and macos vision time out; clicks post without effect. Screenshots and CoreGraphics window frames still work, so a dry check passes while a live run cannot. Check interceptor macos frontmost before any live mission.
  • The Astra leg needs the Codex desktop app, not just codex-cli (2026-09-07). codex features list says computer_use stable true, but the tool (mcp__cua_repl.js) comes from the app's bundled computer-use@openai-bundled plugin: install the app (codex app), then codex plugin add computer-use@openai-bundled; after that headless codex exec mounts the tool. Without the app the CLI, the interactive TUI, and every config table all show no computer-use tool. Tools/Probe.ts is the check after any codex or app upgrade.
  • codex sends the user's global ~/.codex/AGENTS.md to the model on every spawn (2026-09-07, quoted back verbatim by the model), and neither model_instructions_file nor project_doc_max_bytes=0 stops it. Hooks (~/.codex/hooks.json), memories, and ~/.codex/skills ride along the same way. The runner therefore spawns codex with CODEX_HOME pointed at its own isolated home (ensureCodexHome: links to auth, the plugin cache, and the computer-use client; a minimal config; nothing else), and an invariant refuses a home that has grown an AGENTS.md, hooks, or a user skill. Probe after any codex upgrade: ask the model to quote anything mentioning your system by name; the answer must be NONE. Before the fix, a probe answered as the DA: Run.ts passes features.hooks=false and overrides model_instructions_file with Instructions.md on every spawn (a spawn without that override is not a ComputerUse run), both asserted by Tests/Spawn.test.ts.
  • Per-app access is a codex elicitation that headless mode auto-denies. First use of an app returns "Computer Use was not approved to use X". Grant it once in an interactive codex session (choose "Always allow"; the store is not a file I could find, but it persists across processes), then headless runs pass. Each new target app needs this once.
  • The service drives apps in the background and never brings them frontmost. Good: the principal's keystrokes never land in Astra's window. Consequence: an allowlist rule that waits for the target to become frontmost kills every run; the watcher arms on first entry, only once the target has been front, and not arming is never an abort. At spawn the front app is whatever the principal was using, so live runs died at spawn before the fix. grace_seconds (default 20) is still read from Config.md, but the watcher no longer waits on it (Run.ts arming comment, observed 2026-09-07).
  • cua.getApp times out (-10005 timeoutReached) when the target app has zero windows. Give the target a window before the run (open a file into it); a windowless TextEdit process also had to be quit and relaunched.
  • codex's approvals_reviewer = "auto_review" reviews every cua action and can veto one as "unacceptable risk", including a corrective click. A second safety layer worth keeping; write tasks so the first attempt is right (TextEdit: Cmd+Shift+G in the Save dialog, or the typed path becomes an iCloud filename).
  • Verifiers share the UI session and can hang. shortcuts run blocks forever while the Mac is locked (ioreg -n Root -d1 -a → CGSSessionScreenIsLocked), so the runner caps every verifier at 120s and counts a timeout as fail. shortcuts view prints nothing for any shortcut on this OS; prove a shortcut by running it with a nonce input.
  • open <signed .shortcut> produced no import dialog anywhere Interceptor could see (2026-09-05): Shortcuts' AX tree reads empty and macos vision timed out on TCC. Do not assume the "Add Shortcut" click path works on every machine; verify with shortcuts list after import. The one "Add Shortcut" click is bridge-routed Interceptor (interceptor macos find "Add Shortcut" --app Shortcuts, then act), never osascript.
  • bun test from the repo root walks the whole tree and can fail with EMFILE on the preload; run this skill's tests from its own directory: cd skills/ComputerUse && bun test Tests/ (source tree only; tests are not in the release payload). The ISA's Test Strategy rows do exactly that.
  • interceptor macos inspect is the visibility source: isHidden per app. interceptor macos windows lists AX windows even for hidden apps, so it cannot tell hidden from visible. A window on a second display has a negative y; it is still visible.
  • ~/Library/DoNotDisturb/ is TCC-protected; you cannot read Focus state from bash. Assert Focus through a Get Current Focus Shortcut, never the DB.
  • A frame can reach the vendor in the interval before the watcher's kill lands. The deny list bounds exposure; it does not eliminate it. Credential apps must not be running for exactly this reason.

Examples

Example 1: pixel-only task

User: "Build a shortcut in Shortcuts.app that echoes its input, call it CU Probe Echo"
→ Route: act, no handle → the vision pick for Shortcuts (Astra). Allowlist: Shortcuts. Verifier: `shortcuts run "CU Probe Echo" --input-path /tmp/in.txt | rg -q ping`.
→ Deny scan passes, Focus on, voice line, codex runs, watcher polls, verifier runs, record written, Focus off, voice line.
→ "Done: verifier passed (exit 0). Record: runs/2026-09-05T….json"

Example 2: task with a handle

User: "Click the Publish button on the CMS page"
→ Route: act, has handle (DOM) → Interceptor. Astra is never spawned.

Example 3: verification

User: "Verify the deploy looks right"
→ Route: verify → Interceptor, regardless of anything else.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

AnnualReports

無料概要あり

複数ベンダーの年次サイバーセキュリティ報告書を探して取得し、脅威やランサムウェア、侵害統計の傾向を出典付きで比較・分析します。

  • 脅威レポートをカテゴリ別に探したいとき
  • 特定ベンダーの報告書を取得したいとき
  • ランサムウェア動向を複数社で比較したいとき
danielmiessler/LifeOS2万2026年10月28日 更新

ApertureOscillation

無料概要あり

個別の機能や部品の設計と、システム全体の目的を同じ問いで比較し、両者の食い違い、適切な実装範囲、全体との整合性を3段階で整理するスキルです。

  • サービスやライブラリの分割判断
  • 機能要求と製品方針を比較したいとき
  • 新しい部品と既存システムの整合性確認
danielmiessler/LifeOS2万2026年10月28日 更新

Aphorisms

無料概要あり

文章のテーマに合う格言や引用を探し、著者・出典と選定理由を添えて提案します。引用の追加、思想家の調査、利用履歴の管理を通じて、同じ引用の繰り返しも防ぎます。

  • ニュースレター向けの引用探し
  • 出典付きの引用を重複なく保存
  • 思想家の言葉をテーマ別に調査
danielmiessler/LifeOS2万2026年10月28日 更新

Art

無料概要あり

ブログの挿絵や技術図解、比較図、マンガ、アイコンなどを用途別の手順で制作します。形式に合う構図や配色を組み立て、確認用の画像を出力します。

  • ブログの見出し画像を作りたいとき
  • システムの仕組みを図解したいとき
  • 比較や時系列を可視化したいとき
danielmiessler/LifeOS2万2026年10月28日 更新

ArtDirection

無料概要あり

画像や映像、スライド、サイト画面の品質を複数の判定役で評価し、修正点の整理から基準を満たした成果物の引き渡しまで進めます。

  • 画像の修正点を優先順に整理したいとき
  • 映像やスライドを基準に沿って評価したいとき
  • 公開前に見た目が基準を満たすか確認したいとき
danielmiessler/LifeOS2万2026年10月28日 更新

ArXiv

無料概要あり

arXivの論文をテーマ・分野・論文IDで探し、著者や要旨、リンクをまとめます。新着論文の確認や、用意されている場合はAlphaXivのAI生成概要の取得にも対応します。

  • AI・機械学習の新着論文の確認
  • 特定テーマの論文を探したいとき
  • 論文IDやarXivのURLで照会
danielmiessler/LifeOS2万2026年10月28日 更新

danielmiessler のスキルをすべて見る

このスキルの問題を報告する