Computer Use Action Picker
mrmps/classifier-dev
Pick a browser or desktop agent's next action by choosing among the actions actually on screen instead of inventing one.
Operates desktop apps and isolated or disposable browsers on registered computers through an observe, act, verify loop, separate from driving the user's own signed-in Chrome.
$ npx skills add codewhale-hq/Codewhale --skill computer-use -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install codewhale-hq/Codewhale computer-use --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/codewhale-hq/Codewhale.git skills-src && mkdir -p .claude/skills && cp -r skills-src/crates/tui/plugins/computer-use/skills/computer-use .claude/skills/computer-use && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "computer-use" agent skill from https://github.com/codewhale-hq/Codewhale/tree/main/crates/tui/plugins/computer-use/skills/computer-use into .claude/skills/computer-use/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "computer-use", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/codewhale-hq/Codewhale/tree/main/crates/tui/plugins/computer-use/skills/computer-useType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add codewhale-hq/Codewhale --skill computer-use -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install codewhale-hq/Codewhale computer-use --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/codewhale-hq/Codewhale.git skills-src && mkdir -p .agents/skills && cp -r skills-src/crates/tui/plugins/computer-use/skills/computer-use .agents/skills/computer-use && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "computer-use" agent skill from https://github.com/codewhale-hq/Codewhale/tree/main/crates/tui/plugins/computer-use/skills/computer-use into .agents/skills/computer-use/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "computer-use", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add codewhale-hq/Codewhale --skill computer-use -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install codewhale-hq/Codewhale computer-use --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/codewhale-hq/Codewhale.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/crates/tui/plugins/computer-use/skills/computer-use .cursor/skills/computer-use && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "computer-use" agent skill from https://github.com/codewhale-hq/Codewhale/tree/main/crates/tui/plugins/computer-use/skills/computer-use into .cursor/skills/computer-use/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "computer-use", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/codewhale-hq/Codewhale.git --path crates/tui/plugins/computer-use/skills/computer-use--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add codewhale-hq/Codewhale --skill computer-use -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install codewhale-hq/Codewhale computer-use --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/codewhale-hq/Codewhale.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/crates/tui/plugins/computer-use/skills/computer-use .gemini/skills/computer-use && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "computer-use" agent skill from https://github.com/codewhale-hq/Codewhale/tree/main/crates/tui/plugins/computer-use/skills/computer-use into .gemini/skills/computer-use/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "computer-use", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install codewhale-hq/Codewhale computer-useInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add codewhale-hq/Codewhale --skill computer-use -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/codewhale-hq/Codewhale.git skills-src && mkdir -p .github/skills && cp -r skills-src/crates/tui/plugins/computer-use/skills/computer-use .github/skills/computer-use && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "computer-use" agent skill from https://github.com/codewhale-hq/Codewhale/tree/main/crates/tui/plugins/computer-use/skills/computer-use into .github/skills/computer-use/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "computer-use", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add codewhale-hq/Codewhale --skill computer-use -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install codewhale-hq/Codewhale computer-use --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/codewhale-hq/Codewhale.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/crates/tui/plugins/computer-use/skills/computer-use .opencode/skills/computer-use && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "computer-use" agent skill from https://github.com/codewhale-hq/Codewhale/tree/main/crates/tui/plugins/computer-use/skills/computer-use into .opencode/skills/computer-use/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "computer-use", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
computer-useOperates desktop apps and isolated or disposable browsers on registered computers through an observe, act, verify loop, separate from driving the user's own signed-in Chrome.
The skill first picks a target: an app on the local Mac found through a list call and bound with explicit access and an activation that keeps the user's own foreground and pointer free, the user's actual Chrome through a separate Chromewhale plugin's page tools rather than desktop clicks, or a clean isolated or disposable browser or desktop that never attaches to the user's profile. It prefers host file, shell and app connectors for work that does not need a UI at all, and avoids driving a terminal window directly.
Its action loop is observe, act, verify: list_apps and get_app_state find targets and read text, controls and element indices rather than guessing at missing labels, actions prefer named elements with set_value or focus-then-type over raw coordinates, and any stale target or timeout triggers a fresh observation rather than blindly retrying. Screenshots and zoom are a fallback only when the element tree cannot answer the question, with returned coordinates tied to a specific raster ID that must be passed back exactly, and a stale raster always means observing again rather than reusing old pixel data. The excerpt breaks off while still describing this verification step.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit ad333fd. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Codewhale Computer Use Controller loads about 1.4k tokens when it runs, and up to ~13k if it reads all its reference files. Until then it costs about 54 tokens; SKILL.md has 742 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from codewhale-hq/Codewhale at commit ad333fd, republished under its MIT licence (© codewhale-hq). 742 words, ~1,421 tokens.
.claude/skills/computer-use/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Choose the target before acting:
computer {action:"list"}, then request_access on the intended computer. Follow the returned missing-permission/install hint and via owner; bundled builds already include a helper. A stale helper needs a user restart. Bind the named app with open_application {activate:false}; keep the user's foreground and pointer free.page_* tools for the user's open tabs and signed-in accounts. Do not drive their browser window with desktop clicks or attach to their profile.browser {action:"start"} for a clean, session-owned browser. It never attaches to the user's profile. For a disposable desktop, computer {action:"spawn", id, transport:"docker"} creates a task-owned computer; its state is temporary. Spawning needs the host's existing authorization.Prefer the host's files, shell and app connectors for work that does not need a UI. Never drive a terminal window to run commands. On macOS, app scripting may be more precise; read its restrictions in the operating details before using app_script.
list_apps finds targets. If a named app is absent, try open_application once with the user's exact spelling, then report the result; do not guess names. Pass computer explicitly when switching machines. Read each receipt's computer identity.get_app_state for text, controls, element indices and state_id. Use query, role, limit or find_elements to narrow. Missing labels are unknown; do not guess them. Re-observe shallow/loading trees.set_value, or focus then type/key. Newlines and press_enter send Return. wait_for handles UI transitions. Re-observe after stale targets or a timeout; never replay an action whose receipt says action_sent:true.space:"screen". Pass its raster_id in every raster coordinate target and as the parent of zoom; use the zoom's new ID for child-image points. OCR targets already carry it. raster_stale means observe again; never drop the ID to retry. A pin detects capture replacement, not a changed UI. Never calculate from a file path, omitted image, stale raster or invented state. Text-only models may use macOS OCR, not infer graphical meaning.verified:false, inspect the requested screenshot before relying on it.consent allow only after the person authorizes that exact scope in this conversation. A denied permission is final: explain the missing grant and stop. Never operate the helper's controls or approve the host's own authorization.consent_needs_user; never manufacture approval or an attestation.background_focus_required refusal is not permission to activate an app. Foreground mode requires explicit user consent. Do not work in an app the person is editing, move an obstructing window, or quit their apps. Close only disposable documents from this task.control_paused, control_stopped, user_busy, cancellation and stop_computer_control mean stop acting. Do not switch tools, sessions, transports, environment variables or helpers to bypass them. A disconnected installed helper must not fall back to direct input. A contested-input receipt is not verified success.confirmation_required, record the returned single-use token only after that approval, then repeat only the identical call. Never bypass it with coordinates, keys or a script.Read these packaged MCP resources using this server's resources/read (in Codewhale: list_mcp_resources, then read_mcp_resource with the returned server and URI). Do not read mutable plugin paths to bypass reviewed snapshots.
skill://codewhale-cu/references/operating-details.md: platform routing, app scripting, browser, keyboard and recording details. Read before raw pointer/foreground input, app scripts, or recording.skill://codewhale-cu/references/quick-reference.md: schemas and short recipes.skill://codewhale-cu/references/refusal-codes.md: recovery for an actual refusal; never retry a denial unchanged.skill://codewhale-cu/recording/SKILL.md: capture workflow and platform limits.© codewhale-hq, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (references) in crates/tui/plugins/computer-use/skills/computer-use of codewhale-hq/Codewhale.
Open the folder on GitHubat commit ad333fd
Codewhale Computer Use Controller next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Codewhale Computer Use Controller this skillcodewhale-hq/Codewhale | 41k | — | ~1.4k | Automated safety check: Pass | MIT | |
| Computer Use Action Pickermrmps/classifier-dev | 424 | — | ~1.5k | Automated safety check: Pass | MIT | |
| Computer Useautonomous-ai/Physical-AI-Operating-System | 381 | — | ~2k | Automated safety check: Pass | Apache-2.0 | |
| Electron App Automationvercel-labs/agent-browser | 44k | 5 repos | ~1.7k | Automated safety check: Pass | Apache-2.0 | |
| Control Browserzai-org/ZCode | 7.5k | — | ~4.6k | Automated safety check: Pass | Apache-2.0 | |
| Browser MCP Agentantibrow/anti-detect-browser-skills | 914 | 1 repos | ~4.2k | Automated safety check: Warn | MIT |
mrmps/classifier-dev
Pick a browser or desktop agent's next action by choosing among the actions actually on screen instead of inventing one.
autonomous-ai/Physical-AI-Operating-System
Operate apps/websites on the paired Mac via Buddy: Calendar, Notes, forms, screenshots, files.
vercel-labs/agent-browser
Automates Electron desktop apps such as VS Code, Slack or Discord by connecting agent-browser to their Chrome DevTools Protocol port.
zai-org/ZCode
A skill your agent uses when opening, navigating, inspecting, testing, clicking, typing, filling, screenshotting, or verifying web pages and local HTTP targets (localhost, 127.0.0.1, ::1) inside…
antibrow/anti-detect-browser-skills
Give an AI agent its own real browser over MCP tool calls - launch, navigate, click, fill, screenshot, extract text, run JS - with a kernel-level real-device fingerprint and a persistent profile, so…
agent-sh/agent-workspace-linux
Drives a hidden, agent-owned Linux desktop and browser over MCP for GUI testing and web automation without touching the user's real desktop.
codewhale-hq/Codewhale
Proves a Codewhale change in the real product: a stamped release build, an atomic local install, fresh-shell verification and manual QA that automated gates cannot cover.
codewhale-hq/Codewhale
Writes a paste-ready handoff for the next agent session, opening with a state-check command block and separating done, suspected and blocked work.
codewhale-hq/Codewhale
Decides how verified work should reach main, directly, in a worktree or on an integration branch, while keeping contributor credit and respecting merge gates.
codewhale-hq/Codewhale
Guides when and how to split multi-step coding, research or verification work into focused sub-agent runs while the parent keeps integration and final checks.
codewhale-hq/Codewhale
Triages and manages Codewhale fleet runs and workers with typed commands, classifying failures and choosing a safe restart, resume or escalation.
codewhale-hq/Codewhale
Moves a list of GitHub issues into a milestone or assigns them to owners with the gh CLI, checking each one before and after the change.
Categories
Operates desktop apps and isolated or disposable browsers on registered computers through an observe, act, verify loop, separate from driving the user's own signed-in Chrome. The skill first picks a target: an app on the local Mac found through a list call and bound with explicit access and an activation that keeps the user's own foreground and pointer free, the user's actual Chrome through a separate Chromewhale plugin's page tools rather than desktop clicks, or a clean isolated or disposable browser or desktop that never attaches to the user's profile. It prefers host file, shell and app connectors for work that does not need a UI at all, and avoids driving a terminal window directly.
Codewhale Computer Use Controller fits situations like: automating a task inside a native desktop app that has no API; running a task in a clean, disposable browser separate from the user's own Chrome; reading on-screen state to verify an action actually took effect.
Run `npx skills add codewhale-hq/Codewhale --skill computer-use -a claude-code`. Or copy the skill folder (crates/tui/plugins/computer-use/skills/computer-use in codewhale-hq/Codewhale) into .claude/skills/computer-use in your project. Claude Code loads it when a task matches its description.
Run `npx skills add codewhale-hq/Codewhale --skill computer-use -a codex`. Or copy the skill folder (crates/tui/plugins/computer-use/skills/computer-use in codewhale-hq/Codewhale) into .agents/skills/computer-use in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add codewhale-hq/Codewhale --skill computer-use -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/computer-use, .gemini/skills/computer-use, .github/skills/computer-use and .opencode/skills/computer-use in your project.
SKILL.md names no scripts, command-line tools or credentials: Codewhale Computer Use Controller is instructions for the agent only. Our summary lists: A registered computer with the Codewhale helper installed.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Codewhale Computer Use Controller is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.4k tokens (SKILL.md is roughly 5.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 12k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Codewhale Computer Use Controller: Computer Use Action Picker (mrmps/classifier-dev, 424 stars), Computer Use (autonomous-ai/Physical-AI-Operating-System, 381 stars), Electron App Automation (vercel-labs/agent-browser, 44k stars) and Control Browser (zai-org/ZCode, 7.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
codewhale-hq (a GitHub organization) maintains it in codewhale-hq/Codewhale, which has 41,067 GitHub stars. The repository holds 63 skills in this directory. The repository was last updated on October 7, 2026.
Source: codewhale-hq/Codewhale on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.