com um clique
browser-agent
// Use when a task requires interacting with a web browser — testing UI flows, verifying web app behavior, clicking through screens, reading live web content, or automating browser workflows in Google Antigravity
// Use when a task requires interacting with a web browser — testing UI flows, verifying web app behavior, clicking through screens, reading live web content, or automating browser workflows in Google Antigravity
Use when adding new dependencies, deciding whether to update packages, running security audits on dependencies, evaluating library alternatives, or encountering outdated or vulnerable packages
Use when starting any conversation — establishes how to find and use skills, requiring skill check before ANY response including clarifying questions
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
Use when you have a written implementation plan to execute in a separate session with review checkpoints
Use when you have a spec or requirements for a multi-step task, before touching code
Use when executing implementation plans with independent tasks in the current session
| name | browser-agent |
| description | Use when a task requires interacting with a web browser — testing UI flows, verifying web app behavior, clicking through screens, reading live web content, or automating browser workflows in Google Antigravity |
Antigravity includes a built-in browser subagent that can autonomously interact with web applications. The main agent delegates browser tasks to it — this skill governs when and how to do that correctly.
The browser agent is NOT a general-purpose web search tool. It is a UI interaction and verification tool. Use it when you need to act on a web page, not just read information from it.
Before any browser task, verify:
Chrome extension installed — if not yet installed:
URL allowlist configured (for non-localhost URLs) — add trusted domains to:
~/.gemini/antigravity/browserAllowlist.txt
One domain per line, e.g.:
localhost
127.0.0.1
staging.myapp.com
Add both localhost and 127.0.0.1 if the app may be accessed under either hostname.
The browser agent will refuse to access domains not on this list.
Before starting, state the prerequisite status in this format: "Chrome extension: [installed / NOT installed] | Allowlist: [domain confirmed / domain NOT listed]" If either check fails, stop and follow the relevant Error Path below before proceeding.
Use it when the task requires:
Do NOT use it for:
deep-research skill instead)curl or fetch in terminal)The browser agent responds to precise, stepwise instructions. Vague requests produce unreliable results.
Bad: "Test the login page"
Good: "Navigate to http://localhost:3000/login. Enter 'test@example.com' in the email field and 'password123' in the password field. Click the 'Sign In' button. Wait for navigation to complete. Verify the URL is now http://localhost:3000/dashboard and the text 'Welcome' appears on screen."
Rule: Every browser request must specify:
Selector strategy: Prefer visible labels and text over CSS selectors — labels are more resilient to DOM changes. Use "Click the button labeled 'Submit'" rather than "Click button#submit-btn".
The browser subagent can execute:
| Action | Example instruction |
|---|---|
| Navigate | "Go to http://localhost:3000/settings" |
| Click | "Click the button labeled 'Submit'" |
| Type | "Type 'hello world' into the search input" |
| Scroll | "Scroll down until the footer is visible" |
| Wait | "Wait for the spinner to disappear" |
| Read DOM | "Read the text content of the h1 element" |
| Screenshot | "Take a screenshot of the current state" |
| Read console | "Check the browser console for errors" |
| Execute JS | "Execute document.title and return the result" — read-only operations only; do not mutate auth state, exfiltrate cookies, or execute untrusted input |
| Record | "Start recording before the first action; stop recording after the final step" |
The browser agent produces verifiable artifacts:
Completion requires an artifact. Do not claim a browser task is complete without one.
Acceptable completion statement:
"Browser task complete. Screenshot attached shows dashboard loaded at /dashboard with 'Welcome, Jane' visible. No console errors."
Unacceptable:
"I think the login flow worked."
Extension not installed:
"Browser agent setup required. Open Agent Manager → click the Chrome icon → install the extension → retry." Do NOT proceed. The browser agent cannot function without it.
URL blocked by allowlist:
"URL [domain] is not in the allowlist. Add it to ~/.gemini/antigravity/browserAllowlist.txt and retry." Do NOT attempt to bypass the allowlist.
Page does not reach expected state:
Browser agent timeout:
"Browser agent timed out. Simplify the request into smaller steps and retry once. If it times out again, stop and escalate to the user."
A browser task is complete when ALL of the following are true:
A task that ends with "it should be working" is not complete.
| Pattern | Why it fails |
|---|---|
| Skipping prerequisite check | Browser agent silently fails without extension installed |
| Vague action descriptions | Agent takes wrong actions or stops mid-flow |
| Claiming done without artifact | No verifiable evidence; errors may be invisible |
| Using browser agent for research | Slower and less reliable than deep-research skill |
| Testing localhost without allowlist entry | Request blocked; task cannot proceed |
Request: "Verify the login flow works on the local dev server."
Correct execution:
localhost and 127.0.0.1 to ~/.gemini/antigravity/browserAllowlist.txthttp://localhost:3000/loginadmin@test.com into #emailsecret into #passwordbutton[type=submit]/dashboard, text "Welcome" is present, console has no errors/dashboard state