跳到正文
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,636(GitHub 19,636 + cccskills 0)
集成工具OpenAI

实测评分 未实测

查看安装方法

适用场景

  • 操作只能通过屏幕控制的应用
  • 在画布界面中编辑或创作
  • 用另一种方式验证图形界面结果
  • 按任务选择 Mac 操作方式

中文介绍

功能

ComputerUse 会根据 Mac 任务可用的操作方式进行分流。能够利用屏幕结构、辅助功能信息、命令行或 API 的任务会交给 Interceptor。只能依据屏幕像素操作的任务,则会根据目标应用的对比结果选择视觉代理。视觉代理只能访问允许列表中的应用,并受到操作次数和运行时间限制。技能会用预先确定的验证方式检查结果,而不采信代理自己的完成报告。

适用场景

当某个应用或画布只能通过图形界面操作时,可以使用此技能。如果不确定 Mac 上的任务该采用哪种操作方式,或想在图形界面操作后确认屏幕是否达到指定状态,也适合使用。

使用示例

  • “请在 Shortcuts.app 中创建一个原样返回输入内容的快捷指令。”
  • “请点击 CMS 页面上的发布按钮。”
  • “请确认部署结果是否正确显示。”

注意事项

没有配置文件,或无法指定验证方式时,技能不会执行。使用视觉代理需要 Codex 桌面应用,或符合配置要求的环境。发送、购买、删除和发布等操作,仅会在得到明确指定时执行。

本介绍由 AI(OpenAI Codex)根据公开的 SKILL.md 撰写。准确的规格请查看下方原文。

文档检查

AI 根据 SKILL.md 的内容检查了需要注意的操作和使用前提。评分只依据实际运行的结果(实测对比)。

安全性发送数据、删除文件、执行命令等是否有说明
A良好缺少前提时会拒绝执行;发送、购买、删除和发布须明确请求。
安装难易度所需工具和 API 密钥是否少且有说明
B部分不足需要配置、Codex应用、插件和权限,但相关要求仅部分说明。

不计入评分。 由 AI(OpenAI Codex)于 2026年10月28日 评估。仅供参考,安装前请同时查看原文。

如果您认为评估有误,请申请复核

请写明哪一项有误以及原因。无需登录。我们会对照 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(原文)

安装前可以查看交给 AI 代理的指令内容。

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

免费有简介

按类别或厂商查找并获取网络安全报告,比较威胁、勒索软件、数据泄露、云安全和AI趋势。分析会注明每项数据的厂商、年份及报告,并分别呈现来源间的分歧。

  • 按类别查找威胁报告
  • 获取指定厂商的报告
  • 比较多家厂商的勒索软件趋势
danielmiessler/LifeOS2万2026年10月28日 更新

ApertureOscillation

免费有简介

通过三轮分析,对比单个功能或组件的设计需求与整个系统的目标,梳理两者的冲突、合适的实现范围,以及方案是否符合整体方向。

  • 判断服务或库是否应拆分
  • 比较功能需求与产品方向
  • 检查新组件是否符合现有系统
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 论文,并整理标题、作者、摘要和链接;查看新投稿,也可在有内容时获取 AlphaXiv 的人工智能生成概述。

  • 查看人工智能和机器学习新论文
  • 查找特定主题的论文
  • 按论文编号或 arXiv 网址查询
danielmiessler/LifeOS2万2026年10月28日 更新

查看 danielmiessler 的全部技能

报告此技能的问题