Agent skill

Ade Computer Use

by arul28 in arul28/ADE

A skill your agent uses for any computer use — driving an app, a screen, a simulator or a web page; clicking, typing, screenshotting, recording, or proving a UI change works.

AGPL-3.0Auto-check passedProductivity & Automation

Install Ade Computer Use

skills CLI
$ npx skills add arul28/ADE --skill ade-computer-use -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install arul28/ADE ade-computer-use --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/arul28/ADE.git skills-src && mkdir -p .claude/skills && cp -r skills-src/apps/desktop/resources/agent-skills/ade-computer-use .claude/skills/ade-computer-use && rm -rf skills-src

Use ~/.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/

Facts

Skill name
ade-computer-use
GitHub stars
114
Token cost
~6.7k tokens
SKILL.md length
3,926 words
Files
1
Skills in repo
28
Repo updated
First seen
Licence
AGPL-3.0

At a glance

A skill your agent uses for any computer use — driving an app, a screen, a simulator or a web page; clicking, typing, screenshotting, recording, or proving a UI change works.

  • Works in 4 steps: Start the screen and put an app on it → Observe before you act → Act — the result already contains the… → …
  • Any computer use — driving an app
  • SKILL.md covers Pick the surface, A device on another machine, The same answer on every surface and Proof per surface, plus 11 more sections
  • Calls npm

What it does

Ade Computer Use is an agent skill from arul28/ADE. Use this skill for any computer use — driving an app, a screen, a simulator or a web page; clicking, typing, screenshotting, recording, or proving a UI change works. It picks the right ADE surface (ade apple, ade screen — Mac Desktop on a Mac, Windows Desktop on Windows — ade app-control, ade browser) and covers the lane's own screen on both hosts, so you never drive the user's screen by accident.

Its SKILL.md is about 6.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Productivity & Automation, covering Desktop control. The licence is AGPL-3.0.

When your agent uses it

  • Any computer use — driving an app
  • Proving a UI change works

Example prompts

  • “s own screen on both hosts, so you never drive the user”
  • “/ade-computer-use”

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Start the screen and put an app on it
  2. Observe before you act
  3. Act — the result already contains the next observation
  4. Nothing here moves the user's pointer — except --real

What it can do on your machine

Read from SKILL.md and the folder at commit fbbd974. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Ade Computer Use loads about 6.7k tokens when it runs. Until then it costs about 106 tokens; SKILL.md has 3,926 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~106
When it runs · the whole SKILL.md, loaded when a task matches
~6.7k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from arul28/ADE at commit fbbd974, republished under its AGPL-3.0 licence (© arul28). 3,926 words, ~6,714 tokens.

Download SKILL.mdSave it as .claude/skills/ade-computer-use/SKILL.md (or your agent's skills folder).
name
ade-computer-use
description
Use this skill for any computer use — driving an app, a screen, a simulator or a web page; clicking, typing, screenshotting, recording, or proving a UI change works. It picks the right ADE surface (`ade apple`, `ade screen` — Mac Desktop on a Mac, Windows Desktop on Windows — `ade app-control`, `ade browser`) and covers the lane's own screen on both hosts, so you never drive the user's screen by accident.

ADE computer use

This is the one entry point for computer use in ADE. Pick the surface first, then follow that surface's loop.

Pick the surface

What you need to driveSurfaceSkill
An iOS or SwiftUI appade appleade-apple
Any macOS app — native, Electron, or custom-drawn (DAWs such as FL Studio or Ableton, games, canvases) — or anything that must not touch the user's own screenade mac-desktop (the lane's private display)this skill, below
Any Windows app (on a Windows host)ade screen (Windows Desktop)this skill, Windows Desktop below
An Electron app whose DOM you need — labels, selectors, hover, its consoleade app-control (CDP, one session per lane, runs in the background, no cursor)ade-app-control
A web page or a localhost URLade browserade-browser
A tab in the user's own browser — only when the user asks ("the tab I have open", "use my Chrome")ade browser attach, then the usual ade browser commands; ade browser detach when doneade-browser

Pick App Control for an Electron app whose DOM you need: it acts through the DOM, so labels, selectors, test ids and hover work, and it records and proves the app's own window. That covers your dev build (ade app-control launch) and an installed app such as Slack or a packaged build of the app you work on: start it with a debug port, then attach (ade mac-desktop open "<App>" -- --remote-debugging-port=9333, then ade app-control connect --cdp-port 9333). Otherwise Mac Desktop drives an Electron window by point, like any other app.

ADE's browser is the default for web work. Attach to the user's own browser only when they ask for it, never on your own, and tell them which machine and tab you attached to.

Lane screens (ade screen) exist on macOS and Windows hosts only. On a Linux host, ade screen status says "Lane screens are not supported on Linux yet"; use ade browser and ade app-control there.

Only ADE's surfaces stay off the user's screen. Anything else that clicks, types or captures — an MCP server, osascript or System Events, cliclick, screencapture, a browser-automation CLI, a Chrome you open yourself — acts on the user's real screen, pointer and focus. Do not use them for task work. When an ADE surface cannot do a step, say which step and why, and ask; do not switch tools silently.

Note: ade desktop is a different command. It launches the ADE desktop app.

A device on another machine

ade apple, ade mac-desktop and ade app-control take --machine <name> to drive that machine's simulator, screen or app (--lane <lane there>; use --machine-project to pick the project, since ade apple already uses --project). proof captures there and files the still in YOUR proof drawer. Recordings stay on that machine. The person at that Mac sees "Driven by an agent on <your machine>" and can end your session; stop it yourself when done. If the app needs building, start a subagent on that machine instead (ade chat create --machine …, see ade-cli-control-plane).

The same answer on every surface

Every surface works the same way: observe, act on a handle from the last observation, then check the result. Every acting command (click, type, press, fill, scroll, drag) reports two lines:

  • hit: — the element the command actually hit.
  • effect: — observed (ADE saw the screen change), unconfirmed (ADE looked and saw no change), not_checked (ADE did not look), or, in the browser, waiting (the action started a navigation that waits for the user to allow this chat to use the ADE browser; observe again after they answer).

When the effect is unconfirmed, observe again before you act again or report the step. Do not repeat the action blindly.

An unconfirmed answer can carry a third line, next:. It names the one input method to try next and why, and often a command to run:

  • observe — keep the same method. Look at the new screen, or wait for the label you expect. The action probably applied, or the element is disabled.
  • background_input — run the click it prints: the same click at the element's point, delivered to the app alone. No approval, no pointer moves.
  • real_input — repeat the same command with --real.
  • lease — real input is the fix, but this chat must ask for it first. Run the ade mac-desktop lease command it prints, then repeat with --real.
  • browser — the target is a web page. Drive it in the ADE browser, unless the task needs that exact browser.

Follow next: instead of a guess. Today only the Mac Desktop prints it.

Proof per surface

SurfaceStill proofVideo
Appleade apple proof --caption "<what>"ade apple record-start, then ade apple record-stop --keep
Mac Desktop / Windows Desktopade screen proof --caption "<what>"ade screen record start --caption "<what>", then record stop
App Controlade app-control proof --caption "<what>"ade app-control record start --caption "<what>", then record stop
Browserade browser proof --tab <id> --caption "<what>"ade browser record start --tab <id> --caption "<what>", then record stop --tab <id>

ade proof capture and ade proof record capture the lane's display. They refuse the user's real screen unless you pass --real-screen. Pass it only when the user asks for proof of their own screen. The ade-proof-artifacts skill covers attaching files and confirming a filing.

Each of these commands prints a cite: line, such as ![Settings saved](ade-proof://<id>). Paste it into your answer directly under the claim it proves: the picture shows there, and a video plays there. For a before/after, use a proof-compare block (see ade-proof-artifacts). Caption each item, and say what it does not show.

Show the user

bash
ade ui show mac-desktop     # also: apple, browser, proof, app-control
ade mac-desktop show --text
ade mac-desktop show --floating --text
ade app-control show --floating --text

Mac Desktop

Each lane owns a private macOS screen. ade mac-desktop ... creates it, parks apps on it, and drives them through the Accessibility API. The user's real display and real pointer are never touched, so you never have to ask before clicking — with one exception, the input lease below.

For web tasks, use ADE's built-in browser (ade browser, the ade-browser skill) by default. Open Safari or another browser here only when the user names that app or asks for the Mac Desktop.

macOS runtime hosts only. ade mac-desktop status --text answers everywhere; every other command refuses off macOS with MAC_DESKTOP_UNSUPPORTED_PLATFORM. --lane defaults to ADE_LANE_ID. In a chat, the command is pinned to that chat's lane: --lane naming a different lane is refused, not silently swapped.

Windows Desktop

On a Windows host, ade screen is Windows Desktop (ade windows-desktop and ade mac-desktop are aliases of the same Windows screen; every output says "Windows Desktop"). The verbs are the Mac ones below, with the Windows notes here. Start every task with ade screen status --text: it names the seat, who holds the private screen, whether setup and the saved password are done, whether the PC is locked, and a next line with the exact command or ask.

The two seats

  • private (default): a separate Windows session of the user's own account. It shows their wallpaper and taskbar, but it is not their screen. It has its own pointer, keyboard and foreground, so point clicks, drags and --real need no lease. One lane holds it at a time.
  • shared: the user's main desktop, only after the user says yes. Actions take over the window the user is using. Real input there is covered by the user's yes; only one shared lane drives at a time (MAC_DESKTOP_LEASE_HELD_BY_OTHER names the other lane: wait and retry).

What needs the user — ask, never do it yourself

Situation (status / error)What you do
Setup not done (WINDOWS_DESKTOP_SETUP_REQUIRED)Ask the user to run the setup card in the Windows Desktop pane. You cannot.
Password not savedstart still works; Windows asks the user to sign in on the PC. Tell them, and suggest Save Windows password in the pane. Never ask for the password in chat.
Private screen held by another lane (WINDOWS_DESKTOP_HELD)Ask the user to Take over in the pane, or ask for the main desktop: ade screen start --shared --reason "<what for>" --text.
Private unavailable (WINDOWS_DESKTOP_NOT_CONSOLE_SESSION, Home edition)ade screen start --shared --reason "<what for>" --text
PC locked (WINDOWS_DESKTOP_LOCKED)Ask the user to unlock it, then retry the same command.
User said no (WINDOWS_DESKTOP_CONSENT_REQUIRED)Stop and say what you could not do. Do not ask again this turn.

start --shared puts an Allow / Don't allow card in your chat and waits; on Allow it starts the shared seat. Only the user's button press counts: typed text is not an answer, and an agent that tries to answer the card itself (or the real-input lease card) is refused. If nobody answers within about three minutes the card is withdrawn and the command fails; ask again later. The same chat is not asked twice. Never pass --consent or --allow-prompt: those are the user's clients' flags and an agent is refused. A command with no chat (a plain shell outside one) cannot act on the main desktop at all; only the user's own ade --role cto can. Never use that role yourself; a holderId you pass is stripped.

Windows specifics

  • Long text: on the private seat, and for --real typing, Windows types one character at a time, so type takes about 25 ms per character and refuses more than 4,000 characters in one call; split longer text.
  • Browsers: ade screen open chrome (or msedge) on the private seat gets a lane-private profile, not the user's. open prints the windows that appeared; if none did it says why (for example the request was handed to an instance that was already running) and what to run next. Do not invent a --user-data-dir. For web tasks prefer ade browser.
  • Editors restore the user's tabs. Notepad reopens the user's open files, which can hold secrets. Create a blank file for the task and open that one: ade screen open notepad -- C:\Users\<you>\AppData\Local\Temp\ade-proof.txt --text. Then observe (or look at the screenshot) before you record or file proof, and stop if anything private is visible.
  • Modifier keys: --ctrl, --alt, --shift, --win. --cmd is sent as Ctrl. Example: ade screen press s --ctrl --text.
  • Windows: ade screen focus --window <id> raises one of your lane's windows, minimize --window <id> hides it, close --window <id> closes it (it reports closed no when a save prompt kept it open). Only your lane's windows; ids come from ade screen windows --text.
  • Paths print with backslashes; quote them. --out must be in the lane worktree or %TEMP%.

Proof on Windows

bash
ade screen observe --text                       # check nothing private shows
ade screen record start --caption "Notepad saves hello" --text
ade proof step "Type hello"
ade screen type "hello" --text
ade screen wait --label "hello" --text
ade screen record stop --text                   # prints duration and a cite line
ade screen proof --caption "hello typed in a blank Notepad file" --text

Paste the cite line under your claim. The shared seat files proof the same way.

Check each step before you report it

A click, type or press that returns ok only means ADE sent the input. It does not mean the app did what you wanted. After each step that matters, confirm it: read the screen the command printed, ade mac-desktop wait --label "<text>", ade mac-desktop observe, or a screenshot. Report only what you confirmed. If a step failed, say which step, and do not describe the result you meant to get. Before record stop, confirm the final state, so the video ends on it.

Common tasks

Use these directly; you do not need --help for them.

TaskCommand
Start the screen (do this first)ade screen start --text
Open an app, file or URLade screen open "Safari" --text
What is on screenade screen observe --text
Click a control by its labelade screen click --text "Sign in" --text
Click a point from the screenshotade screen click --x 900 --y 420 --text (add --right or --double); moves no pointer on a Mac or a private Windows seat
Type, then press Returnade screen type "reddit" --submit --text
Press one keyade screen press return --text (also tab, escape)
Wait for a label to appearade screen wait --label "Done" --timeout 8000 --text
Record a videoade screen record start --caption "<what>" --text, then record stop --text
Take a screenshotade screen screenshot --out shot.png --text
Show the screen to the userade screen show --text (tools pane) or --floating
Close your own windowade screen press w --cmd --text (Windows: ade screen close --window <id> --text)
Stop the screen (quits the apps the lane opened)ade screen stop --text
Quit apps the lane opened, released ones too (only when asked)ade screen quit [<app>] --text

Operating loop

1. Start the screen and put an app on it
bash
ade mac-desktop status --text
ade mac-desktop start --text
ade mac-desktop open "Preview" --text
ade mac-desktop windows --text

open takes an app name, a bundle id, a path, or a URL; everything after -- is the app's own argv. Run start first: open and the rest refuse with "Start one first" when the lane has no display. Viewing the screen does not start it, and an idle display with no windows and no viewer closes itself after a while. open starts a separate, blank copy of the app for the lane: no restored windows, tabs or documents, and never a process shared with the user's windows. The copy still shares that app's data with the user (cookies, history, recent files). To adopt a window that is already running, claim it:

bash
ade mac-desktop claim --window <id> --text
ade mac-desktop release --window <id> --text

release gives the window to the user. For an app the lane opened, the user gets the whole app: all its windows move to the user's screen, the lane stops watching it, and stop no longer quits it. A claimed window goes back alone.

Window ids die with their process. Re-run windows rather than caching one.

open answers before the app has a window (watching: yes, no windows yet). Wait for it before you observe — ade mac-desktop wait --label "<window title>" --timeout 8000 --text, or re-run windows. A document app such as TextEdit opens an empty untitled document. An app that opens no window when launched bare (Preview): open a file with it, or press ⌘N (ade mac-desktop press n --cmd --text) once the app is up. MAC_DESKTOP_NO_WINDOW means the display exists but has no window yet: open an app or claim a window; do not run start again.

Show full SKILL.md (1,622 more words)Show less
2. Observe before you act
bash
ade mac-desktop observe --text
ade mac-desktop observe --window <id> --map --limit 80 --text

An observation gives you a screenshot and a numbered element list: [3] AXButton "Sign in" (912,430). The number is a handle valid only for that observation. Act by handle when there is one — a point is a guess that the layout did not move. Add --map when you want a numbered image to look at.

Some apps list almost nothing: an Electron window shows its three window buttons, and a custom-drawn app (FL Studio, Ableton, a game, a canvas) shows its panels but not the controls inside them. Then act by point: read the control's position off the screenshot (global screen points, the same plane as the element list) and click it with --x/--y. That is still delivered to the app alone and moves no pointer.

3. Act — the result already contains the next observation
bash
ade mac-desktop click obs-a1b2:e:3 --text
ade mac-desktop click --text "Sign in" --text
ade mac-desktop type "ada@example.com" --clear --target obs-a1b2:e:7 --text
ade mac-desktop type "typed into whatever has focus" --text
ade mac-desktop type "reddit" --submit --target obs-a1b2:e:4 --text
ade mac-desktop press return --text
ade mac-desktop press tab --text
ade mac-desktop press return --cmd --text
ade mac-desktop scroll down --amount 5 --text
ade mac-desktop click --x 900 --y 420 --text            # a point, from the screenshot
ade mac-desktop click --x 900 --y 420 --right --text    # context menu; --double for a double click
ade mac-desktop scroll down --x 900 --y 420 --amount 5 --text
ade mac-desktop drag --from obs-a1b2:e:3 --to 900,420 --text
ade mac-desktop wait --label "Saved" --timeout 8000 --text

type --submit presses Return after the text, to submit a search or a form. press takes one key name (return, tab, escape, f5) or one character; key is the same command.

Every acting command re-observes and prints what the screen looks like now, with its hit: and effect: lines. Read them and that screen to confirm the step worked; ok alone does not confirm it. If the change takes time to show, run wait for a label instead of acting again. If a handle is refused as expired, observe again and retry.

4. Nothing here moves the user's pointer — except --real

Every command above runs without approval and leaves the user's pointer, keyboard and frontmost app alone. A handle or text target uses Accessibility. A point click, a right or double click, a scroll at a point and a drag are delivered to the app under the point and nowhere else (mode background in the reply), so custom-drawn and Electron apps work too. A handle whose element has no press action is clicked that way automatically. Keys and text already go to the app alone. Two refusals: while the user has taken control of the screen, every agent action is refused with MAC_DESKTOP_USER_HAS_CONTROL — retry after they hand control back; and a window of the app the user is working in right now (one Chrome window claimed onto the lane while they type in another) is refused, because acting on it would take that app's keyboard focus — ask for the lease and use --real, or open a separate copy.

--real is different: it posts through the user's one pointer, which jumps onto the lane's screen for every event. On a Mac it sits behind a lease the user grants once per chat (a Windows private seat needs none; on the Windows shared seat the user's yes covers it). Use it only for what background input cannot reach: a control that appears only on hover, or a drop onto another app or the Dock. Tell the user their pointer will move before you ask:

bash
ade mac-desktop lease --reason "drag the file onto the Dock" --text
ade mac-desktop drag --from obs-a1b2:e:3 --to 1200,1400 --real --text

Rules that will bite you

  • Never quit an app, and never touch a window you did not open. An app like Safari, TextEdit or Finder is one process for all its windows, on every screen. ⌘Q on the lane screen also closes the user's own windows of that app. To finish, close your own window with ade mac-desktop press w --cmd --text (it presses the window's close button) or release it. ⌘W refuses a window the lane claimed from the user — release that one — and ⌘Q quits only an app the lane itself opened with open; for any other app it refuses. Do not "reset" an app the user has open to get a clean start — open a new window for your task instead.

  • stop quits the apps the lane opened, unsaved work included. An app that shows a save or confirm dialog is force-quit after about three seconds. Save anything that matters before you stop. Windows you claimed go back to the user's screen; they are never quit. An app the user took with release is theirs and is not quit.

  • Leave the screen and its apps running when you finish. Do not stop on your own: the user may want to look at the result. When the user asks you to close, clean up or shut down what you opened, run ade mac-desktop quit --text (every app the lane opened, including apps you released to the user; quit <app> for one), then ade mac-desktop stop --text, and report what quit. stop alone does not quit a released app. When the user wants to keep using an app, release it (see above): its windows move to the user's screen.

  • Do not leave an app waiting on unsaved work. An app with an unsaved document shows a save dialog on the lane screen when it quits, and the user cannot see that dialog. Close your own document window without saving before you finish (ade mac-desktop press w --cmd --text, then choose "Don't Save"), or save it where the user asked.

  • Open a file as a document: ade mac-desktop open "<absolute path>" opens it in its app, and ade mac-desktop open TextEdit -- "<absolute path>" opens it in that app. Do not type a file's text into a new document to stand in for the file: that checks nothing and leaves unsaved work.

  • ade: Unknown command 'mac-desktop' means your shell found an older ade, not that the lane has no screen: a login shell can rebuild PATH and put an installed CLI ahead of the one this ADE launched. Run the same command through the launched CLI: "$ADE_CLI_PATH" mac-desktop status --text (PowerShell: & $env:ADE_CLI_PATH mac-desktop status --text), and keep using it for the rest of the task.

  • Never repair ADE from a task. Do not start, stop or install a brain or service (another channel may own it), and do not npm install in the user's repo to fix ADE's own errors. Report the error.

  • If ade mac-desktop still refuses after that, stop and report it. Do not fall back to the user's real screen, and do not record it with ade proof record --real-screen.

  • The user can take control. While they hold it your input is refused with MAC_DESKTOP_USER_HAS_CONTROL. Wait and retry; do not force anything.

  • Single-instance apps are one lane at a time. Xcode, Finder and Simulator.app cannot be split. A second lane is refused with MAC_DESKTOP_APP_OWNED_BY_OTHER_LANE, and the message names the holder.

  • Do not fight a window that keeps leaving the display. It is released and reported on purpose, the same as release: for an app the lane opened, the whole app goes to the user. Report it too.

Capture and proof

bash
ade mac-desktop screenshot --out shot.png --text
ade mac-desktop record start --caption "the fix in motion" --text
ade mac-desktop record stop --text
ade mac-desktop proof --caption "Preferences now saves the API key" --text

screenshot writes a file and files nothing. --out must land inside the lane worktree or the OS temp directory ($TMPDIR); anywhere else is refused. proof is the intentional one and refuses without --caption — a record nobody can judge is not proof. It captures, then re-observes, and prints the state it filed.

A recording becomes a demo when it stops. ADE cuts still time, speeds up waits (a load, a spinner) with a small 4× badge, zooms to the part of the screen where the actions happen (not on a phone, unless you pass --zoom), draws the pointer and a ring on each click, and keeps the file under 10 MB. You do none of that; you only choose what to record.

  • Record the flow that shows the claim, not the whole task. Do the setup first (open the app, reach the starting screen), start recording, run the flow, and stop as soon as the result is on screen. Saving files, retries and troubleshooting stay out of the video; if the flow went wrong, fix it and record again. A recording stops itself after 5 minutes, or after 2 minutes with no action. --max-seconds <n> sets a shorter limit.
  • Mark the steps. While recording, run ade proof step "<what happens next>" before each part of the flow. Each step is a caption in the video and a chapter in ADE's player. Keep steps short and in the user's words.
  • Wait for the result, not for a time. Use the surface's wait command instead of sleep (for example ade app-control wait --text-match "Saved" or ade apple wait-for-element --label "Saved"): the recording stops as soon as the result shows, and a slow load still gets its time.
  • --plain files the recording as it was recorded (no cuts, zoom, pointer or captions), still under 10 MB. Use it only when the user asks for it.
bash
ade mac-desktop record start --caption "Preferences saves the API key" --text
ade proof step "Open Preferences"
# ... act ...
ade proof step "Save the key"
# ... act, then confirm the result on screen ...
ade mac-desktop record stop --text

record stop finalizes within about two seconds. If it fails, the status it prints carries an error line and the partial file's path — report that instead of assuming the clip exists.

If a recording fails, say so. Never attach an older recording or a copied file in its place. ADE refuses copied proof.

Read that state before you rely on the record. If the observation it returns does not show what your caption claims, the proof is wrong: fix the screen, then file again. Filing a caption the capture does not support is worse than filing nothing.

Show the screen to the user

When the user asks to see the lane screen ("show me", "open the desktop"):

bash
ade mac-desktop show --text              # the Mac Desktop in the tools pane
ade mac-desktop show --floating --text   # the floating card over the chat

ade ui show mac-desktop and ade ui show floating-mac-desktop do the same. It targets your own chat and reports what really happened:

  • shown — it is on screen now.
  • held — a desktop window has this project open but the user cannot see it yet (your chat is not in front, or the window is hidden). It opens when the user goes to your chat. Say so.
  • no_desktop (exit 1) — no desktop window is open for this chat, so nothing was shown. Tell the user; do not claim you opened it.

show does not start the screen. Run ade mac-desktop start first.

© arul28, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in apps/desktop/resources/agent-skills/ade-computer-use of arul28/ADE.

Open the folder on GitHubat commit fbbd974

Compare with similar skills

Ade Computer Use 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.

Ade Computer Use compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ade Computer Use this skillarul28/ADE114—~6.7kAutomated safety check: PassAGPL-3.0
Vision SkillsAnionex/agent-vision-toolkit1.2k1 repos~4kAutomated safety check: PassMIT
Mac Computer UseTo3akaRin/mac-computer-use1.1k1 repos~495Automated safety check: PassMIT
Crabbox Appsopenclaw/openclaw392k—~1.5kAutomated safety check: PassMIT
Agent Managementautonomous-ai/Physical-AI-Operating-System381—~1.7kAutomated safety check: PassApache-2.0
Computer Usebam-bam-2/solo-skills3671 repos~915Automated safety check: PassMIT

Similar skills

  • Vision Skills

    Anionex/agent-vision-toolkit

    Local vision CLIs: glance (describe/ask/OCR an image), ground (locate a target, pixel box), detect (element inventory), trace (image to SVG geometry), crop (cut a pixel box to a file), and…

    1.2k GitHub starsUsed in 1 repo~4k tokens
    Productivity & AutomationAuto-check passed
  • Mac Computer Use

    To3akaRin/mac-computer-use

    操作 macOS 桌面应用,探测窗口和自动化接口、截图、读取或修改辅助功能元素、执行鼠标键盘动作,以及通过 CDP 操作内嵌 Chromium 页面。适用于桌面应用自动化与界面验收;普通网页任务优先使用已有浏览器工具。

    1.1k GitHub starsUsed in 1 repo~495 tokens
    Productivity & AutomationAuto-check passed
  • Crabbox Apps

    openclaw/openclaw

    A skill your agent uses when asked to open, run, test, or show an app in Crabbox, including native desktops, web previews, and computer use on a temporary machine.

    392k GitHub stars~1.5k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Agent Management

    autonomous-ai/Physical-AI-Operating-System

    Legacy Autonomous Buddy control for explicitly requested Buddy coding sessions.

    381 GitHub stars~1.7k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Computer Use

    bam-bam-2/solo-skills

    Use Orca's computer-use CLI to inspect and operate local desktop app windows through accessibility trees, screenshots, and safe UI actions.

    367 GitHub starsUsed in 1 repo~915 tokens
    Productivity & AutomationAuto-check passed
  • Cloud Computer Use

    davidondrej/cloudroom-core

    See and control desktop apps on this Cloud sandbox’s virtual Linux screen with cloudroom computer-use: launch GUI apps you build or install, read their UI, click, type, and take screenshots.

    272 GitHub stars~881 tokensUpdated yesterday
    Productivity & AutomationAuto-check: notes

More from arul28/ADE

All 28 skills in this repo
  • Ade App Control

    arul28/ADE

    A skill your agent uses when you need to run or drive a local Electron/desktop app and capture what it does — launch it or attach to a running renderer, read its logs or answer its terminal prompts…

    114 GitHub stars~3.4k tokensUpdated today
    Auto-check passed
  • Iteratively optimize an ADE tab's CPU/memory/IPC/render performance.

    114 GitHub stars~4.2k tokensUpdated today
    Auto-check passed
  • Ade Browser

    arul28/ADE

    A skill your agent uses for any browser behavior at all — opening a URL, checking a localhost page, clicking or filling a form, logging in, screenshotting, inspecting the DOM, or verifying a page…

    114 GitHub stars~3.3k tokensUpdated today
    Auto-check passed
  • Ade Deeplinks

    arul28/ADE

    A skill your agent uses when an agent needs to mint, share, or open ADE deeplinks (lane, work session, file, commit, artifact, branch, PR, Linear issue) so users — or the agent itself — can jump…

    114 GitHub stars~3.2k tokensUpdated today
    Auto-check passed
  • Ade Harnesses

    arul28/ADE

    A skill your agent uses when you need to run a chat, a CLI session, or a subagent on a specific setup — any model you pay for inside any harness (e.g.

    114 GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Ade Lanes Git

    arul28/ADE

    A skill your agent uses when creating, inspecting, syncing, committing, pushing, archiving, or rebasing ADE lanes and lane worktrees through ade lanes and ade git.

    114 GitHub stars~594 tokensUpdated today
    Auto-check passed

Questions about Ade Computer Use

What does Ade Computer Use do?

A skill your agent uses for any computer use — driving an app, a screen, a simulator or a web page; clicking, typing, screenshotting, recording, or proving a UI change works. Ade Computer Use is an agent skill from arul28/ADE. Use this skill for any computer use — driving an app, a screen, a simulator or a web page; clicking, typing, screenshotting, recording, or proving a UI change works.

When should I use Ade Computer Use?

Ade Computer Use fits situations like: any computer use — driving an app; proving a UI change works.

How do I install Ade Computer Use in Claude Code?

Run `npx skills add arul28/ADE --skill ade-computer-use -a claude-code`. Or copy the skill folder (apps/desktop/resources/agent-skills/ade-computer-use in arul28/ADE) into .claude/skills/ade-computer-use in your project. Claude Code loads it when a task matches its description.

How do I install Ade Computer Use in Codex?

Run `npx skills add arul28/ADE --skill ade-computer-use -a codex`. Or copy the skill folder (apps/desktop/resources/agent-skills/ade-computer-use in arul28/ADE) into .agents/skills/ade-computer-use in your project. Codex loads it when a task matches its description.

Can I use Ade Computer Use in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add arul28/ADE --skill ade-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/ade-computer-use, .gemini/skills/ade-computer-use, .github/skills/ade-computer-use and .opencode/skills/ade-computer-use in your project.

What does Ade Computer Use need to run?

Going by SKILL.md and its folder, Ade Computer Use needs the command-line tools its instructions call (npm).

Does Ade Computer Use access the network?

SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Ade Computer Use safe to install?

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.

What licence does Ade Computer Use use?

Ade Computer Use is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Ade Computer Use use?

About 6.7k tokens (SKILL.md is roughly 27k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Ade Computer Use?

Skills that share tags, products or a category with Ade Computer Use: Vision Skills (Anionex/agent-vision-toolkit, 1.2k stars), Mac Computer Use (To3akaRin/mac-computer-use, 1.1k stars), Crabbox Apps (openclaw/openclaw, 392k stars) and Agent Management (autonomous-ai/Physical-AI-Operating-System, 381 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ade Computer Use?

arul28 (a GitHub user) maintains it in arul28/ADE, which has 114 GitHub stars. The repository holds 28 skills in this directory. The repository was last updated on October 8, 2026.

Source: arul28/ADE on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.