Playwright is a framework for automating and testing websites through one API that drives Chromium, Firefox, and WebKit. Developers use it for end-to-end tests, browser automation scripts, and AI-agent web interactions. The catalogue add-ons help coding and AI agents use Playwright for testing and browser automation.
Borrowing it
Nothing to install: this file belongs to microsoft/playwright. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/microsoft/playwright/main/.claude/skills/playwright-triage/SKILL.mdgit clone --depth 1 https://github.com/microsoft/playwrightWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/microsoft/playwright/playwright-triage)<a href="https://agentmods.dev/skills/microsoft/playwright/playwright-triage"><img src="https://agentmods.dev/badge/skills/microsoft/playwright/playwright-triage/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/microsoft/playwright/playwright-triage"><img src="https://agentmods.dev/badge/skills/microsoft/playwright/playwright-triage.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- Snyk warn
- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Agent Snooping · line 61 Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.Fix: Remove all code or instructions that list or read other skills' files or directories. Skills should operate independently; cross-skill access is a privilege escalation.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00054 | $0.02020 |
| Opus 5.5 | $0.00022 | $0.00808 |
| Sonnet 5.5 | $0.00011 | $0.00404 |
| Haiku 4.5 | $0.00005 | $0.00202 |
Grade A, and why
playwright-triage scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 121 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Playwright Issue Triage
Triage a GitHub issue by working out what it actually is, then doing the right thing for that kind. The goal is a clear, verified status, not a fix.
First, classify the issue
Judge by the content, not the label — a "[Feature]" is often really a bug (something already should work), and a "[Bug]" is sometimes expected behaviour. Work out what it actually is:
- Bug — reproduce it. The bulk of this skill.
- Feature request — nothing to reproduce. Check it doesn't already exist (search docs/API,
maybe under another name), verify any source the reporter cites by reading it, and surface the
real design question. If it's small and well-scoped (like "fail loudly instead of
silently"), the ideal takeaway is an acceptance test: one self-contained spec asserting
current behaviour (passes today) with the desired behaviour alongside as a
fixme/commented assertion. - Upstream / environment — a genuinely external owner (the Node project, a browser engine, a
website's own server/cert config), not Playwright. Find the real owner, don't brute-force a repro,
verify any cited upstream issue and point at the real fix path. Note: the Playwright family —
@playwright/mcp(source lives here underpackages/playwright-core/src/tools/mcp/),playwright-vscode,-python,-java,-dotnet— is not "upstream"; it's us. Never tell a reporter to refile within the project (see below). - Question / usage — answer it or point at the docs.
The rest of this skill is the bug path.
Reproducing a bug
You're not in a hurry, so be exhaustive before giving up. If the user has provided a minimal repro, try it first. If it does not repro for you, play around with things they might have forgotten to mention: all three browsers, headed/headless, a few recent versions, and variations of the snippet or trigger. Report "cannot reproduce" only after you've genuinely explored — and say what you tried. If you have a hunch for what information would help, ask for it.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago Changed · +17 lines f8901a6e9daf
- 1mo ago First seen · 104 lines · 54 tokens per session scan A 81bf1b5b785d
playwright-triage is a skill published in the GitHub repository microsoft/playwright (98,318 stars, last pushed today), licensed Apache-2.0. It adds 54 tokens to every session and 2,020 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
write-e2e
Write new Playwright E2E tests following project conventions, with POM/business-layer architecture, network-aware stability patterns, and quality validation.
fix-e2e
Systematically investigate and fix failing Playwright E2E tests using captured action data, screenshots, DOM snapshots, network requests, and console output.
compatibility-testing
Cross-browser, cross-platform, and cross-device compatibility testing ensuring consistent experience across environments. Use when validating browser support, testing responsive design, or ensuring platform compatibility.
Flaky Test Doctor
Diagnose flaky test failures from Playwright reports, traces, and rerun history. Classify each failure as product, test, environment, data, or unknown with cited evidence and a proposed fix. Never auto-modifies code without opt-in.
Browser Agent QA Testing
Teach agents to use AI browser agents for exploratory and smoke QA with step budgets, evidence-based assertions, guardrails, and Playwright conversion.
proxy-setup
Set up test-proxy-recorder for any Playwright project. Covers the proxy CLI (test-proxy-recorder --port --dir), package.json scripts for the three-service architecture (UI app → proxy → backend API), playwright.config.ts webServer block pointing to /control, per-test fixtures using playwrightProxy.before(page…