Playwright
OpenAIOfficialPublished by OpenAI
- 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 terminal-based interface for controlling a real browser. It enables users to navigate websites, fill forms, extract data, and debug UI flows without writing full test scripts. By utilizing a wrapper script, it ensures consistent execution across environments. The workflow centers on a snapshot-based interaction model, where users capture the current page state to obtain stable element references before performing actions like clicking, typing, or evaluating DOM content.
What it does
- Automates browser navigation, form submission, and UI interactions from the command line.
- Captures visual artifacts including screenshots and PDF exports.
- Provides tools for debugging, such as console log monitoring, network inspection, and trace recording.
- Supports multi-tab management and named sessions for isolated work environments.
- Allows for custom DOM evaluation and data extraction using JavaScript snippets.
- Uses a snapshot mechanism to map UI elements to stable, terminal-friendly references.
When to use it
- When you need to perform quick browser-based tasks without creating a full test suite.
- When debugging UI behavior or verifying page content visually.
- When automating repetitive web tasks that require real browser rendering.
- When you need to extract specific data points from a webpage via the terminal.
- When you need to capture screenshots or traces to document a UI issue.
Advantages
- Enables browser automation without requiring knowledge of test frameworks.
- Provides a consistent, CLI-first workflow for web interaction.
- Supports visual debugging through headed mode and screenshot capabilities.
- Allows for session isolation to prevent state conflicts between tasks.
- Simplifies element interaction by providing stable references via snapshots.
Usage examples
- “Open the login page at example.com and take a screenshot.”
- The agent opens the browser to the specified URL, takes a snapshot to identify elements, and saves a screenshot of the page.
- “Fill out the contact form on this page and submit it.”
- The agent snapshots the page, uses the provided element references to fill the input fields, clicks the submit button, and snapshots the result.
- “Extract the main heading text from the current page.”
- The agent snapshots the page, identifies the heading element, and uses an evaluation command to retrieve its text content.
- “Debug why the checkout button is not working.”
- The agent starts a trace, navigates to the checkout flow, performs the interaction, stops the trace, and provides the captured logs and network activity.
Install
Download the skill as a ZIP:
https://mp-staging.autogineer.com/agent-skills/openai/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 AutoGineer866 B
- LICENSE.txt11.3 KiB
- NOTICE.txt403 B
- SKILL.md3.7 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
Written for: OpenAI Codex
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
- Published by
- OpenAI
- Publisher
- OpenAI (Official)
- Source
- openai/skills · skills/.curated/playwright · commit 49f948f
- Licence
- Apache License 2.0 (redistribution allowed)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by OpenAI.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download playwright.zip