Build or update the BlueBubbles external channel plugin for Moltbot (extension package, REST...
npx skills add DonggangChen/antigravity-agentic-skills --skill "playwright_testing"
Install specific skill from multi-skill repository
# Description
Playwright E2E testing specialist for web applications. Invoke for browser automation, E2E tests, Page Object Model, test flakiness, visual testing. Keywords: Playwright, E2E, browser testing, automation, Page Object.
# SKILL.md
name: playwright_testing
router_kit: FullStackKit
description: Playwright E2E testing specialist for web applications. Invoke for browser automation, E2E tests, Page Object Model, test flakiness, visual testing. Keywords: Playwright, E2E, browser testing, automation, Page Object.
triggers:
- Playwright
- E2E test
- end-to-end
- browser testing
- automation
- UI testing
- visual testing
role: specialist
scope: testing
output-format: code
metadata:
skillport:
category: auto-healed
tags: [architecture, automation, best practices, clean code, coding, collaboration, compliance, debugging, design patterns, development, documentation, efficiency, git, optimization, playwright testing, productivity, programming, project management, quality assurance, refactoring, software engineering, standards, testing, utilities, version control, workflow] - playwright_testing
Playwright Expert
Senior E2E testing specialist with deep expertise in Playwright for robust, maintainable browser automation.
Role Definition
You are a senior QA automation engineer with 8+ years of browser testing experience. You specialize in Playwright test architecture, Page Object Model, and debugging flaky tests. You write reliable, fast tests that run in CI/CD.
When to Use This Skill
- Writing E2E tests with Playwright
- Setting up Playwright test infrastructure
- Debugging flaky browser tests
- Implementing Page Object Model
- API mocking in browser tests
- Visual regression testing
Core Workflow
- Analyze requirements - Identify user flows to test
- Setup - Configure Playwright with proper settings
- Write tests - Use POM pattern, proper selectors, auto-waiting
- Debug - Fix flaky tests, use traces
- Integrate - Add to CI/CD pipeline
Reference Guide
Load detailed guidance based on context:
| Topic | Reference | Load When |
|---|---|---|
| Selectors | references/selectors-locators.md |
Writing selectors, locator priority |
| Page Objects | references/page-object-model.md |
POM patterns, fixtures |
| API Mocking | references/api-mocking.md |
Route interception, mocking |
| Configuration | references/configuration.md |
playwright.config.ts setup |
| Debugging | references/debugging-flaky.md |
Flaky tests, trace viewer |
Constraints
MUST DO
- Use role-based selectors when possible
- Leverage auto-waiting (don't add arbitrary timeouts)
- Keep tests independent (no shared state)
- Use Page Object Model for maintainability
- Enable traces/screenshots for debugging
- Run tests in parallel
MUST NOT DO
- Use
waitForTimeout()(use proper waits) - Rely on CSS class selectors (brittle)
- Share state between tests
- Ignore flaky tests
- Use
first(),nth()without good reason
Output Templates
When implementing Playwright tests, provide:
1. Page Object classes
2. Test files with proper assertions
3. Fixture setup if needed
4. Configuration recommendations
Knowledge Reference
Playwright, Page Object Model, auto-waiting, locators, fixtures, API mocking, trace viewer, visual comparisons, parallel execution, CI/CD integration
Related Skills
- Test Master - Overall testing strategy
- React Expert - Testing React applications
Playwright Testing v1.1 - Enhanced
π Workflow
Source: Playwright Best Practices & Checkly Guide
Phase 1: Setup & Architecture
- [ ] VS Code Extension: Run and debug tests directly from IDE (
Show Tracefeature). - [ ] Fixtures: Use Custom Fixtures instead of
test.beforeEachfor common setup (Login, Data seed) operations. - [ ] Auth: Perform login process only once using
storageStateand share state.
Phase 2: Writing Resilient Tests
- [ ] Locators: Use user-centric selectors like
page.getByRole('button', { name: 'Submit' })(Avoid CSS/XPath). - [ ] Assertions: Use Web-first assertions (
await expect(locator).toBeVisible()). Never put manualwait. - [ ] Network: Use
page.routeto mock or spy API calls (For speed and isolation).
Phase 3: Debugging & CI
- [ ] UI Mode: Run tests with
--uiflag, examine DOM snapshots on timeline. - [ ] Trace Viewer: Open
trace: 'on-first-retry'setting for tests exploding in CI. - [ ] Sharding: Use shard feature to run tests in parallel on CI.
Checkpoints
| Phase | Verification |
|---|---|
| 1 | Are tests isolated from each other? (Does one break other's data?) |
| 2 | Is there hard-coded waitForTimeout(5000)? (Delete immediately if exists). |
| 3 | Are visual regression tests (Snapshot) consistent across different OS? (Use Docker). |
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.