Playwright CLI
sanity-io/sanity
Automates browser interactions for web testing, form filling, screenshots, and data extraction.
A skill your agent uses when the task requires automating a real browser from the terminal (navigation, form filling, snapshots, screenshots, data extraction, UI-flow debugging) via playwright-cli…
$ npx skills add trailofbits/skills-curated --skill openai-playwright -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install trailofbits/skills-curated openai-playwright --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/trailofbits/skills-curated.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/openai-playwright/skills/openai-playwright .claude/skills/openai-playwright && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "openai-playwright" agent skill from https://github.com/trailofbits/skills-curated/tree/main/plugins/openai-playwright/skills/openai-playwright into .claude/skills/openai-playwright/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openai-playwright", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/trailofbits/skills-curated/tree/main/plugins/openai-playwright/skills/openai-playwrightType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add trailofbits/skills-curated --skill openai-playwright -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install trailofbits/skills-curated openai-playwright --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/trailofbits/skills-curated.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/openai-playwright/skills/openai-playwright .agents/skills/openai-playwright && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "openai-playwright" agent skill from https://github.com/trailofbits/skills-curated/tree/main/plugins/openai-playwright/skills/openai-playwright into .agents/skills/openai-playwright/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openai-playwright", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add trailofbits/skills-curated --skill openai-playwright -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install trailofbits/skills-curated openai-playwright --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/trailofbits/skills-curated.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/openai-playwright/skills/openai-playwright .cursor/skills/openai-playwright && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "openai-playwright" agent skill from https://github.com/trailofbits/skills-curated/tree/main/plugins/openai-playwright/skills/openai-playwright into .cursor/skills/openai-playwright/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openai-playwright", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/trailofbits/skills-curated.git --path plugins/openai-playwright/skills/openai-playwright--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add trailofbits/skills-curated --skill openai-playwright -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install trailofbits/skills-curated openai-playwright --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/trailofbits/skills-curated.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/openai-playwright/skills/openai-playwright .gemini/skills/openai-playwright && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "openai-playwright" agent skill from https://github.com/trailofbits/skills-curated/tree/main/plugins/openai-playwright/skills/openai-playwright into .gemini/skills/openai-playwright/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openai-playwright", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install trailofbits/skills-curated openai-playwrightInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add trailofbits/skills-curated --skill openai-playwright -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/trailofbits/skills-curated.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/openai-playwright/skills/openai-playwright .github/skills/openai-playwright && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "openai-playwright" agent skill from https://github.com/trailofbits/skills-curated/tree/main/plugins/openai-playwright/skills/openai-playwright into .github/skills/openai-playwright/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openai-playwright", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add trailofbits/skills-curated --skill openai-playwright -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install trailofbits/skills-curated openai-playwright --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/trailofbits/skills-curated.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/openai-playwright/skills/openai-playwright .opencode/skills/openai-playwright && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "openai-playwright" agent skill from https://github.com/trailofbits/skills-curated/tree/main/plugins/openai-playwright/skills/openai-playwright into .opencode/skills/openai-playwright/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openai-playwright", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
openai-playwrightA skill your agent uses when the task requires automating a real browser from the terminal (navigation, form filling, snapshots, screenshots, data extraction, UI-flow debugging) via playwright-cli…
Openai Playwright is an agent skill from trailofbits/skills-curated, published by the product's own GitHub organization. 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. Originally from OpenAI's curated skills catalog.
Its SKILL.md is about 950 tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including scripts and reference files (for example `references/cli.md`, `references/workflows.md` and `scripts/playwright_cli.sh`).
It sits in Testing & QA, covering Browser testing and Forms and invoices. It works with Playwright and OpenAI. The repository describes itself as: Curated, community-vetted Claude Code plugin marketplace. The licence is CC-BY-SA-4.0.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 6d05be4. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
BashReadGrepGlobWriteEditFrom allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
npmnodenpxFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
playwright.devFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Openai Playwright loads about 945 tokens when it runs, and up to ~1.9k if it reads all its reference files. Until then it costs about 69 tokens; SKILL.md has 343 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Bash, Read, Grep, Glob, Write, EditAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from trailofbits/skills-curated at commit 6d05be4, republished under its CC-BY-SA-4.0 licence (© trailofbits). 343 words, ~945 tokens.
.claude/skills/openai-playwright/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.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.
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.
Scripts and references are located under {baseDir}/.
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 --helpMinimal loop:
"$PWCLI" open https://example.com
"$PWCLI" snapshot
"$PWCLI" click e3
"$PWCLI" snapshotSnapshot again after:
Refs can go stale. When a command fails due to a missing ref, snapshot again.
"$PWCLI" open https://example.com/form
"$PWCLI" snapshot
"$PWCLI" fill e1 "user@example.com"
"$PWCLI" fill e2 "password123"
"$PWCLI" click e3
"$PWCLI" snapshot"$PWCLI" open https://example.com --headed
"$PWCLI" tracing-start
# ...interactions...
"$PWCLI" tracing-stop"$PWCLI" tab-new https://example.com
"$PWCLI" tab-list
"$PWCLI" tab-select 0
"$PWCLI" snapshotThe 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.
Open only what you need:
references/cli.mdreferences/workflows.mde12.eval and run-code unless needed.eX and say why; do not bypass refs with run-code.--headed when a visual check will help.output/playwright/ and avoid introducing new top-level artifact folders.<!-- TODO: review -->
<!-- TODO: review -->
© trailofbits, CC-BY-SA-4.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (scripts, references) in plugins/openai-playwright/skills/openai-playwright of trailofbits/skills-curated.
Open the folder on GitHubat commit 6d05be4
Openai Playwright next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Openai Playwright this skilltrailofbits/skills-curated | 512 | — | ~945 | Automated safety check: Notes | CC-BY-SA-4.0 | |
| Playwright CLIsanity-io/sanity | 6.4k | 18 repos | ~1.9k | Automated safety check: Pass | MIT | |
| PlaywrightJetBrains/skills | 363 | 11 repos | ~986 | Automated safety check: Pass | Apache-2.0 | |
| Playwright6BNBN/FlowPilot | 134 | — | ~1k | Automated safety check: Pass | Apache-2.0 | |
| Create Chatgpt Video Adcriptogus/agent-evolve-network | 288 | — | ~5k | Automated safety check: Pass | Custom licence | |
| Playwright AutomationArabelaTso/Skills-4-SE | 253 | — | ~930 | Automated safety check: Pass | Apache-2.0 |
sanity-io/sanity
Automates browser interactions for web testing, form filling, screenshots, and data extraction.
JetBrains/skills
A skill your agent uses when the task requires automating a real browser from the terminal (navigation, form filling, snapshots, screenshots, data extraction, UI-flow debugging) via playwright-cli…
6BNBN/FlowPilot
A skill your agent uses when the task requires automating a real browser from the terminal in Cursor, including navigation, form filling, snapshots, screenshots, data extraction, and UI-flow…
criptogus/agent-evolve-network
Produce a 9:16 social-native ad that recreates a ChatGPT mobile chat — user types in the composer with the iOS keyboard visible, taps send, keyboard slides down, header right-cluster swaps…
ArabelaTso/Skills-4-SE
Browser automation via Playwright for web testing, screenshots, form filling, scraping, and verification.
OpenHands/OpenHands
This skill should be used when the user asks to "add an E2E test", "run live E2E", "run mock-LLM tests", "debug Playwright CI", "test the Docker image", or changes tests/e2e, Playwright configs, E2E…
trailofbits/skills-curated
Analyze git repositories to build a security ownership topology (people-to-file), compute bus factor and sensitive-code ownership, and export CSV/JSON for graph databases and visualization.
trailofbits/skills-curated
A skill your agent uses when the task involves reading, creating, or editing .docx documents, especially when formatting or layout fidelity matters; prefer python-docx plus the bundled…
trailofbits/skills-curated
A skill your agent uses when the agent is building or iterating on a web game (HTML/JS) and needs a reliable development + testing loop: implement small changes, run a Playwright-based test script…
trailofbits/skills-curated
A skill your agent uses when the user asks to create, scaffold, or edit Jupyter notebooks (.ipynb) for experiments, explorations, or tutorials; prefer the bundled templates and run the helper script…
trailofbits/skills-curated
Searches X/Twitter for real-time perspectives, dev discussions, product feedback, breaking news, and expert opinions using the X API v2.
trailofbits/skills-curated
Teaches the user a new skill or concept over multiple sessions, using the current directory as a stateful teaching workspace with lessons, learning records, and reference materials.
Works with
Categories
A skill your agent uses when the task requires automating a real browser from the terminal (navigation, form filling, snapshots, screenshots, data extraction, UI-flow debugging) via playwright-cli…. Openai Playwright is an agent skill from trailofbits/skills-curated, published by the product's own GitHub organization. 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.
Openai Playwright fits situations like: the task requires automating a real browser from the terminal (navigation; data extraction; UI-flow debugging) via playwright-cli; the bundled wrapper script.
Run `npx skills add trailofbits/skills-curated --skill openai-playwright -a claude-code`. Or copy the skill folder (plugins/openai-playwright/skills/openai-playwright in trailofbits/skills-curated) into .claude/skills/openai-playwright in your project. Claude Code loads it when a task matches its description.
Run `npx skills add trailofbits/skills-curated --skill openai-playwright -a codex`. Or copy the skill folder (plugins/openai-playwright/skills/openai-playwright in trailofbits/skills-curated) into .agents/skills/openai-playwright in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add trailofbits/skills-curated --skill openai-playwright -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/openai-playwright, .gemini/skills/openai-playwright, .github/skills/openai-playwright and .opencode/skills/openai-playwright in your project.
Going by SKILL.md and its folder, Openai Playwright needs a shell for the scripts in its folder and the command-line tools its instructions call (npm, node and npx). Our summary lists: Node.js; A Bash shell. Its frontmatter pre-approves these tools: Bash, Read, Grep, Glob, Write, Edit.
SKILL.md names 1 domain. In commands or code: playwright.dev; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Openai Playwright is published under the CC-BY-SA-4.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 945 tokens (SKILL.md is roughly 3.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 915 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Openai Playwright: Playwright CLI (sanity-io/sanity, 6.4k stars), Playwright (JetBrains/skills, 363 stars), Playwright (6BNBN/FlowPilot, 134 stars) and Create Chatgpt Video Ad (criptogus/agent-evolve-network, 288 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
trailofbits (a GitHub organization, an official publisher) maintains it in trailofbits/skills-curated, which has 512 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on July 14, 2026.
Source: trailofbits/skills-curated on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.