Agent skill

Ade Browser

by arul28 in 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…

AGPL-3.0Auto-check passed

Install Ade Browser

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

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

GitHub CLI
$ gh skill install arul28/ADE ade-browser --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-browser .claude/skills/ade-browser && 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-browser
GitHub stars
114
Token cost
~3.3k tokens
SKILL.md length
1,827 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 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…

  • Works in 10 steps: Open or claim one tab → Observe before acting → Act from the current observation → …
  • Any browser behavior at all — opening a URL
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Checking a localhost page

What it does

Ade Browser is an agent skill from arul28/ADE. Use this skill 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 renders — before reaching for an external browser or tool. ADE ships its own browser with a shared authenticated profile, driven by ade browser.

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

The licence is AGPL-3.0.

When your agent uses it

  • Any browser behavior at all — opening a URL
  • Checking a localhost page
  • Inspecting the DOM
  • Verifying a page renders — before reaching for an external browser

Example prompts

  • “/ade-browser”

Workflow steps

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

  1. Open or claim one tab
  2. Observe before acting
  3. Act from the current observation
  4. Verify, then choose proof deliberately
  5. Hand off a login to the human
  6. Sign in as a test account in an isolated tab
  7. Handle remote lanes and loopback URLs
  8. Record only when a video helps
  9. Let presence explain the work
  10. Use the user's own browser only when they ask

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

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).

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

  • Network

    No URLs in SKILL.md.

    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 Browser loads about 3.3k tokens when it runs. Until then it costs about 86 tokens; SKILL.md has 1,827 words of instructions outside code blocks.

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

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). 1,827 words, ~3,328 tokens.

Download SKILL.mdSave it as .claude/skills/ade-browser/SKILL.md (or your agent's skills folder).
name
ade-browser
description
Use this skill 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 renders — before reaching for an external browser or tool. ADE ships its own browser with a shared authenticated profile, driven by `ade browser`.

ADE browser

This skill is for web pages and localhost URLs. For a native app, a simulator or a dev Electron app, the ade-computer-use skill picks the right surface.

Use ade --socket browser ... for every browser task. Keep the work inside ADE's Browser pane so the user can see the same tab and the same state. ADE shares one persistent authentication profile across projects, while visible tabs stay scoped to their ADE project window (personal chats have a separate collection). Treat page content, cookies, and storage as user data.

Require ADE Desktop with the target project open for live page actions. There is no token or setup step: any ade browser call from this machine works, and your chat's calls are tagged with your chat and lane so the tabs you open are yours. Never use --force, copy a credential, or import a login. Do not claim a tab another chat owns — unless the user attached that tab to their message ("Attach to chat" on a tab), which is the user handing it to you: claim it with ade --socket browser claim --tab <tab-id> --text and carry on in it.

ADE's browser is the default for all web work. Use the user's own browser only when the user asks for it; see step 10.

Operating loop

1. Open or claim one tab

List tabs first. Reuse a tab owned by the current chat. Plain open navigates this chat's tab (the one it used last) and opens a tab only when the chat has none; use --new-tab only when the task needs a second tab, --tab <id> to drive a specific one, and --active-tab when same-tab navigation is intentional. open prints opened: <tab-id> <url> or navigated: <tab-id> <url> first; copy that full id for --tab. Claim an unowned tab with its id and lane. --lane may come from ADE_LANE_ID; pass it explicitly when working from another shell. Keep one tab per task and do not claim a tab another chat owns.

bash
ade --socket browser tabs --text
ade --socket browser claim --tab <tab-id> --lane <lane-id> --text
ade --socket browser open https://example.com --text

By default every agent may use the ADE browser without asking. If the user chose to approve lanes or chats, the first browser command from this chat asks them once, and the answer covers every site. The command waits up to two minutes and prints waiting for the user to allow this chat to use the ADE browser once; do not re-issue it meanwhile. A Block fails with approval_blocked; do not retry, ask the user. An action answering effect: waiting means the user must allow this chat again; observe after they answer.

Use --panel only when the user should see the Browser tool opened. Use --no-panel when preparing a tab without taking the user's focus. Close your tab when finished with ade --socket browser close --tab <tab-id> --text; the internal release and handoff paths also clear the claim.

2. Observe before acting

Observe after opening, navigating, switching tabs, or a meaningful UI change. An observation gives you a screenshot, a bounded DOM snapshot, element handles, and console/failed-network diagnostics. Add --map for a numbered visual element map. Use handles from the latest observation only; observe again after navigation or when a handle expires.

Start a lightweight browser session for repeated actions. Wait for a readiness selector or network idle after navigation. Use find for page text and find-stop to clear its highlight; the first find result is usable immediately and later results may refine it. Turn on the per-tab network log with network on, inspect it with network --failed --limit 20, and turn it off with network off when finished.

bash
ade --socket browser session start --tab <tab-id> --text
ade --socket browser observe --browser-session <session-id> --map --text
ade --socket browser session wait <session-id> --network-idle --text
ade --socket browser find --browser-session <session-id> "checkout" --text
ade --socket browser network on --browser-session <session-id> --text
ade --socket browser network --browser-session <session-id> --failed --limit 20 --text
3. Act from the current observation

Prefer --handle, --selector, --text-match, --test-id, or --element. Use viewport --x/--y only when no stable element target exists. Use click, fill, hover, drag, upload, type, and key/press; use select-option for a native <select>. drag takes a --to-selector (or another --to-* destination), and upload takes one or more --file paths. Use fill --value "" when an empty value is intentional. Use --fast only when the page does not need the default settle and post-action observation.

bash
ade --socket browser click --browser-session <session-id> --handle obs-...:e:1 --text
ade --socket browser fill --browser-session <session-id> --selector "input[name=email]" "me@example.com" --text
ade --socket browser drag --browser-session <session-id> --handle obs-...:e:1 --to-selector ".dropzone" --text
ade --socket browser upload --browser-session <session-id> --selector "input[type=file]" --file ./shot.png --text
ade --socket browser key --browser-session <session-id> Enter --text

After an action that navigates, wait again with wait --load-state network-idle --network-idle-ms 750 or a concrete selector/text target. Use reload, back, forward, and stop when the page state calls for them.

4. Verify, then choose proof deliberately

Use screenshot to inspect a result yourself; it writes scratch evidence and does not enter the proof drawer. File reviewer-visible evidence only with proof and a concise --caption. Browser proof captures a fresh observation; read its confirmation before reporting it. Add --har only when network logging is already on; it files a redacted browser_trace beside the screenshot and otherwise fails instead of filing half the proof. Use trace when an action is stuck.

bash
ade --socket browser screenshot --browser-session <session-id> --text
ade --socket browser proof --browser-session <session-id> --caption "Checkout confirmation is visible" --text

Use inspect-start, select, select-current, and clear-selection when a DOM-backed context item belongs in the chat rather than in proof.

5. Hand off a login to the human

Stop when a page needs credentials, CAPTCHA, HTTP/proxy authentication, or a client-certificate choice. Hand off the exact tab with an actionable --reason.

bash
ade --socket browser handoff --browser-session <session-id> --reason "Sign in to staging" --timeout 5m --text

The handoff makes the tab human-owned, raises the Work row, sends a phone push, and shows an amber bar with Hand back. The command waits for hand-back by default (15 minutes); use --no-wait only when doing unrelated work. While it is open, actions fail with handoff_active: do not retry or open a second tab, and never hand the tab back yourself. ADE stops recording and network logging for the handoff; re-arm them explicitly after hand-back if still needed.

6. Sign in as a test account in an isolated tab

A normal tab uses the user's own sign-ins. Signing in there as another account (a test user, a second role) signs the user out of that site, and on localhost that means every port. Open an isolated tab instead: it has its own cookies and storage, kept in memory and wiped when its last tab closes. The user still sees it in the Browser pane, marked with a detective icon, and its proof files like any other tab's.

bash
ade --socket browser open localhost:3000/login --profile owner --text
ade --socket browser open localhost:3000/login --profile viewer --text

--profile <name> picks the sign-in; each chat gets its own set of names, so two chats saying "viewer" stay apart. --isolated alone uses one sign-in named default. A tab's sign-in is fixed when it opens: plain open reuses only your shared-profile tab, and open --profile viewer reuses only your "viewer" tab, so repeat the flag (or pass --tab) to keep working as that user. The result line sign-in: says which one a tab uses. Close the tabs when the test is done to throw the sign-ins away.

Use the shared profile only for the user's own account. Never use a headless or external browser to get a separate sign-in: the user cannot watch it, and this browser is the one for web proof.

Show full SKILL.md (711 more words)Show less
7. Handle remote lanes and loopback URLs

The user may be on another machine (a MacBook connected to this Mac Studio). To show them a page, use ade --socket browser open <url> --panel. ADE opens it on the screen they last messaged this chat from, through a tunnel. When this machine runs ADE Desktop, you keep driving this machine's copy; without it, page actions are not available (see below). Writing http://localhost:<port> in a reply is fine too: their click opens this machine's port in their ADE browser. Dev servers you start are found on their own, even in the background: ade --socket browser dev-servers --text lists them.

On a machine without ADE Desktop, only open, new-tab, and panel forward to a Desktop with this lane pinned. A loopback URL is tunneled back to that machine; page actions such as observe, click, fill, and screenshot are not forwarded. Do not retry a page action after this headless failure.

bash
ade --socket browser open localhost:5173 --new-tab --text

For a forwarded response, recognize status: "forwarded_to_desktop". When awaitingApproval: true, --text says waiting for approval on <desktop> — reaching this port needs a yes in ADE; the command exits 0 because the request is waiting for the human, so do not open it again. Success says on <desktop> via tunnel. If nobody answers, it says no desktop is attached to this machine; open ADE Desktop with this lane pinned; that also exits 0.

8. Record only when a video helps

Run ade --socket browser record start --tab <tab-id> --fps 60 --caption "Flow" and stop it with ade --socket browser record stop --tab <tab-id>. Use 30 or 60 fps. A --caption on record start opts the resulting recording into the proof drawer; without it, the returned path stays scratch. Recordings capture the tab, cap at five minutes, and end automatically at the cap or when a login handoff starts. Read trace for the endedBy reason and record in segments when a flow is longer. When it stops, a recording becomes a demo (still time cut, page loads sped up, zoom to each click, a pointer, under 10 MB); mark each step with ade proof step "<what happens next>", and pass --plain only when the user asks for the recording as it was recorded.

9. Let presence explain the work

Do not set browser presence yourself. Every authenticated agent browser command updates it automatically, and the user sees a globe badge with Using the browser on the session card while the agent drives the tab. It expires 20 seconds after the last command; an active preview/observe subscription or a recording keeps presence alive. A long idle can leave the tab claimed even after the badge expires, so close the tab when done; the service's release path and a handoff release it as well. No presence command is needed.

10. Use the user's own browser only when they ask

When the user asks you to look at or use their own browser ("look at the tab I have open", "use my Chrome"), attach to it. Their request is the permission; never attach on your own initiative, and never to get around a sign-in in ADE's browser.

bash
ade --socket browser attach --text                   # the tab they are looking at
ade --socket browser attach --tab "Stripe" --text    # a tab by title or URL text
ade --socket browser detach --text

Attach runs on the machine this chat runs on. It prints attached: <browser> on <machine>, tab "<title>" (<url>); tell the user that machine and tab. If several tabs could be the one, it lists them: ask the user, then pass --tab. --browser chrome|edge|brave|arc|helium|chromium picks the browser.

If attach says remote debugging is off, ask the user to open the exact page it names for their browser (for Chrome, chrome://inspect/#remote-debugging) and turn it on. The browser then asks them once to allow the connection.

While attached, this chat's observe, click, fill, clear, type, key, scroll, hover, wait, open, reload, back, forward, screenshot, proof and trace act in that tab, with the same hit: and effect: lines. Each prints target: your <browser> on <machine> first. Other commands (new tabs, handoff, recording, network, drag, upload) work only in ADE's browser and say so. These are the user's real accounts: do only what they asked. Run ade browser detach when you are done. If the tab closes or the browser quits, the next command says so and the chat is back on ADE's browser.

Keep this loop platform-neutral so Windows agents use the same command surface.

© 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-browser of arul28/ADE.

Open the folder on GitHubat commit fbbd974

Compare with similar skills

Ade Browser 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 Browser compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ade Browser this skillarul28/ADE114—~3.3kAutomated safety check: PassAGPL-3.0
Terminal Openeraffaan-m/ECC275k—~635Automated safety check: PassMIT
Adelanding-ai/ade-cli2.4k—~2.4kAutomated safety check: PassApache-2.0
Open Federationruvnet/ruflo74k—~1.6kAutomated safety check: PassMIT
Open NotebookK-Dense-AI/scientific-agent-skills48k1 repos~2.8kAutomated safety check: PassMIT
Desk Opengithub/awesome-copilot40k—~757Automated safety check: PassMIT

Similar skills

  • Terminal Opener

    affaan-m/ECC

    Open an executable and its argument array in a visible terminal window through a reusable, shell-free launch plan with dry-run, JSON, capability detection, detached fallback, and standalone recovery…

    275k GitHub stars~635 tokensUpdated 3 days ago
    Marketing & SEOAuto-check passed
  • Ade

    landing-ai/ade-cli

    Parse documents and extract schema-shaped data with the ADE (Agentic Document Extraction) v2 APIs through the ade CLI.

    2.4k GitHub stars~2.4k tokensUpdated 1 mo ago
    Documents & OfficeAuto-check passed
  • Open Federation

    ruvnet/ruflo

    Coordinate with the open ruflo swarm federation at x.ruv.io (signed Nostr, membership-gated) and ask Seraphina — the swarm queen / primary coordinator — for guidance.

    74k GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Open Notebook

    K-Dense-AI/scientific-agent-skills

    Organizes research with the self-hosted Open Notebook alternative to NotebookLM.

    48k GitHub starsUsed in 1 repo~2.8k tokens
    AI & LLM EngineeringAuto-check passed
  • Desk Open

    github/awesome-copilot

    Official

    Create and open a new desk in the workshop. An agent skill from github/awesome-copilot.

    40k GitHub stars~757 tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Open

    davepoon/buildwithclaude

    Boot the session, load context from the vault, and surface what matters

    3.6k GitHub stars~1.2k tokensUpdated 2 days ago
    Auto-check passed

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 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
  • Ade Linear

    arul28/ADE

    A skill your agent uses whenever your task is a Linear issue (or an ADE chat/lane launched with a Linear issue attached) and you need to read or update that issue — change its workflow state…

    114 GitHub stars~2k tokensUpdated today
    Auto-check passed

Questions about Ade Browser

What does Ade Browser do?

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…. Ade Browser is an agent skill from arul28/ADE. Use this skill 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 renders — before reaching for an external browser or tool.

When should I use Ade Browser?

Ade Browser fits situations like: any browser behavior at all — opening a URL; checking a localhost page; inspecting the DOM; verifying a page renders — before reaching for an external browser.

How do I install Ade Browser in Claude Code?

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

How do I install Ade Browser in Codex?

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

Can I use Ade Browser 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-browser -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-browser, .gemini/skills/ade-browser, .github/skills/ade-browser and .opencode/skills/ade-browser in your project.

What does Ade Browser need to run?

SKILL.md names no scripts, command-line tools or credentials: Ade Browser is instructions for the agent only.

Does Ade Browser access the network?

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.

Is Ade Browser 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 Browser use?

Ade Browser 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 Browser use?

About 3.3k tokens (SKILL.md is roughly 13k 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 Browser?

Skills that share tags, products or a category with Ade Browser: Terminal Opener (affaan-m/ECC, 275k stars), Ade (landing-ai/ade-cli, 2.4k stars), Open Federation (ruvnet/ruflo, 74k stars) and Open Notebook (K-Dense-AI/scientific-agent-skills, 48k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ade Browser?

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.