Open Browser
JasonHonKL/Openbrowser
A skill your agent uses whenever the task involves browsing web pages, extracting page content, clicking forms, or completing web workflows.
Operate Playwright for browser automation end to end: author and debug E2E test suites (robust locators, network interception and mocking, parallel workers, accessibility snapshot checks), wire them…
$ npx skills add magnus919/agent-skills --skill playwright -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install magnus919/agent-skills 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/magnus919/agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/playwright .claude/skills/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 "playwright" agent skill from https://github.com/magnus919/agent-skills/tree/main/playwright into .claude/skills/playwright/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "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/magnus919/agent-skills/tree/main/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 magnus919/agent-skills --skill playwright -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install magnus919/agent-skills playwright --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/magnus919/agent-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/playwright .agents/skills/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 "playwright" agent skill from https://github.com/magnus919/agent-skills/tree/main/playwright into .agents/skills/playwright/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "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 magnus919/agent-skills --skill playwright -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install magnus919/agent-skills playwright --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/magnus919/agent-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/playwright .cursor/skills/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 "playwright" agent skill from https://github.com/magnus919/agent-skills/tree/main/playwright into .cursor/skills/playwright/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "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/magnus919/agent-skills.git --path 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 magnus919/agent-skills --skill playwright -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install magnus919/agent-skills playwright --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/magnus919/agent-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/playwright .gemini/skills/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 "playwright" agent skill from https://github.com/magnus919/agent-skills/tree/main/playwright into .gemini/skills/playwright/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "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 magnus919/agent-skills 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 magnus919/agent-skills --skill playwright -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/magnus919/agent-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/playwright .github/skills/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 "playwright" agent skill from https://github.com/magnus919/agent-skills/tree/main/playwright into .github/skills/playwright/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "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 magnus919/agent-skills --skill 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 magnus919/agent-skills playwright --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/magnus919/agent-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/playwright .opencode/skills/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 "playwright" agent skill from https://github.com/magnus919/agent-skills/tree/main/playwright into .opencode/skills/playwright/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "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.
playwrightOperate Playwright for browser automation end to end: author and debug E2E test suites (robust locators, network interception and mocking, parallel workers, accessibility snapshot checks), wire them…
Playwright is an agent skill from magnus919/agent-skills. Operate Playwright for browser automation end to end: author and debug E2E test suites (robust locators, network interception and mocking, parallel workers, accessibility snapshot checks), wire them into CI, and drive headless browsing and scraping with an extract - validate - save loop. Use when writing, running, fixing, or scraping with Playwright, when a Playwright CI failure or JSON report needs triage, or when the bundled pwrun script should analyze a run. Do not use for QA strategy or test framework…
Its SKILL.md is about 3.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 23 other files, including scripts and reference files (for example `README.md`, `evals/evals.json` and `references/00-source-index.md`). Compatibility notes: Playwright 1.40+ for the documented patterns (aria snapshots need 1.49+). The bundled pwrun script runs on Python 3.8+ and needs no node or Playwright for…
It sits in Testing & QA, covering Browser testing, Web scraping and End-to-end testing. It works with Playwright and Cloudflare. The repository describes itself as: Curated collection of AI agent skills for Hermes and other agent frameworks. The licence is MIT.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit c545c2b. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (TypeScript, from the files we listed), which the agent can run.
Shell commands in SKILL.md call:
npxFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.
From 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.
Playwright 1.40+ for the documented patterns (aria snapshots need 1.49+). The bundled pwrun script runs on Python 3.8+ and needs no node or Playwright for --help, doctor, inventory, or report analysis; smoke delegates to npx.
From compatibility in the SKILL.md frontmatter.
Playwright loads about 3.4k tokens when it runs, and up to ~9.7k if it reads all its reference files. Until then it costs about 176 tokens; SKILL.md has 1,457 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.
mit `playwright/.auth/*` storage state, `.env`, or browser credentials.Automated 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 magnus919/agent-skills at commit c545c2b, republished under its MIT licence (© magnus919). 1,457 words, ~3,359 tokens.
.claude/skills/playwright/SKILL.md (or your agent's skills folder). This skill also uses 18 other files; get the full folder from GitHub.Use this skill to drive a real browser with Playwright: author end-to-end tests, keep selectors and tests robust, intercept and mock network traffic, run suites across parallel workers and in CI, scrape and extract data in headless mode, and check accessibility with snapshot scans. This is a tool skill for one named tool. Test strategy and framework selection belong to qa-methodology; frontend component and architecture design belong to frontend-engineering. This skill owns operating the Playwright tool itself.
playwright.config.*, projects, baseURL, webServer, workers, retries, and reporters before running anything. Never assume the test command from the README.getByRole, getByLabel, getByText) over CSS/XPath that encode markup. Tests coupled to user-visible behavior survive refactors; tests coupled to structure break on them.page.route() — never by patching in-page code. Mock the dependency under test's edges, never the code under test itself; a test that mocks what it claims to verify proves nothing.workers and sharding to the machine and suite, and never let tests share mutable state through globals.scripts/pwrun is an agent-first smoke harness around a Playwright suite. doctor, inventory, and report work with no node or Playwright installed, so an agent can inspect a suite and triage a CI report anywhere.
scripts/pwrun doctor --json # node, @playwright/test, browsers, config availability
scripts/pwrun inventory --json # config, projects, spec files in the suite
scripts/pwrun report --report test-results.json --json # summarize a Playwright JSON report
scripts/pwrun smoke --url http://localhost:3000 --json # delegate a smoke run to npx playwright testExit codes: 0 ok, 1 analysis error, 2 usage error, 127 dependency (node/playwright) missing, 124 delegate timeout. --json on every command; --help works without any toolchain.
For smoke, --config is forwarded to Playwright. The target URL precedence is --url, inherited PW_SMOKE_URL, inherited BASE_URL, then http://localhost:3000; the chosen target is passed to the supplied scaffold as PW_SMOKE_URL. The JSON result separates requested_url from navigation_evidence. The bundled example spec records the URL reached after page.goto(); custom specs need a pwrun-navigation annotation to provide the same runtime evidence. requested_target_origin_observed shows whether any recorded navigation reached the requested origin.
test.describe blocks, test.beforeEach setup, and per-feature fixture files. Keep specs short, focused on one user journey, and readable as prose.expect(locator).toBeVisible(), .toHaveText(), .toHaveURL()) — they auto-retry until a timeout and are the backbone of stable E2E tests. Avoid manual page.waitForTimeout sleeps.webServer in the config (Playwright starts it, waits for readiness, and tears it down), or reuse an already-running instance via baseURL for smoke passes.references/01-e2e-authoring.md.getByTestId for ids that exist only for tests).getByRole('row').filter({ hasText: 'Acme' })) instead of building one long brittle selector. Re-query rather than storing stale element handles.first(). A selector that can match the wrong thing will eventually.references/02-selectors.md.page.route() and fulfill, abort, or continue them. Use this to mock third-party APIs, inject fixtures, emulate offline or slow networks, and block analytics/trackers that pollute tests.page.goto navigation the test depends on.page.on('request')/page.on('response') to assert on what the app actually sent. Patterns and gotchas: references/03-network-interception-and-mocking.md.workers sets how many parallel processes run specs; fullyParallel lets every spec file run across workers. Scale to CPU count and browser memory, not to "as many as possible".--shard=1/4) for large suites. Every test runs in its own browser context, so isolation is default — keep it that way: no shared globals, no shared storage state, no test-order coupling.references/04-parallel-workers-and-sharding.md.npx playwright@1.62.1 install --with-deps), pin the Playwright version, and cache ~/.cache/ms-playwright.webServer, retries (retry flaky tests on CI only), and trace: 'on-first-retry' so failures are debuggable. Report with html/json/github and upload artifacts on failure.scripts/pwrun report --json — it summarizes stats, failing specs, and error messages without opening a browser. Full CI recipes: references/05-ci-integration.md.chromium.launch({ headless: true }), newContext, page.goto) to load JavaScript-rendered pages, then extract with locators and innerText/attribute access into structured records — extract, validate, save.references/06-scraping-and-headless.md.@axe-core/playwright to catch WCAG violations (contrast, landmarks, ARIA misuse) in CI or on demand.expect(page).toMatchAriaSnapshot()) as stable, accessibility-aware assertions: they compare the accessibility tree, so they catch structure and label regressions and read like spec assertions. Update deliberately, never --update-snapshots reflexively.references/07-accessibility-and-debugging.md.--headed), slow the action with --slow-mo, or drop into the inspector with --debug / PWDEBUG=1 and the page.pause() breakpoint.npx playwright@1.62.1 codegen <url>, then harden the generated selectors into user-facing locators.--trace on), which records network, DOM snapshots, and console for the failed action. Use scripts/pwrun report --report <json> --json first to see the failure summary.references/07-accessibility-and-debugging.md.| Load when | Reference |
|---|---|
| Writing or structuring specs, fixtures, page objects | references/01-e2e-authoring.md |
| A selector is flaky or matches the wrong element | references/02-selectors.md |
| Mocking or intercepting API/network traffic | references/03-network-interception-and-mocking.md |
| Speeding up or sharding a large suite | references/04-parallel-workers-and-sharding.md |
| Wiring Playwright into CI or triaging CI failures | references/05-ci-integration.md |
| Extracting data or browsing in headless mode | references/06-scraping-and-headless.md |
| Accessibility scans, aria snapshots, or debugging a failing test | references/07-accessibility-and-debugging.md |
| Sources, version observations, and refresh procedure | references/00-source-index.md |
scripts/pwrun: smoke harness — doctor, inventory, report, smoke, all with --json.tests/test_pwrun.py + tests/fixtures/sample-report.json: deterministic tests for the harness (no node/browser required).tests/test_pwrun_scaffold.py: bounded local-server/browser integration check; runs when @playwright/test and Chromium are installed.templates/playwright.config.ts, templates/example.spec.ts, templates/accessibility.spec.ts: copy-in test-suite scaffold.references/: eight dated, source-indexed references covering the operational topics above.| Claim | Minimum evidence |
|---|---|
| Toolchain is present | scripts/pwrun doctor --json reports node, @playwright/test, and browsers available |
| Suite is understood | scripts/pwrun inventory --json lists config and spec files |
| A test passes | npx playwright@1.62.1 test exit 0 on the targeted spec (or smoke delegation) |
| A CI failure is explained | scripts/pwrun report --report test-results.json --json names the failing specs and errors |
| Accessibility is covered | An axe scan runs with zero violations of the declared severity, and aria snapshots match |
| No regressions in the covered flows | The suite ran under the configured workers/sharding with expected/flaky/unexpected counts recorded |
playwright/.auth/* storage state, .env, or browser credentials.--update-snapshots blindly to "fix" an aria snapshot diff — inspect what changed first.pwrun report instead.qa-methodology's performance-testing reference.The catalog's automated topic sweep greps this file for coverage keywords. Two
alias pairs are written literally below so the sweep matches both spellings:
e2e|end-to-end covers browser-level tests (E2E, end-to-end, and e2e are the
same workflow), and debug|head covers the headed-debugging workflows in this
skill. All other topics (selector robustness, network interception, parallel
workers, CI integration, scraping, accessibility snapshots, mocking) appear by
name in the sections above.
© magnus919, MIT. 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 18 other files (scripts, references) in playwright of magnus919/agent-skills.
Open the folder on GitHubat commit c545c2b
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 |
|---|---|---|---|---|---|---|
| Playwright this skillmagnus919/agent-skills | 116 | — | ~3.4k | Automated safety check: Notes | MIT | |
| Open BrowserJasonHonKL/Openbrowser | 114 | — | ~1.6k | Automated safety check: Pass | MIT | |
| Playwright Testingchongdashu/vibejam-starter-pack | 149 | — | ~2.2k | Automated safety check: Pass | None | |
| Playwright Expertcin12211/orca-q | 224 | — | ~1.3k | Automated safety check: Pass | MIT | |
| Web Testing with Playwright and Vitestwithkynam/vibecode-pro-max-kit | 1.1k | — | ~892 | Automated safety check: Pass | Apache-2.0 | |
| Dotnet Testingnovotnyllc/dotnet-artisan | 233 | — | ~972 | Automated safety check: Pass | MIT |
JasonHonKL/Openbrowser
A skill your agent uses whenever the task involves browsing web pages, extracting page content, clicking forms, or completing web workflows.
chongdashu/vibejam-starter-pack
Plan, implement, and debug frontend tests: unit/integration/E2E/visual/a11y.
cin12211/orca-q
Playwright E2E testing expert for browser automation, cross-browser testing, visual regression, network interception, and CI integration.
withkynam/vibecode-pro-max-kit
Covers web testing from unit to E2E, load, visual, accessibility and security checks, with Playwright, Vitest and k6 guides plus a Playwright setup script.
novotnyllc/dotnet-artisan
Defines .NET test strategy and implementation patterns across xUnit v3 (Facts, Theories, fixtures, IAsyncLifetime), integration testing (WebApplicationFactory, Testcontainers), Aspire testing…
aehrc/pathling
Expert guidance for writing end-to-end tests with Playwright Test framework.
magnus919/agent-skills
Organize durable agent research outputs as summaries, analysis, and evidence dossiers.
magnus919/agent-skills
Build portable, first-person colored ASCII city engines and small GIS-derived city packs.
magnus919/agent-skills
Manage color workflows with ICC profiles, working spaces, gamut mapping, and color science.
magnus919/agent-skills
A skill your agent uses for PhD-level expertise in data science, statistics, and machine learning: rigorous statistical analysis, experimental design, causal inference, advanced modeling, research…
magnus919/agent-skills
Use Docker Compose to define, run, debug, and harden multi-container applications.
magnus919/agent-skills
Design, review, simulate, and verify FPGA logic using explicit RTL contracts, clock and reset models, CDC analysis, timing constraints, and reproducible implementation evidence.
Works with
Categories
Operate Playwright for browser automation end to end: author and debug E2E test suites (robust locators, network interception and mocking, parallel workers, accessibility snapshot checks), wire them…. Playwright is an agent skill from magnus919/agent-skills. Operate Playwright for browser automation end to end: author and debug E2E test suites (robust locators, network interception and mocking, parallel workers, accessibility snapshot checks), wire them into CI, and drive headless browsing and scraping with an extract - validate - save loop.
Playwright fits situations like: scraping with Playwright; A Playwright CI failure; JSON report needs triage; the bundled pwrun script should analyze a run.
Run `npx skills add magnus919/agent-skills --skill playwright -a claude-code`. Or copy the skill folder (playwright in magnus919/agent-skills) into .claude/skills/playwright in your project. Claude Code loads it when a task matches its description.
Run `npx skills add magnus919/agent-skills --skill playwright -a codex`. Or copy the skill folder (playwright in magnus919/agent-skills) into .agents/skills/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 magnus919/agent-skills --skill 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/playwright, .gemini/skills/playwright, .github/skills/playwright and .opencode/skills/playwright in your project.
Going by SKILL.md and its folder, Playwright needs TypeScript for the scripts in its folder and the command-line tools its instructions call (npx). Our summary lists: Python 3; Node.js. Compatibility (from SKILL.md): Playwright 1.40+ for the documented patterns (aria snapshots need 1.49+). The bundled pwrun script runs on Python 3.8+ and needs no node or Playwright for --help, doctor, inventory, or report analysis; smoke delegates to npx..
SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), 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.
Playwright is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.4k tokens (SKILL.md is roughly 13k 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 6.4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Playwright: Open Browser (JasonHonKL/Openbrowser, 114 stars), Playwright Testing (chongdashu/vibejam-starter-pack, 149 stars), Playwright Expert (cin12211/orca-q, 224 stars) and Web Testing with Playwright and Vitest (withkynam/vibecode-pro-max-kit, 1.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
magnus919 (a GitHub user) maintains it in magnus919/agent-skills, which has 116 GitHub stars. The repository holds 130 skills in this directory. The repository was last updated on October 8, 2026.
Source: magnus919/agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.