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
NOTICE.txt
This skill includes material derived from the Microsoft playwright-cli repository. Source: - Repository: microsoft/playwright-cli - Path: skills/playwright-cli/SKILL.md Copyright (c) Microsoft Corporation. Licensed under the Apache License, Version 2.0. See LICENSE.txt in this directory. Modifications: - Adapted for the Codex skill collection. - Added a wrapper script and local reference guides.
Requirements 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