Playwright

by openai49f948faa925No licenseListed Oct 8, 2026Updated Oct 8, 2026

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.

FeaturedIncludes scriptsSoftware Development
AI-generated overview

Drives a real browser from the terminal with playwright-cli for navigation, form filling, snapshots, screenshots and data extraction.

What it does
This skill provides CLI-first browser automation through playwright-cli, using a bundled wrapper script that runs the CLI via npx without a global install. It covers opening pages, taking snapshots to obtain stable element references, clicking, typing, filling forms, handling multiple tabs, and capturing artifacts such as screenshots, PDFs and traces. It also documents a snapshot-interact-resnapshot loop and troubleshooting references.
When to use it
Use it when a task requires automating a real browser from the terminal, such as navigating sites, filling and submitting forms, extracting data, debugging UI flows, or capturing screenshots and traces. It is intended for CLI-driven automation rather than authoring Playwright test files.
Requirements
Requires Node.js/npm so that npx is available; the wrapper script depends on npx and runs npx --package @playwright/cli playwright-cli. A global install of @playwright/cli is optional. Network access is needed to reach target sites, and the skill ships an executable wrapper script plus reference documents.

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):

bash
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:

bash
# Verify Node/npm are installednode --versionnpm --version
# If missing, install Node.js/npm, then:npm install -g @playwright/cli@latestplaywright-cli --help

Once npx is present, proceed with the wrapper script. A global install of playwright-cli is optional.

Skill path (set once)

bash
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:

bash
"$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:

bash
npm install -g @playwright/cli@latestplaywright-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:

bash
"$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

bash
"$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

bash
"$PWCLI" open https://example.com --headed"$PWCLI" tracing-start# ...interactions..."$PWCLI" tracing-stop

Multi-tab work

bash
"$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:

bash
"$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 and attribution

Source:openai/skillsinskills/.curated/playwrightat commit49f948f

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal