agent-browser
Skill1 starsChanged 5 months agoMITView on GitHub
Drive a real browser to inspect or interact with a web page or app — navigate, take screenshots, read console and network, fill simple forms — for verification tasks, not unattended automation.
We split this skill into the rules it gives an agent
9 rules. 0 are common, 9 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 171 edited versions we read keep these.
9
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 18
Use a controlled browser to verify behavior, capture evidence, or extract information from web pages that a static fetch cannot reach …
- Distinctive: line 45
Launch with a real-looking user agent: when the target is the public internet.
- Distinctive: line 47
Navigate and wait for the right signal: Prefer waiting for a specific selector or network-idle over arbitrary sleeps.
- Distinctive: line 48
Capture evidence immediately: after the wait condition succeeds, before any interaction perturbs the state.
- Distinctive: line 51
Close the browser cleanly: when done. Long-running browser sessions leak memory and hold ports.
- Distinctive: line 70
Prefer programmatic auth (API token, magic link) over UI login.
- Distinctive: line 71
If UI login is the only path, the user must provide credentials explicitly for this run.
- Distinctive: line 72
Do not store credentials in the session log, screenshot, or returned output.
- Distinctive: line 79
Do not retry forever on failure.
“Common” is measured: kept by at least 6 in 10 of the 171 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Agent Browser
Use a controlled browser to verify behavior, capture evidence, or extract information from web pages that a static fetch cannot reach (SPAs, login-gated pages, dynamic content). This skill is about supervised verification, not unattended scraping.
When to use
- You need a screenshot of a deployed page or a local dev server to confirm a UI change.
- You need to read JavaScript-rendered content that
curl/wgetwill not see. - A user reports a UI bug and you need to reproduce it interactively to capture console errors, network requests, or layout state.
- You need to walk through a short flow (load page, click, observe) to verify acceptance criteria.
When not to use
- The page is reachable as static HTML. Use
curl/HTTP fetch — it is cheaper, faster, and more reliable. - The task is unattended large-scale scraping. That belongs to a dedicated scraper with rate limits, robots.txt handling, and a real user agent policy — not this skill.
- The site is behind authentication you do not own credentials for, or whose terms of service prohibit automation.
- The site involves sensitive accounts (banking, healthcare, government) where automation risks lockout or compliance issues.
Before launching the browser
- Confirm the URL and what state should be true after navigation.
- Decide what evidence is needed: full-page screenshot, viewport screenshot, console log, network trace, HTML snapshot, extracted text.
- Decide the viewport size that matters for the task (mobile vs desktop). Default to a desktop size unless the task is mobile-specific.
- For local dev servers, confirm the server is running and the port is what you expect.
Driving the browser
A typical verification session:
- Launch with a real-looking user agent when the target is the public internet; an unrealistic UA flags automation traffic.
- Set a sane viewport (e.g., 1366×768 desktop, 390×844 iPhone-ish).
- Navigate and wait for the right signal. Prefer waiting for a specific selector or network-idle over arbitrary sleeps.
- Capture evidence immediately after the wait condition succeeds, before any interaction perturbs the state.
- Interact deliberately. One click at a time, with a wait between actions; re-screenshot after each meaningful state change.
- Read the console and network panels for unexpected errors, 4xx/5xx responses, or slow requests.
- Close the browser cleanly when done. Long-running browser sessions leak memory and hold ports.
What evidence to record
For a verification task, deliver:
- A full-page or viewport screenshot of each meaningful state.
- The console log, filtered to warnings/errors.
- Any non-2xx network response with the URL, status, and a short response body excerpt.
- A short narration: "Navigated to X, observed Y, clicked Z, observed W."
For a UI bug repro, also record:
- The exact reproduction steps the user can follow.
- Viewport size and (where relevant) device pixel ratio.
- Whether the bug reproduces on first load vs after interaction.
Login-gated pages
- Prefer programmatic auth (API token, magic link) over UI login.
- If UI login is the only path, the user must provide credentials explicitly for this run. Never reuse credentials outside the session.
- Do not store credentials in the session log, screenshot, or returned output.
Performance and politeness
- Throttle to one navigation per few seconds when touching shared infra.
- Respect
robots.txtfor public sites you are inspecting at any volume. - Cancel navigations if a page exceeds a reasonable timeout (e.g., 30s); the page is broken or rate-limiting you.
- Do not retry forever on failure. Retry once with a longer timeout, then escalate.
Common failure modes
- Selector not found. Page changed, or you are waiting before render. Take a screenshot to see actual state; adjust the selector.
- Click does nothing. The element is offscreen, covered by a modal, or in a shadow DOM. Scroll into view or pierce the shadow root.
- Headless detection. Some sites detect headless Chrome and serve a different page. Use a non-headless mode or a fingerprint-realistic configuration only when authorized.
- Cross-origin iframe blocking. Iframes you do not own cannot be inspected; the page must offer the data outside the iframe or the task is infeasible.
Anti-patterns
- Long unsupervised browser sessions that drift from the original task.
- Scraping behind authentication you do not own.
- Captioning a screenshot with "looks good" without saying what state was loaded and what selectors confirmed it.
- Treating a passing screenshot as proof of correctness across viewports you did not actually test.
Other versions188 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 188
- shanraisshan/claude-code-best-practice★ 68ksame name
- moeru-ai/airi★ 51ksame name
- vercel-labs/agent-browser★ 45ksame name
- activepieces/activepieces★ 25ksame name
- slopus/happy★ 24ksame name
- kortix-ai/suna★ 20ksame name
- eosphoros-ai/DB-GPT★ 20ksame name
- documenso/documenso★ 15ksame name
- emdash-cms/emdash★ 14ksame name
- elie222/inbox-zero★ 13ksame name
178 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use dep-refs, feature-boundary-planner and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
betacatslingSkilldep-refs
Use when needs to inspect TypeScript export references in the z-code workspace, list exports from a file, verify whether an export is unused before deletion, investigate who imports a symbol during refactors, or combine pnpm knip unused-export results with pnpm dep:refs symbol-level reference tracing.
Also in 5 projects that use this
betacatslingSkillfeature-boundary-planner
Map a ZCode behavior change to current UI surfaces, state owners, protocol commands, persistence, and validation. Use for impact analysis, product-boundary planning, or an implementation handoff grounded in the checked-out source.
Also in 5 projects that use this
Recepay6358Skilltime-skill
Display the current time in Pakistan Standard Time (PKT, UTC+5). Use when the user asks for the current time, Pakistan time, or PKT.
Also in 5 projects that use this
nicepkgSkillcommunity-led-growth
Expert in community-led growth (CLG) - leveraging user communities to drive acquisition, retention, and expansion. Covers building developer communities, user groups, ambassador programs, and turning customers into advocates. Knows the difference between community as a feature vs community as a growth engine, and how to measure community ROI. Use when "community-led, CLG, ambassador program, champion program, user community, developer community, word of mouth, user group, " mentioned.
Also in 5 projects that use this
nicepkgSkillph-community-outreach
Engage Reddit, Indie Hackers, Hacker News and other communities for Product Hunt launches. Use this skill to identify relevant communities, craft appropriate posts, and drive cross-platform engagement without appearing spammy.
Also in 5 projects that use this
ncklrsSkillseo-content-strategist
Expert SEO content strategy for SaaS and B2B sites. Use when doing keyword research, planning content clusters, creating pillar pages, optimizing on-page SEO, fixing technical SEO issues, building links, refreshing content, implementing programmatic SEO, mapping search intent, optimizing for SERP features, or measuring content performance. Use for SEO audits, content gap analysis, and organic growth strategy.
Also in 5 projects that use this
- +3 more from nicepkg
In this repository38 other files it gives its agents.
- AGENTS.mdAGENTS.md
- docs/api/agents.mdAGENTS.md
- packages/plugins/plugin-llm-wiki/agents/wiki-maintainer/AGENTS.mdAGENTS.md
- packages/plugins/plugin-llm-wiki/fixtures/basic-root/AGENTS.mdAGENTS.md
- packages/plugins/plugin-llm-wiki/templates/AGENTS.mdAGENTS.md
- server/src/onboarding-assets/ceo/AGENTS.mdAGENTS.md
- server/src/onboarding-assets/default/AGENTS.mdAGENTS.md
- company-creatorSkill
- create-agent-adapterSkill
- deal-with-security-advisorySkill
- doc-maintenanceSkill
- prcheckloopSkill
- pr-reportSkill
- release-changelog-discord-messageSkill
- release-changelogSkill
- releaseSkill
- design-guideSkill
- index-refreshSkill
- paperclip-distillSkill
- wiki-ingestSkill
- wiki-lintSkill
- LLM Wiki MaintainerSkill
- wiki-querySkill
- doc-maintenanceSkill
- issue-triageSkill
- task-planningSkill
- qa-acceptanceSkill
- github-pr-workflowSkill
- release-announcementSkill
- design-critiqueSkill
- diagnose-why-work-stoppedSkill
- paperclip-converting-plans-to-tasksSkill
- paperclip-create-agentSkill
- paperclip-create-pluginSkill
- paperclip-devSkill
- paperclipSkill
- para-memory-filesSkill
- terminal-bench-loopSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

