Playwright Browser Automation Skill
Drive a real browser from the terminal for web interaction, extraction, and UI debugging.
The documentation requires snapshots, discourages unnecessary eval, and confines repository artifacts to output/playwright/; however, the browser can access external sites, and the wrapper downloads and executes an unpinned @playwright/cli version via npx --yes. Examples include password entry, network inspection, and code execution without data-flow disclosure, sensitive-data guidance, user confirmation, or rollback instructions, so points are deducted.
The script uses set -euo pipefail, checks for npx, and provides basic guidance for sessions and stale element references; however, it depends on online npx resolution, does not pin versions, and includes no committed tests or CI evidence. Diagnostics for invalid input, network failures, and browser startup failures are limited, so the score remains within the static-review ceiling.
The audience and core scenarios—real-browser navigation, forms, snapshots, screenshots, extraction, and debugging from a terminal—are clear, with examples for tabs, sessions, and tracing; however, non-fit boundaries, semantic trigger conditions, Chinese-language support, and mainland-China reachability are not addressed. Core operation depends on external npm/GitHub network access, so points are deducted.
The material is well organized across prerequisites, quick start, workflows, references, and troubleshooting; however, license metadata is unknown, and there is no skill version, changelog, explicit maintenance owner, or update path. The repository README also marks the repository deprecated, so points are deducted.
The examples cover common browser-automation tasks and provide directly usable command patterns and artifact locations; static material supports the core value claim, but there are no reproducible execution results, representative verified artifacts, or comparison with alternatives. Correctness and completeness still require review, so the score uses the static ceiling and is reduced.
The skill files, references, and wrapper script are auditable and largely consistent; however, there is no test suite, CI coverage, third-party execution evidence, or corroboration from multiple sources. The assessment therefore relies mainly on static documentation and receives limited credit.
- npx --yes resolves and executes an unpinned current CLI dependency online; production or sensitive workflows should pin versions and review dependency provenance.
- The form example uses a plaintext password, while eval, run-code, network inspection, and upload capabilities may handle sensitive data; obtain confirmation and isolate sessions, credentials, and artifacts before use.
- The skill depends on Node/npm and external network access, with no evidence of reliable reachability from mainland-China networks.
- The repository is marked deprecated; its license, versioning, and maintenance/update responsibility should be verified separately.
What it does & when to use it
This skill enables Codex to automate a real browser from the terminal through playwright-cli. It covers navigation, form filling, snapshots, screenshots, data extraction, and UI-flow debugging, with a bundled wrapper preferred. It requires npx to be available because the wrapper invokes @playwright/cli through npx. The workflow is CLI-first and does not default to creating or running @playwright/test files.
It checks for npx, sets the wrapper-script path, opens pages with open, obtains stable element references with snapshot, and performs interactions with click, fill, type, and press. It can capture screenshots, PDFs, and traces with tracing-start and tracing-stop. Users should snapshot again after navigation, substantial DOM changes, modal or menu changes, and tab switches. Multiple tabs can be managed with tab-new, tab-list, and tab-select.
- A developer needs to open a website, fill a form, and submit it from the terminal.
- A debugger needs to reproduce a UI flow involving clicks, navigation, or dialogs.
- A researcher needs to extract data from a webpage and capture screenshots as artifacts.
- An engineer needs to observe browser behavior in headed mode and record a trace during troubleshooting.
Pros & cons
- The wrapper script avoids requiring a global playwright-cli installation.
- The skill defines a clear workflow around stable element references and refreshed snapshots.
- It supports screenshots, PDFs, and tracing artifacts for browser debugging.
- It depends on Node.js/npm providing npx and on @playwright/cli.
- Element references can become stale after page changes, requiring a new snapshot.
- The source provides no test suite, platform compatibility matrix, or independent license text.
- It is designed for CLI interaction rather than tasks requiring @playwright/test files.
How to install
The skill is located at skills/.curated/playwright in openai/skills. Install the curated skill in Codex with $skill-installer playwright, then restart Codex. The source does not provide an independent license; the README says an individual skill's license should be checked in its directory's LICENSE.txt, but that file's contents are not included here.
How to use
First run command -v npx >/dev/null 2>&1. If it is available, set export CODEX_HOME="${CODEX_HOME:-$HOME/.codex}" and export PWCLI="$CODEX_HOME/skills/playwright/scripts/playwright_cli.sh". Example: "$PWCLI" open https://playwright.dev --headed, then "$PWCLI" snapshot, followed by commands using references from the latest snapshot, such as "$PWCLI" click e15, "$PWCLI" type "Playwright", "$PWCLI" press Enter, and "$PWCLI" screenshot. If npx is unavailable, install Node.js/npm first; a global playwright-cli installation is optional.
Compared to similar skills
Compared with a global playwright-cli installation, this skill prefers a wrapper that runs the CLI through npx; global installation is optional. Compared with @playwright/test, it focuses on terminal-driven browser workflows rather than test files.