Playwright Skill Guides

July 2, 2026 · View on GitHub

██████╗ ██╗      █████╗ ██╗   ██╗██╗    ██╗██████╗ ██╗ ██████╗ ██╗  ██╗████████╗
██╔══██╗██║     ██╔══██╗╚██╗ ██╔╝██║    ██║██╔══██╗██║██╔════╝ ██║  ██║╚══██╔══╝
██████╔╝██║     ███████║ ╚████╔╝ ██║ █╗ ██║██████╔╝██║██║  ███╗███████║   ██║
██╔═══╝ ██║     ██╔══██║  ╚██╔╝  ██║███╗██║██╔══██╗██║██║   ██║██╔══██║   ██║
██║     ███████╗██║  ██║   ██║   ╚███╔███╔╝██║  ██║██║╚██████╔╝██║  ██║   ██║
╚═╝     ╚══════╝╚═╝  ╚═╝   ╚═╝    ╚══╝╚══╝ ╚═╝  ╚═╝╚═╝ ╚═════╝ ╚═╝  ╚═╝   ╚═╝

███████╗██╗  ██╗██╗██╗     ██╗
██╔════╝██║ ██╔╝██║██║     ██║
███████╗█████╔╝ ██║██║     ██║
╚════██║██╔═██╗ ██║██║     ██║
███████║██║  ██╗██║███████╗███████╗
╚══════╝╚═╝  ╚═╝╚═╝╚══════╝╚══════╝

TestDino Logo by testdino.com — Purpose built for debugging, managing, and improving Playwright tests with AI

Playwright Skill Guides

License: MIT Playwright Guides

Production-tested Playwright guides for E2E, API, component, visual, accessibility, and security testing, plus CI/CD, CLI automation, trace-report debugging, page objects, and migration. 70 guides with TypeScript and JavaScript examples throughout.

These are Agent Skills — Markdown guides an AI coding agent loads on demand. Install them with the skills CLI and your agent pulls the right guide when you ask it to write, debug, or scale Playwright tests. SKILL.md is the canonical index the agent reads, including the Golden Rules and architecture-decision guides.

Playwright 1.61 coverage: WebAuthn passkey testing (context.credentials), the page.localStorage / page.sessionStorage Web Storage API, new video retention modes, expect.soft.poll(), WebSockets in HAR and traces, and apiResponse.securityDetails() / serverAddr() — plus all 1.60 features (on-demand HAR in tracing, locator.drop(), page-level aria snapshots, test.abort(), getByRole({ description }), toHaveCSS({ pseudo })) and 1.59 features.

Install

Add every skill pack to your project:

npx skills add testdino-hq/playwright-skill

Or add individual packs:

npx skills add testdino-hq/playwright-skill/core
npx skills add testdino-hq/playwright-skill/ci
npx skills add testdino-hq/playwright-skill/pom
npx skills add testdino-hq/playwright-skill/migration
npx skills add testdino-hq/playwright-skill/playwright-cli

🎬 Watch the installation guide Watch the installation guide

Skill Packs

PackGuidesWhat's covered
core47Locators, assertions, fixtures, auth, API testing, network mocking, visual regression, accessibility, debugging, trace-report analysis, framework recipes, architecture decisions
ci9GitHub Actions, GitLab CI, CircleCI, Azure DevOps, Jenkins, Docker, sharding, reporting, coverage
playwright-cli10CLI browser automation, screenshots, tracing, session management, device emulation
pom2Page Object Model patterns, POM vs fixtures vs helpers
migration2Migrating from Cypress, migrating from Selenium

Golden Rules

The patterns every guide assumes (full list with rationale in SKILL.md):

  1. getByRole() over CSS/XPath — resilient to markup changes
  2. Never page.waitForTimeout() — use web-first assertions or page.waitForURL()
  3. Isolate every test — no shared state, no order dependencies
  4. baseURL in config — zero hardcoded URLs in tests
  5. Mock external services only — never mock your own app

Core Skills

The foundation: writing, debugging, and maintaining reliable tests. New to Playwright? Start with locators.md, assertions-and-waiting.md, and fixtures-and-hooks.md.

Writing Tests

GuideDescription
locators.mdSelector strategies — getByRole, getByText, getByTestId
locator-strategy.mdChoosing a locator strategy and trade-offs
assertions-and-waiting.mdWeb-first assertions, auto-retry, waiting patterns
fixtures-and-hooks.mdtest.extend(), setup/teardown, worker-scoped fixtures
configuration.mdplaywright.config.ts — projects, timeouts, reporters, web server
test-organization.mdFile structure, tagging, test.describe, test filtering
test-data-management.mdFactories, seeding, cleanup strategies
authentication.mdStorage state reuse, multi-role auth, session management
auth-flows.mdLogin, OAuth, and multi-step auth flows
api-testing.mdREST and GraphQL testing with request fixture
network-mocking.mdRoute interception, HAR replay, response modification
when-to-mock.mdWhen to mock vs hit real services
forms-and-validation.mdForm fills, validation, error states, multi-step wizards
crud-testing.mdCreate / read / update / delete flow testing
search-and-filter.mdSearch and filter UI testing
drag-and-drop.mdDrag-and-drop interactions
file-operations.mdFile handling in tests
file-upload-download.mdUpload and download flows
error-and-edge-cases.mdError states and edge-case coverage
visual-regression.mdScreenshot comparison, thresholds, masking dynamic content
accessibility.mdaxe-core integration, ARIA assertions, a11y auditing
component-testing.mdMount React/Vue/Svelte components in isolation
mobile-and-responsive.mdDevice emulation, viewport testing, touch interactions

Debugging & Fixing

GuideDescription
debugging.mdTrace viewer, PWDEBUG, UI mode, headed + slow-mo
trace-analysis.mdDebug a trace.zip from the terminal with the npx playwright trace CLI — agent-native, decision trees, failure playbooks
error-index.mdCommon error messages and how to fix them
flaky-tests.mdRoot causes, retry strategies, stabilization patterns
common-pitfalls.mdTop beginner mistakes and how to avoid them

Architecture Decisions

QuestionGuide
E2E vs component vs API?test-architecture.md
Which locator strategy?locator-strategy.md
Mock vs real services?when-to-mock.md
POM vs fixtures vs helpers?pom-vs-fixtures-vs-helpers.md

Framework Recipes

GuideDescription
nextjs.mdApp Router + Pages Router testing
react.mdCRA, Vite, component testing
vue.mdVue 3 / Nuxt testing
angular.mdAngular testing patterns

Specialized Topics

GuideDescription
browser-apis.mdGeolocation, clipboard, permissions
iframes-and-shadow-dom.mdCross-frame testing, Shadow DOM piercing
multi-context-and-popups.mdMulti-tab, popups, new windows
multi-user-and-collaboration.mdMulti-user and real-time collaboration flows
websockets-and-realtime.mdWebSocket testing, real-time UI
canvas-and-webgl.mdCanvas testing, visual comparison
electron-testing.mdDesktop app testing with Electron
security-testing.mdXSS, CSRF, header validation
performance-testing.mdCore Web Vitals, Lighthouse, benchmarks
clock-and-time-mocking.mdFake timers, date mocking
service-workers-and-pwa.mdPWA testing, offline mode
browser-extensions.mdExtension testing patterns
third-party-integrations.mdTesting against third-party services
i18n-and-localization.mdMulti-language, RTL, locale testing

CI/CD Skills

GuideDescription
ci-github-actions.mdWorkflows, caching, artifact uploads
ci-gitlab.mdGitLab CI pipelines
ci-other.mdCircleCI, Azure DevOps, Jenkins
parallel-and-sharding.mdSharding across CI runners
docker-and-containers.mdContainerized test execution
reporting-and-artifacts.mdHTML reports, traces, screenshots
test-coverage.mdCode coverage collection
global-setup-teardown.mdOne-time setup/teardown
projects-and-dependencies.mdMulti-project config, dependencies

Playwright CLI Skills

GuideDescription
core-commands.mdOpen, navigate, click, fill, keyboard, mouse
request-mocking.mdRoute interception, conditional mocks, HAR replay
running-custom-code.mdFull Playwright API via run-code
session-management.mdNamed sessions, isolation, persistent profiles
storage-and-auth.mdCookies, localStorage, auth state save/restore
test-generation.mdAuto-generate test code from CLI interactions
tracing-and-debugging.mdTraces, console/network monitoring
screenshots-and-media.mdScreenshots, video recording, PDF export
device-emulation.mdViewport, geolocation, locale, dark mode
advanced-workflows.mdPopups, scraping, accessibility auditing

Migration Skills

GuideDescription
from-cypress.mdCypress to Playwright migration
from-selenium.mdSelenium/WebDriver to Playwright migration

Page Object Model Skills

GuideDescription
page-object-model.mdPOM patterns for Playwright
pom-vs-fixtures-vs-helpers.mdWhen to use POM vs fixtures vs helpers

License

MIT