dev-browser

Automates browser interactions with persistent page state using Playwright and CDP.

1|Updated Sep 3, 2026
One-click install
npx skills add https://github.com/amanpal3/SKILLs --skill dev-browser-amanpal3
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: dev-browser
Source: https://github.com/amanpal3/SKILLs/tree/main/.agent/plugins/ralph/skills/dev-browser
Command: npx skills add https://github.com/amanpal3/SKILLs --skill dev-browser-amanpal3

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires playwright, express, hono, @hono/node-server, @hono/node-ws, tsx, typescript, vitest, and includes scripts (resource) and references (resource) components.

What problem does it solve? Browser automation scripts typically lose page state between executions, forcing you to re-navigate and re-authenticate on every run. This Skill runs a persistent browser server so pages, cookies, and sessions survive across multiple script executions. ## Core Features & Use Cases - Persistent Named Pages: Create and reuse named pages (e.g., "login", "checkout") that stay alive on the server between script runs. - Two Operation Modes: Launch a fresh standalone Chromium instance, or connect to the user's real Chrome browser via an extension relay for authenticated sessions. - AI-Friendly Element Discovery: Use ARIA snapshots with element refs to find and interact with page elements without writing selectors blind. - Use Case: Log into a web app once, then run a series of small scripts to fill a form, take a screenshot, and scrape paginated API data — all without losing your session. ## Quick Start Start the dev-browser server and navigate to https://example.com, then take a screenshot of the homepage.

Frequently Asked Questions about dev-browser

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automate browser tasks with Playwright without losing page state?▼

Run the dev-browser server, which keeps a persistent Chromium context alive between script executions. Scripts connect via a client library, create named pages, and disconnect while pages remain open on the server.

How to scrape large datasets from a website using browser automation?▼

Intercept network requests with page.on('request') to capture API endpoints and headers, then replay those requests with pagination cursors inside page.evaluate. This is faster and more reliable than scrolling and parsing the DOM.

Can I use Playwright with my existing logged-in Chrome session?▼

Yes, extension mode connects to your real Chrome browser through a relay server and companion extension. Automation runs against your authenticated tabs, so existing logins and cookies are reused.

How do I find and click elements without knowing CSS selectors?▼

Call getAISnapshot to get a YAML accessibility tree where interactive elements have refs like [ref=e5]. Then pass that ref to selectSnapshotRef to get an element handle you can click or inspect.

Why does my page.evaluate script fail with TypeScript syntax errors?▼

Code inside page.evaluate runs in the browser, which only understands plain JavaScript. Remove type annotations and TypeScript-only syntax from any function passed to evaluate.