playwright-browser
Control a Playwright browser via CLI - navigate, interact, and screenshot
Best use case
playwright-browser is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Control a Playwright browser via CLI - navigate, interact, and screenshot
Teams using playwright-browser should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/playwright-browser/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How playwright-browser Compares
| Feature / Agent | playwright-browser | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Control a Playwright browser via CLI - navigate, interact, and screenshot
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
## 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
Related Skills
conducting-browser-compatibility-tests
This skill enables cross-browser compatibility testing for web applications using BrowserStack, Selenium Grid, or Playwright. It tests across Chrome, Firefox, Safari, and Edge, identifying browser-specific bugs and ensuring consistent functionality. It is used when a user requests to "test browser compatibility", "run cross-browser tests", or uses the `/browser-test` or `/bt` command to assess web application behavior across different browsers and devices. The skill generates a report detailing compatibility issues and screenshots for visual verification. Activates when you request "conducting browser compatibility tests" functionality.
playwright-generate-test
Generate a Playwright test based on a scenario using Playwright MCP
playwright-explore-website
Website exploration for testing using Playwright MCP
playwright-automation-fill-in-form
Automate filling in a form using Playwright MCP
../../../engineering-team/playwright-pro/skills/testrail/SKILL.md
No description provided.
../../../engineering-team/playwright-pro/skills/review/SKILL.md
No description provided.
../../../engineering-team/playwright-pro/skills/report/SKILL.md
No description provided.
playwright-pro
Production-grade Playwright testing toolkit. Use when the user mentions Playwright tests, end-to-end testing, browser automation, fixing flaky tests, test migration, CI/CD testing, or test suites. Generate tests, fix flaky failures, migrate from Cypress/Selenium, sync with TestRail, run on BrowserStack. 55 templates, 3 agents, smart reporting.
../../../engineering-team/playwright-pro/skills/migrate/SKILL.md
No description provided.
../../../engineering-team/playwright-pro/skills/generate/SKILL.md
No description provided.
../../../engineering-team/playwright-pro/skills/fix/SKILL.md
No description provided.
../../../engineering-team/playwright-pro/skills/coverage/SKILL.md
No description provided.