Playwright
JetBrainsOfficialCreated by OpenAIDistributed by JetBrains
- Skill
- Tool integration
- Automation and integrations
- Apache-2.0
- Low risk
- Has scripts
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
The Playwright CLI skill provides a command-line interface for controlling a real browser, enabling tasks such as navigation, form filling, data extraction, and UI debugging. It is designed for terminal-first workflows, utilizing a wrapper script to manage dependencies and ensure consistent execution. The skill emphasizes a snapshot-based interaction model, where users capture the current state of the DOM to obtain stable element references before performing actions like clicks, typing, or data extraction.
What it does
- Automates browser navigation, form submission, and UI interactions via terminal commands.
- Captures snapshots to generate stable element references for reliable interaction.
- Supports advanced debugging through console monitoring, network inspection, and trace recording.
- Enables multi-tab management and session isolation for parallel workflows.
- Provides tools for capturing visual artifacts like screenshots and PDFs.
- Allows for custom browser configuration and viewport resizing.
When to use it
- When you need to automate web interactions without writing full test suites.
- When performing data extraction or scraping from dynamic web pages.
- When debugging UI flows or verifying visual elements in a real browser environment.
- When you need to perform repetitive browser-based tasks directly from a CLI environment.
Advantages
- Enables browser automation without requiring a full development environment setup.
- Snapshot-based interaction model reduces errors caused by stale element references.
- Supports isolated sessions to manage multiple browser contexts simultaneously.
- Provides built-in tools for troubleshooting, including network and console logging.
Usage examples
- “Open the login page at example.com and fill in the username and password fields.”
- The agent will open the URL, take a snapshot to identify the input fields, and use the fill command to enter the credentials.
- “Capture a screenshot of the current page after clicking the submit button.”
- The agent will perform the click, wait for the UI to update, and save a screenshot to the designated output directory.
- “Extract the text content from the main header on the page.”
- The agent will snapshot the page, identify the header element, and use the eval command to retrieve its text content.
- “Debug a failing UI flow on the checkout page.”
- The agent will start a tracing session, navigate through the checkout steps, and stop the trace to allow for post-mortem analysis.
Install
Download the skill as a ZIP:
https://mp-staging.autogineer.com/agent-skills/jetbrains/playwright/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip playwright.zip -d .agents/skills
Documentation by OpenAI
Playwright CLI Skill
Drive a real browser from the terminal using playwright-cli. Prefer the bundled wrapper script so the CLI works even when it is not globally installed.
Treat this skill as CLI-first automation. Do not pivot to @playwright/test unless the user explicitly asks for test files.
Prerequisite check (required)
Before proposing commands, check whether npx is available (the wrapper depends on it):
command -v npx >/dev/null 2>&1If it is not available, pause and ask the user to install Node.js/npm (which provides npx). Provide these steps verbatim:
# Verify Node/npm are installed
node --version
npm --version
# If missing, install Node.js/npm, then:
npm install -g @playwright/cli@latest
playwright-cli --helpOnce npx is present, proceed with the wrapper script. A global install of playwright-cli is optional.
Skill path (set once)
export CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
export PWCLI="$CODEX_HOME/skills/playwright/scripts/playwright_cli.sh"User-scoped skills install under $CODEX_HOME/skills (default: ~/.codex/skills).
Quick start
Use the wrapper script:
"$PWCLI" open https://playwright.dev --headed
"$PWCLI" snapshot
"$PWCLI" click e15
"$PWCLI" type "Playwright"
"$PWCLI" press Enter
"$PWCLI" screenshotIf the user prefers a global install, this is also valid:
npm install -g @playwright/cli@latest
playwright-cli --helpCore workflow
Open the page.
Snapshot to get stable element refs.
Interact using refs from the latest snapshot.
Re-snapshot after navigation or significant DOM changes.
Capture artifacts (screenshot, pdf, traces) when useful.
Minimal loop:
"$PWCLI" open https://example.com
"$PWCLI" snapshot
"$PWCLI" click e3
"$PWCLI" snapshotWhen to snapshot again
Snapshot again after:
navigation
clicking elements that change the UI substantially
opening/closing modals or menus
tab switches
Refs can go stale. When a command fails due to a missing ref, snapshot again.
Recommended patterns
Form fill and submit
"$PWCLI" open https://example.com/form
"$PWCLI" snapshot
"$PWCLI" fill e1 "[email protected]"
"$PWCLI" fill e2 "password123"
"$PWCLI" click e3
"$PWCLI" snapshotDebug a UI flow with traces
"$PWCLI" open https://example.com --headed
"$PWCLI" tracing-start
# ...interactions...
"$PWCLI" tracing-stopMulti-tab work
"$PWCLI" tab-new https://example.com
"$PWCLI" tab-list
"$PWCLI" tab-select 0
"$PWCLI" snapshotWrapper script
The wrapper script uses npx --package @playwright/cli playwright-cli so the CLI can run without a global install:
"$PWCLI" --helpPrefer the wrapper unless the repository already standardizes on a global install.
References
Open only what you need:
CLI command reference:
references/cli.mdPractical workflows and troubleshooting:
references/workflows.md
Guardrails
Always snapshot before referencing element ids like
e12.Re-snapshot when refs seem stale.
Prefer explicit commands over
evalandrun-codeunless needed.When you do not have a fresh snapshot, use placeholder refs like
eXand say why; do not bypass refs withrun-code.Use
--headedwhen a visual check will help.When capturing artifacts in this repo, use
output/playwright/and avoid introducing new top-level artifact folders.Default to CLI commands and workflows, not Playwright test specs.
Files
- ATTRIBUTION.mdAdded by AutoGineer895 B
- LICENSE.txt11.1 KiB
- NOTICE.txt403 B
- SKILL.md3.8 KiB
- agents/openai.yaml313 B
- assets/playwright-small.svg828 B
- assets/playwright.png1.7 KiB
- references/cli.md1.8 KiB
- references/workflows.md1.8 KiB
- scripts/playwright_cli.shScript526 B
references/cli.md
Playwright CLI Reference
Use the wrapper script unless the CLI is already installed globally:
export CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
export PWCLI="$CODEX_HOME/skills/playwright/scripts/playwright_cli.sh"
"$PWCLI" --helpUser-scoped skills install under $CODEX_HOME/skills (default: ~/.codex/skills).
Optional convenience alias:
alias pwcli="$PWCLI"Core
pwcli open https://example.com
pwcli close
pwcli snapshot
pwcli click e3
pwcli dblclick e7
pwcli type "search terms"
pwcli press Enter
pwcli fill e5 "[email protected]"
pwcli drag e2 e8
pwcli hover e4
pwcli select e9 "option-value"
pwcli upload ./document.pdf
pwcli check e12
pwcli uncheck e12
pwcli eval "document.title"
pwcli eval "el => el.textContent" e5
pwcli dialog-accept
pwcli dialog-accept "confirmation text"
pwcli dialog-dismiss
pwcli resize 1920 1080Navigation
pwcli go-back
pwcli go-forward
pwcli reloadKeyboard
pwcli press Enter
pwcli press ArrowDown
pwcli keydown Shift
pwcli keyup ShiftMouse
pwcli mousemove 150 300
pwcli mousedown
pwcli mousedown right
pwcli mouseup
pwcli mouseup right
pwcli mousewheel 0 100Save as
pwcli screenshot
pwcli screenshot e5
pwcli pdfTabs
pwcli tab-list
pwcli tab-new
pwcli tab-new https://example.com/page
pwcli tab-close
pwcli tab-close 2
pwcli tab-select 0DevTools
pwcli console
pwcli console warning
pwcli network
pwcli run-code "await page.waitForTimeout(1000)"
pwcli tracing-start
pwcli tracing-stopSessions
Use a named session to isolate work:
pwcli --session todo open https://demo.playwright.dev/todomvc
pwcli --session todo snapshotOr set an environment variable once:
export PLAYWRIGHT_CLI_SESSION=todo
pwcli open https://demo.playwright.dev/todomvcRequirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Needs Node.js
Security
What our scanner noticed· Low risk
- Instructions that use the network
- Scripts that your agent may run
This skill includes scripts that your agent may run. Read them before you use it.
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- OpenAI
- Publisher
- JetBrains (Official)
- Distributed by
- JetBrains
- Source
- JetBrains/skills · playwright · commit 3f53782
- Licence
- Apache License 2.0 (redistribution allowed)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by OpenAI or JetBrains.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download playwright.zip