一键导入
computer-use
Discipline for driving native desktop apps with computer_* tools, including deferred ToolSearch discovery. Load before any computer-use work.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Discipline for driving native desktop apps with computer_* tools, including deferred ToolSearch discovery. Load before any computer-use work.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Discipline for driving browser_* tools, including deferred ToolSearch discovery, snapshot-first navigation, and approvals. Load for browser tasks.
Commit the current changes, push the branch, and open a GitHub pull request
Fetch and display comments from a GitHub pull request
Review a pull request for code quality, bugs, and style issues
Security-focused code review of pending changes on the current branch
| name | computer-use |
| description | Discipline for driving native desktop apps with computer_* tools, including deferred ToolSearch discovery. Load before any computer-use work. |
You can see and operate native macOS applications through the computer_* tools — the
things a browser cannot reach: Finder, Notes, Xcode, Photoshop, System Settings. Read
this before computer work; it is how you avoid wasting turns and how you stay safe.
The function schemas attached to the current request are the source of truth. If a
native-UI task needs computer_* but those schemas are absent while tool_search is
attached, search once in a separate tool-call batch and wait for its result. This skill
provides exact names, so for the common open → inspect → act workflow prefer
select:computer_open,computer_snapshot,computer_act. If tool_search is absent or the
search returns no match, report that computer control is unavailable.
Do not use execute, osascript, AppleScript, Shortcuts, cliclick, or another
shell/CLI UI-automation route as a substitute for computer_*. execute remains the
right choice for genuine file, build, and process work; it is not a native-UI control
fallback.
Computer use is the last resort, not the first. In order:
browser_* if the target is a web page. Always. Even if the browser is right
there on screen.execute for genuine file, build, and process work. Reading a file, running a
build, moving something on disk — all of these are execute, not clicking through
Finder. Never use shell UI automation to control a native app.computer_* only for native app UI with no better interface.This is not bureaucracy. Each tier up is faster, more reliable, and more legible to the user than driving pixels.
computer_snapshot is your primary way to see an app. It lists interactive elements
each tagged with a uid like [e3], which computer_act targets.disable_diff=true when you need
the whole tree again (after switching windows, or when you have lost the thread).computer_screenshot. Take a screenshot when the
accessibility tree is clearly incomplete (custom-drawn UI, canvases, games) or when
the visual layout itself is the question. The PNG is attached to that tool result for
direct visual inspection; image_ref is only the local UI copy, not the image itself.
A screenshot cannot be acted on by uid, so return to a fresh snapshot whenever AX can
provide the target. For genuinely custom-drawn controls, the screenshot result reports
the focused window's global bounds, image pixel size, and the exact pixel→screen formula;
use that mapping rather than treating cropped-image pixels as global coordinates.computer_apps to resolve a bundle id before computer_open. Do not guess bundle
ids.uid over coordinates. A uid survives scrolling, resizing, theme changes
and display scaling; a coordinate survives none of them. Coordinates exist for UI the
accessibility tree cannot see — that is all.set_value writes directly to an element. Prefer it over click → select-all → type.action=menu invokes a named accessibility action. The name must appear in the
snapshot. Do not guess action names — a guess is rejected, and a lucky guess is
worse.steps=[{...},{...}] runs them in one call instead of
one model round trip each. Every step is checked independently and the batch stops at
the first failure or refusal — so a batch is safe, not a way to sneak past a check.
Batch what you can predict; do not batch across a step whose outcome you need to read.Every app has a tier, shown in computer_apps and in each snapshot header. The tier is
checked at the moment of the action, against whichever app is frontmost then.
full — most apps. Everything is permitted.click — terminals and IDEs (Terminal, iTerm, VS Code, Xcode, JetBrains, …).
You may click and scroll; you cannot type or send keys. Clicking a Run button or
scrolling test output is fine. For shell commands use the execute tool, which is
gated and reviewable. This exists because jcode itself runs in a terminal — typing
into one would route around every approval jcode has.read — browsers. Screenshot only. Use the browser_* tools instead. This is
not because browsers are dangerous; it is because browser-use can read the DOM, resolve
where a link actually goes, and check the origin before navigating. A pixel click can
do none of that, and the visible link text is whatever the page author wanted it to
say.If an action is refused by a tier, do not look for a way around it. Read the refusal: it names the tool you should be using instead. Trying the same thing by coordinates, or via a different app, is working against the user's safety, not around a bug.
computer_open is what grants an app. The user approves each app
explicitly. That grant covers that app; it is not a grant to the clipboard, to system
key combos, or to anything else on screen.browser_*, which can.ask_user and state the exact action, the app, and the data involved.
Do the preparation first, then confirm right before the impactful step.If a tool reports that computer control was interrupted, the user took over — they moved the mouse, switched apps, or stopped you. Stop computer work and say so plainly ("Looks like you took over — I've stopped."). Do not fight for control of the machine someone is sitting at. A frontmost-app change is also a takeover signal and is checked before every action. Do not assume every mouse movement inside the same app can be detected; observe fresh state and stop if it no longer matches the intended workflow. If the screen is locked, stop entirely; an agent driving a machine its owner believes is secured is not something to work around.