All skills
openai avatar

/playwright

@2d665c9 official
by openaiopenai/skills28k stars
1,891

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.

Use this Skill: https://skilld.dev/gh/openai/skills/playwright

This session only. Nothing lands on disk.

SKILL.md

≈55 tokens always: the name and description. ≈879 when used: this file. ≈1k more on demand in 3 files.

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.

Recommended patterns

Form fill and submit

"$PWCLI" open https://example.com/form
"$PWCLI" snapshot
"$PWCLI" fill e1 "user@example.com"
"$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.

Source: SKILL.md on GitHub

2 warnings17d5 checks · Risk SAFE
  • Gen Agent Trust Hub17d

    This skill includes some security considerations such as terminal command execution and an indirect prompt injection surface inherent to browser automation workflows. While these areas warrant review, they are standard components of the skill's intended functionality for web interaction.

  • Socket17d

    No alerts

  • Snyk17d

    Risk: MEDIUM · 1 issue

  • Runlayer7mo

    7/7 files flagged

  • ZeroLeaks5mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at 2d665c9. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 2 months ago.

Activeupdated 8 months ago
  • CLI
  • Debugging
  • playwright
  • browser-automation
  • e2e-testing
  • web-scraping
  • form-filling
  • screenshots

README badge

README badge for openai/skills/playwright

Automates browser navigation, form filling, screenshots, and data extraction via `playwright-cli`, using a wrapper script that works without a global install. Targets terminal-driven UI automation and debugging workflows, not test file generation.

Generated from the current SKILL.md.

Does this skill use Playwright Test, or just the CLI?
It uses the Playwright CLI for terminal-driven automation. Test files are not the default; use this for navigation, form filling, screenshots, and UI debugging via `playwright-cli` commands.
Do I need to install Playwright globally?
No. The bundled wrapper script uses `npx` to run `@playwright/cli` without a global install. A global install is optional if your repo already standardizes on it.
What do I need to have installed before using this skill?
Node.js and npm (which provide `npx`). If missing, install Node.js, then you can proceed with the wrapper script.
How do I reference elements after taking a snapshot?
Snapshot generates stable element refs like `e1`, `e2`, `e3`. Use these refs in click, fill, and other interaction commands. Re-snapshot if refs become stale after navigation or DOM changes.
Can I use this skill to debug UI flows?
Yes. Use the `--headed` flag to open a visible browser, and `tracing-start` / `tracing-stop` to capture execution traces for debugging.

Generated from the current SKILL.md. These answers refresh after source changes.