← All skills
playwright-core
77 / 100 · Review before installing
Check before installing. Some of what it can do is expected: a coding skill usually runs build and test commands.
By zebbern/claude-code-guide (GitHub) · coding · 4,704 stars · scanned at commit 84cb1c6
Battle-tested Playwright patterns for E2E, API, component, visual, accessibility, and security testing. Covers locators, assertions, fixtures, network mocking, auth flows, debugging, and framework recipes for React, Next.js, Vue, and Angular. TypeScript and JavaScript.
Works with any agent that supports SKILL.md skills.
What this skill can do
Downloads and installs other software
The author does not mention this.
Found in 133 places.
Show 17 more
- skills/playwright/core/angular.md, line 16
npx playwright test --project=chromium - skills/playwright/core/angular.md, line 19
npx playwright test tests/home.spec.ts --headed --debug - skills/playwright/core/angular.md, line 22
npx playwright codegen http://localhost:4200 - skills/playwright/core/angular.md, line 66
? "npx ng build && npx http-server dist/your-app/browser -p 4200 -s" - skills/playwright/core/angular.md, line 67
: "npx ng serve", - skills/playwright/core/angular.md, line 112
? "npx ng build && npx http-server dist/your-app/browser -p 4200 -s" - skills/playwright/core/angular.md, line 113
: "npx ng serve", - skills/playwright/core/angular.md, line 163
? 'npx ng build --configuration=production && npx http-server dist/your-app/browser -p 4200 -s' - skills/playwright/core/angular.md, line 164
: 'npx ng serve --configuration=development', - skills/playwright/core/angular.md, line 1028
| Local development | `npx ng serve` | Fast rebuild, source maps, no optimization | - skills/playwright/core/angular.md, line 1029
| CI (production build) | `npx ng build && npx http-server dist/your-app/browser -p 4200 -s` | Tests the real production bundle | - skills/playwright/core/angular.md, line 1030
| CI (SSR/Universal) | `npx ng build --ssr && node dist/your-app/server/server.mjs` | Tests server-side rendered Angular | - skills/playwright/core/angular.md, line 1055
? 'npx ng build --ssr && node dist/your-app/server/server.mjs' - skills/playwright/core/angular.md, line 1056
: 'npx ng serve --ssr', - skills/playwright/core/assertions-and-waiting.md, line 686
**Fix**: Check the HTML report (`npx playwright show-report`). Each soft failure is listed with its locator, expected value, and actual value. Group related sof - skills/playwright/core/authentication.md, line 129
Global setup runs once per `npx playwright test` invocation. It logs in, saves the state, and every test project that references that state file starts authenti - skills/playwright/core/common-pitfalls.md, line 379
Run against different environments by setting the variable: `BASE_URL=https://staging.example.com npx playwright test`
and 113 more places
Connects to the internet
This is disclosed by the author in the skill's SKILL.md or README.
Found in 23 places.
Show 17 more
- skills/playwright/core/auth-flows.md, line 408
const response = await route.fetch() - skills/playwright/core/fixtures-and-hooks.md, line 139
const response = await fetch(`${process.env.API_URL}/auth/token`, { - skills/playwright/core/fixtures-and-hooks.md, line 176
const response = await fetch(`${process.env.API_URL}/auth/token`, { - skills/playwright/core/fixtures-and-hooks.md, line 781
const res = await fetch(`${process.env.API_URL}/auth/service-token`, { - skills/playwright/core/network-mocking.md, line 14
const response = await route.fetch() - skills/playwright/core/network-mocking.md, line 380
**Avoid when**: You can fully mock the response. `route.fetch()` adds a real network round-trip, so it is slower. - skills/playwright/core/network-mocking.md, line 390
const response = await route.fetch() - skills/playwright/core/network-mocking.md, line 405
const response = await route.fetch() - skills/playwright/core/network-mocking.md, line 424
const response = await route.fetch() - skills/playwright/core/network-mocking.md, line 447
const response = await route.fetch() - skills/playwright/core/network-mocking.md, line 461
const response = await route.fetch() - skills/playwright/core/network-mocking.md, line 1216
| Need to test real API but tweak one field | `route.fetch()` + modify + `route.fulfill()` | Uses real data as baseline, only overrides what yo - skills/playwright/core/network-mocking.md, line 1300
### `route.fetch()` causes infinite loop - skills/playwright/core/network-mocking.md, line 1302
**Cause**: `route.fetch()` re-issues the request, which can re-trigger the same route handler if the URL pattern matches. - skills/playwright/core/network-mocking.md, line 1304
**Fix**: Playwright handles this correctly for the same route handler -- `route.fetch()` will not re-enter the handler that called it. But if you have multiple - skills/playwright/core/when-to-mock.md, line 170
const response = await route.fetch() // forward to real server - skills/playwright/core/when-to-mock.md, line 190
const response = await route.fetch()
and 3 more places
Runs commands on your computer
The author does not mention this. Expected for a coding skill.
Found in 12 places.
Show 9 more
- skills/playwright/core/configuration.md, line 470
execSync("npx prisma db push --force-reset", { stdio: "inherit" }) - skills/playwright/core/configuration.md, line 492
const { execSync } = require("child_process") - skills/playwright/core/configuration.md, line 495
execSync("npx prisma db seed", { stdio: "inherit" }) - skills/playwright/core/configuration.md, line 504
const { execSync } = require("child_process") - skills/playwright/core/configuration.md, line 507
execSync("npx prisma db push --force-reset", { stdio: "inherit" }) - skills/playwright/core/when-to-mock.md, line 513
import { execSync } from "child_process" - skills/playwright/core/when-to-mock.md, line 517
execSync("docker compose -f docker-compose.test.yml down -v") - skills/playwright/core/when-to-mock.md, line 544
const { execSync } = require("child_process") - skills/playwright/core/when-to-mock.md, line 548
execSync("docker compose -f docker-compose.test.yml down -v")
Safer alternatives
Low-risk skills in the same category (coding) that look related. Check that one does what you need.
Install
Paste this into your terminal. It downloads exactly the version we scanned, not whatever is newest.
if [ -e ~/.agents/skills/'playwright-core' ] || [ -L ~/.agents/skills/'playwright-core' ]; then echo 'A skill folder named playwright-core already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/zebbern/claude-code-guide' "$d" && git -C "$d" checkout --quiet '84cb1c68461189c5a285948f95b5de20813c029b' -- 'skills/playwright/core' && mkdir -p ~/.agents/skills && cp -R "$d"/'skills/playwright/core' ~/.agents/skills/'playwright-core' && rm -rf "$d"; fi
Codex reads ~/.agents/skills directly. For Claude Code, Cursor, Copilot, Gemini CLI, Antigravity or OpenCode, also link it. For Claude Code: ln -s ~/.agents/skills/'playwright-core' ~/.claude/skills/'playwright-core' (other agents: ~/.cursor/skills, ~/.copilot/skills, ~/.gemini/skills, ~/.gemini/config/skills, ~/.config/opencode/skills). Or install through the finder skill, which does both.
Badge for your README
The badge for zebbern/claude-code-guide shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/zebbern/claude-code-guide/)
Score history
| Date | Version | Score |
|---|
| 2026-11-11 | 84cb1c6 | 77 |
| 2026-11-08 | 3ae17b2 | 77 |
| 2026-11-07 | 3ae17b2 | 57 |