owenleezy/agent-browser-skill

agent-browser-e2e

[INTERNAL TEMPLATE] E2E verification execution protocol. Called by agent-browser orchestrator.

First seen May 5, 2026

Installation

$ npx skills add owenleezy/agent-browser-skill --skill agent-browser-e2e

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from owenleezy/agent-browser-skill.

npx skills add owenleezy/agent-browser-skill

Browse all from owenleezy/agent-browser-skill

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 4
Default branch main
Open issues 0
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,197 B
  • docs SUMMARY.md 119 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 56 installs

SKILL.md

E2E Verification — Execution Protocol

Internal template. Entry point: agent-browser skill.


NEVER

NEVER assert state before `wait --load networkidle` — page may still be rendering
NEVER reuse refs after navigation — run `snapshot` again after every page change
NEVER leave `set offline on` after offline test — always restore with `set offline off`
NEVER skip `errors` check before test steps begin — pre-existing JS errors invalidate results

Execution Sequence

# 1. Open and wait for stable state
AGENT_BROWSER_NATIVE=1 agent-browser open <url>
AGENT_BROWSER_NATIVE=1 agent-browser wait --load networkidle

# 2. Check for errors before any interaction
AGENT_BROWSER_NATIVE=1 agent-browser errors          # → judgment gate if critical errors found
AGENT_BROWSER_NATIVE=1 agent-browser snapshot -i

# 3. Login — prefer Auth Vault over manual fill
#    First time: save credentials once
AGENT_BROWSER_NATIVE=1 agent-browser auth save myapp --url <login-url> --username admin --password secret
#    Every subsequent run: one command
AGENT_BROWSER_NATIVE=1 agent-browser auth login myapp
AGENT_BROWSER_NATIVE=1 agent-browser wait --load networkidle

# 4. Execute test steps (prefer semantic locators)
AGENT_BROWSER_NATIVE=1 agent-browser find label "Email" fill "[email protected]"
AGENT_BROWSER_NATIVE=1 agent-browser find role button click --name "Sign In"

# 5. After every navigation: re-snapshot + re-wait
AGENT_BROWSER_NATIVE=1 agent-browser wait --load networkidle
AGENT_BROWSER_NATIVE=1 agent-browser snapshot -i

# 6. Assert state
AGENT_BROWSER_NATIVE=1 agent-browser is visible @e3
AGENT_BROWSER_NATIVE=1 agent-browser is checked @e5
AGENT_BROWSER_NATIVE=1 agent-browser get text @e1

# 7. Capture evidence
AGENT_BROWSER_NATIVE=1 agent-browser screenshot --full result.png

Recovery Patterns

Failure Recovery
Element ref stale Re-run snapshot, relocate
Assertion content mismatch Screenshot + judgment gate
Page not loading wait --load networkidle + retry up to 3x
Staging cert error --ignore-https-errors (never in production)
Slow page AGENTBROWSERDEFAULT_TIMEOUT=60000
Output truncated on large pages --max-output <chars> to increase limit

Judgment Gates

Pause and ask user when:

  • JS errors found before test steps begin
  • Expected content ≠ actual (may be a bug)
  • Test step fails after all retries exhausted

Device & Environment Variants

# Mobile viewport
AGENT_BROWSER_NATIVE=1 agent-browser set device "iPhone 15 Pro"

# Offline / PWA
AGENT_BROWSER_NATIVE=1 agent-browser set offline
AGENT_BROWSER_NATIVE=1 agent-browser reload
# ... assert offline state ...
AGENT_BROWSER_NATIVE=1 agent-browser set offline off   # ALWAYS restore

# Geo-aware
AGENT_BROWSER_NATIVE=1 agent-browser set geo 31.2304 121.4737

Pitfalls

Mistake Fix
Assert before page loads wait --load networkidle first
Stale refs after navigation Re-run snapshot after every nav
set offline left on Always set offline off after offline test
Staging cert error --ignore-https-errors — never in production
find ref e3 fill "..." ref is NOT a valid find subcommand. Use @ref directly: fill @e3 "text" / click @e3
Ambiguous label in dialogs When a modal is open, find label "X" matches the first element on page — may hit background filters instead of the dialog field. Prefer find placeholder "..." or scope with snapshot -s ".dialog-class" first
App opens new tab (window.open) agent-browser stays on original tab. Detect with tab list, then switch: tab 1 (0-based index)
javascript "..." doesn't exist JS execution is eval "JS code" — not javascript
Dialog blocking click dialog status to confirm, then dialog dismiss or dialog accept
Waiting for download wait --download <path> after clicking the download trigger — don't rely on fixed wait 3000