Agent skill · software engineering · steipete
browser-automation
Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.
Why this skill is useful
Provides specific commands and patterns for managing browser automation with OpenClaw that the AI wouldn't reliably generate on its own.
What it needs
Requires openclaw installed locally. About 7k tokens when loaded. Last updated 2026-08-07. 385,400 stars on the source repository.
What this skill does
Browser Automation Use this skill when you need the browser tool for anything beyond a single page check. Operating Loop 1. Check browser state before acting: openclaw browser doctor or action="status" when the browser/plugin setup itself may be broken. action="status" for availability. action="profiles" if login state or profile choice matters. action="tabs" before opening a new tab if retries/timeouts may have left windows behind. 2. Prefer stable tab handles: Open important tabs with label, for example label="meet". After action="tabs" or action="open", store suggestedTargetId and pass it as targetId in later calls. suggestedTargetId is the label when one exists, otherwise the stable tabId handle like t1. Avoid relying on raw DevTools targetId except for immediate diagnostics; it can change under Chromium target replacement. 3. Read before you click: For “read the page and answer X,” use action="text" with optional selector and maxChars for bounded visible prose (first selector match, otherwise article/main/body). On existing-session profiles, use snapshot instead. Efficient snapshots omit most prose. For virtualized lists, scroll through each segment, capture only the relevant rows, then merge the results. Use action="snapshot" on the intended targetId. Add snapshot query to find lines containing all query tokens, ignoring case; matching lines keep their refs. Use the same targetId for follow-up actions so refs stay on the same tab. For durable Playwright refs, request refs="aria" when supported. If you receive axN refs from snapshotFormat="aria", use them only after that same snapshot call; stale or unbound axN refs fail fast and need a fresh snapshot. Use urls=true when link text is ambiguous or a direct navigation target would avoid brittle clicks. Use labels=true on snapshot or screenshot when visual position matters. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills steipete/browser-automation