← ClaudeAtlas

open-browserlisted

ALWAYS invoke this skill when user says 'browser [site]', 'open [site]', or asks to navigate to a website. Never call MCP browser tools directly.
0xMaxMa/claude-gateway · ★ 21 · Web & Frontend · score 69
Install: claude install-skill 0xMaxMa/claude-gateway
# open-browser When user says "open X in browser", "navigate to X", "open chrome", "browser to X", "switch to tab X", etc. ## Rules - Use ONLY `mcp__gateway__browser_*` tools — never Python, never CDP direct, never filesystem - NEVER use `wait: "networkidle"` — it hangs on SPAs. Omit `wait` entirely (fire-and-forget) - Always check tab state before navigating — tab IDs change between sessions - Do NOT pass `session_id` — it is injected automatically from agent context ## Fast Open Flow ### Step 1 — Create/resume session Call `mcp__gateway__browser_create_session` with NO arguments (session_id is auto-injected). Result contains session status only. ### Step 2 — Check current tabs Call `mcp__gateway__browser_tabs` — returns list of `{tab_id, url, title}`. Use this to: - Know which tab is active / which tab to navigate - Decide whether to open a new tab or reuse existing one ### Step 4 — Navigate (fire-and-forget) **Option A — Navigate active tab** (no tab_id): ``` browser_navigate(url) ``` **Option B — Navigate specific tab**: ``` browser_navigate(url, tab_id="t1") ``` **Option C — Open in new tab**: ``` browser_new_tab() → returns tab_id browser_navigate(url, tab_id=<new_tab_id>) ``` If `browser_navigate` or `browser_navigate_tab` returns error like `tab "t99" not found (available: [t1, t2])` → call `browser_tabs` again and pick correct tab_id. ### Step 5 — Screenshot and confirm Call `mcp__gateway__browser_screenshot` → `result` is an **absolute file path**.