Agent skill

playwright-browser

Control a Playwright browser via CLI - navigate, interact, and screenshot

Stars 232
Forks 15

Install this agent skill to your Project

npx add-skill https://github.com/aiskillstore/marketplace/tree/main/skills/bind/playwright-browser

SKILL.md

Overview

CLI tools for controlling a Playwright browser. Uses Playwright's accessibility tree for lightweight, efficient page interaction.

Interactive Session Workflow

Start a persistent browser session and issue commands against it:

bash
# Start session (opens visible browser window)
bun .opencode/skill/playwright-browser/session.js start

# Navigate to a site
bun .opencode/skill/playwright-browser/navigate.js https://duckduckgo.com

# Get page structure
bun .opencode/skill/playwright-browser/snapshot.js

# Type in search box and submit
bun .opencode/skill/playwright-browser/type.js "combobox:Search with DuckDuckGo" "github" --press Enter

# Click on a result
bun .opencode/skill/playwright-browser/click.js "link:GitHub"

# Take a screenshot
bun .opencode/skill/playwright-browser/screenshot.js --output result.png

# Stop session when done
bun .opencode/skill/playwright-browser/session.js stop

Commands

Session

Manage a persistent browser session for interactive use.

bash
bun .opencode/skill/playwright-browser/session.js start
bun .opencode/skill/playwright-browser/session.js stop
bun .opencode/skill/playwright-browser/session.js status

Options:

  • --headless - Run in headless mode (default: headed/visible)

Examples:

bash
bun .opencode/skill/playwright-browser/session.js start
bun .opencode/skill/playwright-browser/session.js start --headless
bun .opencode/skill/playwright-browser/session.js status
bun .opencode/skill/playwright-browser/session.js stop

Navigate

Navigate to a URL in the browser.

bash
bun .opencode/skill/playwright-browser/navigate.js <url>

Examples:

bash
bun .opencode/skill/playwright-browser/navigate.js https://example.com

Snapshot

Get the accessibility tree of the current page.

bash
bun .opencode/skill/playwright-browser/snapshot.js

Shows the page structure in a text format. Use this to find elements to interact with.

Output format:

- navigation:
  - link "About"
- search:
  - combobox "Search"
  - button "Submit"

Type

Type text into an input element on the page.

bash
bun .opencode/skill/playwright-browser/type.js <ref> <text> [--press Enter]

Arguments:

  • ref - Element reference (role:name, text:content, or CSS selector)
  • text - Text to type

Options:

  • --press <key> - Press a key after typing (e.g., Enter, Tab)

Examples:

bash
bun .opencode/skill/playwright-browser/type.js "combobox:Search" "hello" --press Enter
bun .opencode/skill/playwright-browser/type.js "input[name='q']" "search query"

Click

Click an element on the page.

bash
bun .opencode/skill/playwright-browser/click.js <ref>

Arguments:

  • ref - Element reference (role:name, text:content, or CSS selector)

Examples:

bash
bun .opencode/skill/playwright-browser/click.js "button:Submit"
bun .opencode/skill/playwright-browser/click.js "link:Sign in"

Screenshot

Take a screenshot of the current page.

bash
bun .opencode/skill/playwright-browser/screenshot.js [--output <path>] [--full]

Options:

  • --output <path> - Output file path (default: screenshot.png)
  • --full - Capture full page (scrolls entire page)

Examples:

bash
bun .opencode/skill/playwright-browser/screenshot.js
bun .opencode/skill/playwright-browser/screenshot.js --output page.png

Element References

Commands that interact with elements (type, click) accept flexible element references:

Format Example Description
role:name combobox:Search Accessibility role and name
text:content text:Sign in Element containing text
CSS selector #login-btn Standard CSS selector
CSS selector input[name='q'] Attribute selector

Recommended workflow:

  1. Use snapshot to see the accessibility tree
  2. Find the element's role and name
  3. Use role:name format for reliable interaction

Error Recovery

Commands provide helpful error messages with suggestions:

  • Element not found: "Element 'X' not found. Try: snapshot to see available elements"
  • Session issues: Commands automatically start a session if none exists
  • Navigation failures: "Navigation failed at URL. Try: navigate URL"

Notes

  • Browser data is stored in .playwright-data/ in the project root
  • The persistent context maintains cookies and localStorage between sessions
  • Commands use networkidle wait for reliable page loading

Expand your agent's capabilities with these related and highly-rated skills.

aiskillstore/marketplace

perigon-backend

Perigon ASP.NET Core + EF Core + Aspire conventions

232 15
Explore
aiskillstore/marketplace

perigon-agent

Pointers for Copilot/agents to apply Perigon conventions

232 15
Explore
aiskillstore/marketplace

perigon-angular

Angular 21+ standalone/Material/signal conventions for Perigon WebApp

232 15
Explore
aiskillstore/marketplace

fastapi-mastery

Comprehensive FastAPI development skill covering REST API creation, routing, request/response handling, validation, authentication, database integration, middleware, and deployment. Use when working with FastAPI projects, building APIs, implementing CRUD operations, setting up authentication/authorization, integrating databases (SQL/NoSQL), adding middleware, handling WebSockets, or deploying FastAPI applications. Triggered by requests involving .py files with FastAPI code, API endpoint creation, Pydantic models, or FastAPI-specific features.

232 15
Explore
aiskillstore/marketplace

context7-efficient

Token-efficient library documentation fetcher using Context7 MCP with 86.8% token savings through intelligent shell pipeline filtering. Fetches code examples, API references, and best practices for JavaScript, Python, Go, Rust, and other libraries. Use when users ask about library documentation, need code examples, want API usage patterns, are learning a new framework, need syntax reference, or troubleshooting with library-specific information. Triggers include questions like "Show me React hooks", "How do I use Prisma", "What's the Next.js routing syntax", or any request for library/framework documentation.

232 15
Explore
aiskillstore/marketplace

browser-use

Browser automation using Playwright MCP. Navigate websites, fill forms, click elements, take screenshots, and extract data. Use when tasks require web browsing, form submission, web scraping, UI testing, or any browser interaction.

232 15
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results