Generated banner for Playwright
Generated logo for Playwright

Playwright

JetBrainsOfficialCreated by OpenAIDistributed by JetBrains

  • Skill
  • Tool integration
  • Automation and integrations
  • Apache-2.0
  • Low risk
  • Has scripts

From the author

Use when the task requires automating a real browser from the terminal (navigation, form filling, snapshots, screenshots, data extraction, UI-flow debugging) via `playwright-cli` or the bundled wrapper script.
— the description by OpenAI

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

  1. Download the skill as a ZIP:

    https://mp-staging.autogineer.com/agent-skills/jetbrains/playwright/download
  2. Unzip 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>&1

If 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 --help

Once 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" screenshot

If the user prefers a global install, this is also valid:

npm install -g @playwright/cli@latest
playwright-cli --help

Core workflow

  1. Open the page.

  2. Snapshot to get stable element refs.

  3. Interact using refs from the latest snapshot.

  4. Re-snapshot after navigation or significant DOM changes.

  5. Capture artifacts (screenshot, pdf, traces) when useful.

Minimal loop:

"$PWCLI" open https://example.com
"$PWCLI" snapshot
"$PWCLI" click e3
"$PWCLI" snapshot

When 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.

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" snapshot
Debug a UI flow with traces
"$PWCLI" open https://example.com --headed
"$PWCLI" tracing-start
# ...interactions...
"$PWCLI" tracing-stop
Multi-tab work
"$PWCLI" tab-new https://example.com
"$PWCLI" tab-list
"$PWCLI" tab-select 0
"$PWCLI" snapshot

Wrapper script

The wrapper script uses npx --package @playwright/cli playwright-cli so the CLI can run without a global install:

"$PWCLI" --help

Prefer the wrapper unless the repository already standardizes on a global install.

References

Open only what you need:

  • CLI command reference: references/cli.md

  • Practical 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 eval and run-code unless needed.

  • When you do not have a fresh snapshot, use placeholder refs like eX and say why; do not bypass refs with run-code.

  • Use --headed when 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

Requirements 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