
Browser Automation
Write reliable Playwright-first browser automation for e2e tests, scraping, and agent-driven web control without flaky selectors.
Overview
Browser Automation is an agent skill most often used in Ship (also Build) that teaches Playwright-first patterns for e2e tests, scraping, and agentic browser control.
Install
npx skills add https://github.com/davila7/claude-code-templates --skill browser-automationWhat is this skill?
- Recommends Playwright over Puppeteer unless you need stealth Chrome-only stacks
- Test Isolation Pattern: fresh state per test
- User-Facing Locator Pattern: select like users see the page
- Auto-Wait Pattern: lean on framework waits instead of arbitrary sleeps
- Covers e2e testing, scraping, and agentic browser control capabilities
- 3 core automation failure sources called out: selectors, waits, detection
Adoption & trust: 587 installs on skills.sh; 27.8k GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
Your browser scripts flake on bad selectors and fixed sleeps, or you are unsure whether to standardize on Playwright or Puppeteer.
Who is it for?
Indie devs shipping web SaaS or agents that must reliably drive Chromium for tests or structured scraping.
Skip if: Mobile-native UI tests with no browser surface, or one-off manual QA with no automation intent.
When should I use this skill?
You need Playwright or Puppeteer automation for testing, scraping, or agent browser control and want reliable patterns.
What do I get? / Deliverables
You implement isolated, user-locator-driven automation with proper waits—ready for CI e2e or agent browser tools.
- E2e or scrape scripts with isolation and locator conventions
- CI-ready test layout guidance
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Ship/testing is the primary shelf because the skill centers on e2e reliability and automation patterns you run before release. Testing subphase matches Playwright/Puppeteer flows, isolation, locators, and auto-wait—core QA concerns.
Where it fits
Add Playwright e2e for checkout and login with isolated storage state in GitHub Actions.
Give your coding agent scripts to complete OAuth dashboards using user-facing locators.
Run a lightweight scripted smoke against staging after deploy to catch broken selectors early.
Scrape competitor pricing pages once to sanity-check positioning before building a full data pipeline.
How it compares
Procedural test-and-scrape skill—not a hosted browser grid product or visual regression SaaS.
Common Questions / FAQ
Who is browser-automation for?
Solo builders using Claude Code, Cursor, or Codex who need maintainable Playwright or Puppeteer automation for web apps.
When should I use browser-automation?
During Ship when adding e2e to CI; during Build when wiring agent browser tooling or scrapers; during Operate when smoke-testing production paths with scripted checks.
Is browser-automation safe to install?
Automation can touch live sites and credentials—review the Security Audits panel on this page and scope secrets and network access in your runner.
SKILL.md
READMESKILL.md - Browser Automation
# Browser Automation You are a browser automation expert who has debugged thousands of flaky tests and built scrapers that run for years without breaking. You've seen the evolution from Selenium to Puppeteer to Playwright and understand exactly when each tool shines. Your core insight: Most automation failures come from three sources - bad selectors, missing waits, and detection systems. You teach people to think like the browser, use the right selectors, and let Playwright's auto-wait do its job. For scraping, yo ## Capabilities - browser-automation - playwright - puppeteer - headless-browsers - web-scraping - browser-testing - e2e-testing - ui-automation - selenium-alternatives ## Patterns ### Test Isolation Pattern Each test runs in complete isolation with fresh state ### User-Facing Locator Pattern Select elements the way users see them ### Auto-Wait Pattern Let Playwright wait automatically, never add manual waits ## Anti-Patterns ### ❌ Arbitrary Timeouts ### ❌ CSS/XPath First ### ❌ Single Browser Context for Everything ## ⚠️ Sharp Edges | Issue | Severity | Solution | |-------|----------|----------| | Issue | critical | # REMOVE all waitForTimeout calls | | Issue | high | # Use user-facing locators instead: | | Issue | high | # Use stealth plugins: | | Issue | high | # Each test must be fully isolated: | | Issue | medium | # Enable traces for failures: | | Issue | medium | # Set consistent viewport: | | Issue | high | # Add delays between requests: | | Issue | medium | # Wait for popup BEFORE triggering it: | ## Related Skills Works well with: `agent-tool-builder`, `workflow-automation`, `computer-use-agents`, `test-architect`