Awesome-omni-skill agent-browser
Use when you need to reproduce or debug web UI flows (especially auth/OIDC) via the Agent Browser CLI, capture snapshots/screenshots, and extract redirect URLs and on-page errors deterministically. Includes install/setup guidance when the CLI is missing.
install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/frontend/agent-browser-intelligentcode-ai" ~/.claude/skills/diegosouzapw-awesome-omni-skill-agent-browser-a94cef && rm -rf "$T"
manifest:
skills/frontend/agent-browser-intelligentcode-ai/SKILL.mdsource content
Agent Browser (CLI)
Use this skill when we need to verify UI behavior ourselves (login flows, redirects, error toasts) without guessing.
Install / Setup (If agent-browser
Is Missing)
agent-browser- Check if the CLI is available:
command -v agent-browser && agent-browser --help | head
- Install Agent Browser CLI (pick one):
macOS (Homebrew):
brew install agent-browser
Linux:
- First install Node.js + npm (examples):
# Debian/Ubuntu sudo apt update && sudo apt install -y nodejs npm # Fedora sudo dnf install -y nodejs npm # Arch sudo pacman -S --needed nodejs npm
If your distro Node.js is too old, use a version manager (nvm/fnm/asdf) and install a current Node LTS.
All platforms (npm, recommended/fallback):
npm install -g agent-browser
Windows note:
- If you don't have Node.js yet, install it first (PowerShell):
winget install OpenJS.NodeJS.LTS
- Install the browser runtime the CLI uses (one-time per machine/user):
agent-browser install
Linux-only note:
- If the browser fails to launch due to missing system libraries, try:
agent-browser install --with-deps
- Sanity check:
agent-browser open https://example.com/ agent-browser snapshot -i agent-browser close
Artifacts (Cross-Platform)
Prefer saving evidence inside the repo so it can be attached/shared predictably:
- Default:
.agent/artifacts/agent-browser/<run-id>/ - Include: screenshots (
) and snapshots (.png
).txt
Example (macOS/Linux):
run_id="oidc-$(date +%Y%m%d-%H%M%S)" out_dir=".agent/artifacts/agent-browser/$run_id" mkdir -p "$out_dir" echo "$out_dir"
Example (Windows PowerShell):
$runId = "oidc-" + (Get-Date -Format "yyyyMMdd-HHmmss") $outDir = ".agent/artifacts/agent-browser/$runId" New-Item -ItemType Directory -Force -Path $outDir | Out-Null $outDir
Quick Start (OIDC Debug)
The core loop is:
open -> snapshot -i -> interact (prefer refs like @e2) -> re-snapshot -i -> capture evidence.
macOS/Linux (bash)
- Start a clean session, open the app, and capture baseline evidence:
run_id="oidc-$(date +%Y%m%d-%H%M%S)" out_dir=".agent/artifacts/agent-browser/$run_id" mkdir -p "$out_dir" agent-browser close || true agent-browser --session oidc open https://example.com/ # replace agent-browser --session oidc wait 1000 agent-browser --session oidc screenshot "$out_dir/01-home.png" agent-browser --session oidc snapshot -i > "$out_dir/01-home.snapshot.txt"
- Prefer clicking by ref from the snapshot (fallback to semantic find if needed):
# Look in 01-home.snapshot.txt for: button "Sign in" [ref=e2] agent-browser --session oidc click @e2 # Fallback if refs aren't obvious: # agent-browser --session oidc find role button click --name "Sign in" agent-browser --session oidc wait 3000 agent-browser --session oidc get url agent-browser --session oidc screenshot "$out_dir/02-after-login-click.png" agent-browser --session oidc snapshot -i > "$out_dir/02-after-login-click.snapshot.txt"
- If the flow fails, capture high-signal diagnostics:
agent-browser --session oidc errors agent-browser --session oidc console agent-browser --session oidc network requests
Windows (PowerShell)
$runId = "oidc-" + (Get-Date -Format "yyyyMMdd-HHmmss") $outDir = ".agent/artifacts/agent-browser/$runId" New-Item -ItemType Directory -Force -Path $outDir | Out-Null agent-browser close agent-browser --session oidc open https://example.com/ # replace agent-browser --session oidc wait 1000 agent-browser --session oidc screenshot "$outDir/01-home.png" agent-browser --session oidc snapshot -i | Out-File -Encoding utf8 "$outDir/01-home.snapshot.txt" # Click by ref from the snapshot, e.g. @e2 agent-browser --session oidc click @e2 agent-browser --session oidc wait 3000 agent-browser --session oidc get url agent-browser --session oidc screenshot "$outDir/02-after-login-click.png" agent-browser --session oidc snapshot -i | Out-File -Encoding utf8 "$outDir/02-after-login-click.snapshot.txt" agent-browser --session oidc errors agent-browser --session oidc console agent-browser --session oidc network requests
Interaction Guidance (Stability First)
- Prefer refs from
(for examplesnapshot -i
) for deterministic selection.@e2 - If you can't use refs, prefer
over CSS selectors; it is more stable across UI changes.find role ... - Use
consistently so multiple investigations can run without stepping on each other.--session <name> - Re-run
after navigation or DOM changes (refs are tied to the current page state).snapshot -i - Use
only as a last resort; prefer waiting on UI cues (for example,wait <ms>
orfind role heading
) when possible.find text - Use
between runs if you need to reset global state.agent-browser close
Security / Privacy Notes
- Avoid capturing credentials, secrets, or customer data in screenshots/snapshots.
- When you must test auth flows, prefer test accounts and scrub/redact artifacts before sharing outside the immediate team.