chrome
Skill4 starsChanged 7 months agoMITView on GitHub
Google Chrome heuristics for background-computer-use. Use when the user asks you to navigate, scroll, click links, fill forms, or otherwise drive Chrome without stealing focus. Also applies to Chromium-family browsers (Brave, Edge, Arc) that share the same AppleScript JavaScript execution primitive.
In this repository7 other files it gives its agents.
- apple-musicSkill
- clockSkill
- computer-useSkill
- notionSkill
- numbersSkill
- safariSkill
- spotifySkill
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 0 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 12
Call get_app_state app="Google Chrome" before interacting.
- Very specific: line 18
Clicks on in-page links and buttons: use click(element_index=...).
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Driving Chrome with background computer use
Chrome is Chromium-based and cooperates well with background automation once
the server enables AXManualAccessibility (which happens automatically on
the first get_app_state).
- Call
get_app_state app="Google Chrome"before interacting. The webpage DOM is exposed as accessibility nodes under a singleHTML contentelement. - URL navigation: set the
Address and search bartext field.set_value app="Google Chrome" element_index=<N> value="https://…"works and submits by default. - Clicks on in-page links and buttons: use
click(element_index=...). Chrome honorsAXPresson Chromium AX nodes even when the window isn't key, so clicks don't steal focus. - Typing into form fields:
set_valueauto-falls-back to a typing path when the AX write is rejected (which is typical for Chromium controls). Focus stays with whichever app you had foremost. - Scrolling:
scroll app="Google Chrome" element_index=<HTML content> direction="down"works via AppleScriptexecute ... javascript. It finds the nearest scrollable ancestor at the viewport center (so it picks the right sub-scroller in app-style pages like Gmail, LinkedIn, or Notion, not justwindow).
Known limitation:
scrollfor Chrome always scrolls a window-level or sub-scroller picked by the "viewport-center ancestor" heuristic. If you need to scroll a specific sub-region that isn't at the viewport center, click into it first to re-center the heuristic, or usepress_key key="PageDown"with the understanding that it will focus Chrome.
Detailed notes live in server/app-hints/Chrome.md; they are injected as
<app_hints> on every get_app_state call for Chrome.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

