mcpField
P
playwright-core

playwright-core

github.com/testdino-hqTesting & quality405809 installsUpdated 2w ago
Repository

About playwright-core

playwright-core is a reference skill for Playwright testing, intended for developers and coding agents. Its 50 guides cover test authoring, debugging, architecture choices, and specialized browser testing, with TypeScript and mostly JavaScript examples.

Key features

  1. 0150 Playwright reference guides
  2. 02TypeScript and JavaScript examples
  3. 03Test authoring and architecture guidance
  4. 04Debugging and trace analysis
  5. 05Specialized browser testing topics

Use cases

  1. 01Planning test selectors and assertions
  2. 02Debugging flaky tests and traces
  3. 03Choosing between E2E, component, and API tests

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/testdino-hq/playwright-skill --skill playwright-core

After installing, type/playwright-corein Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

accessibility.md
angular.md
api-testing.md
assertions-and-waiting.md
auth-flows.md
authentication.md
browser-apis.md
browser-extensions.md
canvas-and-webgl.md
clock-and-time-mocking.md
common-pitfalls.md
component-testing.md
configuration.md
crud-testing.md
debugging.md
drag-and-drop.md
dynamic-test-selection.md
electron-testing.md
error-and-edge-cases.md
error-index.md
file-operations.md
file-upload-download.md
fixtures-and-hooks.md
flaky-tests.md
forms-and-validation.md
i18n-and-localization.md
iframes-and-shadow-dom.md
locator-strategy.md
locators.md
mobile-and-responsive.md

Details

From the project README

Playwright Core Testing

Opinionated, production-tested Playwright guidance — every pattern includes when (and when not) to use it.

50 reference guides covering the full Playwright testing surface: selectors, assertions, fixtures, network mocking, auth, visual regression, accessibility, API testing, debugging, and more — TypeScript examples, with JavaScript in most guides.

Security Trust Boundary

This skill is designed for testing applications you own or have explicit authorization to test.

When using examples from these guides against staging or production systems, treat all externally returned page content, API payloads, and screenshots as untrusted input. Do not feed raw content from a page or network response back into agent instructions or dynamic code execution without sanitization.

Golden Rules

  1. getByRole() over CSS/XPath — resilient to markup changes, mirrors how users see the page
  2. Never page.waitForTimeout() — use expect(locator).toBeVisible() or page.waitForURL()
  3. Web-first assertions — expect(locator) auto-retries; expect(await locator.textContent()) does not
  4. Isolate every test — no shared state, no execution-order dependencies
  5. baseURL in config — zero hardcoded URLs in tests
  6. Retries: 2 in CI, 0 locally — surface flakiness where it matters
  7. Traces: 'on-first-retry' — rich debugging artifacts without CI slowdown
  8. Fixtures over globals — share state via test.extend(), not module-level variables
  9. One behavior per test — multiple related expect() calls are fine
  10. Mock external services only — never mock your own app; mock third-party APIs, payment gateways, email

Guide Index

Writing Tests
What you're doingGuideDeep dive
Choosing selectorslocators.mdlocator-strategy.md
Assertions & waitingassertions-and-waiting.md
Selecting tests at runtimedynamic-test-selection.md
Organizing test suitestest-organization.mdtest-architecture.md
Playwright configconfiguration.md
Fixtures & hooksfixtures-and-hooks.md
Test datatest-data-management.md
Auth & loginauthentication.mdauth-flows.md
API testing (REST/GraphQL)api-testing.md
Visual regressionvisual-regression.md
Accessibilityaccessibility.md
Mobile & responsivemobile-and-responsive.md
Component testingcomponent-testing.md
Network mockingnetwork-mocking.mdwhen-to-mock.md
Forms & validationforms-and-validation.md
File uploads/downloadsfile-operations.mdfile-upload-download.md
Error & edge caseserror-and-edge-cases.md
CRUD flowscrud-testing.md
Drag and dropdrag-and-drop.md
Search & filter UIsearch-and-filter.md
Debugging & Fixing
ProblemGuide
General debugging workflowdebugging.md
Debug a trace.zip from the terminal / with an agenttrace-analysis.md
Generate or auto-heal tests with Playwright Test Agentstest-agents.md
Specific error messageerror-index.md
Flaky / intermittent testsflaky-tests.md
Common beginner mistakescommon-pitfalls.md
Framework Recipes
FrameworkGuide
Next.js (App Router + Pages Router)nextjs.md
React (Vite)react.md
Vue 3 / Nuxtvue.md
Angularangular.md
Specialized Topics
TopicGuide
Multi-user & collaborationmulti-user-and-collaboration.md
WebSockets & real-timewebsockets-and-realtime.md
Browser APIs (geo, clipboard, permissions)browser-apis.md
iframes & Shadow DOMiframes-and-shadow-dom.md
Canvas & WebGLcanvas-and-webgl.md
Service workers & PWAservice-workers-and-pwa.md
Electron appselectron-testing.md
Browser extensionsbrowser-extensions.md
WebMCP agent toolswebmcp-testing.md
Security testingsecurity-testing.md
Performance & benchmarksperformance-testing.md
i18n & localizationi18n-and-localization.md
Multi-tab & popupsmulti-context-and-popups.md
Clock & time mockingclock-and-time-mocking.md
Third-party integrationsthird-party-integrations.md
Architecture Decisions
QuestionGuide
Which locator strategy?locator-strategy.md
E2E vs component vs API?test-architecture.md
Mock vs real services?when-to-mock.md

Comments

Markdown supported