Agent skill

Playwright Expert

by cin12211 in cin12211/orca-q

Playwright E2E testing expert for browser automation, cross-browser testing, visual regression, network interception, and CI integration.

MITAuto-check passedTesting & QA

Install Playwright Expert

skills CLI
$ npx skills add cin12211/orca-q --skill playwright-expert -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install cin12211/orca-q playwright-expert --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/cin12211/orca-q.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agent/skills/playwright-expert .claude/skills/playwright-expert && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
playwright-expert
GitHub stars
224
Token cost
~1.3k tokens
SKILL.md length
119 words
Files
1
Skills in repo
16
Repo updated
First seen
Licence
MIT

At a glance

Playwright E2E testing expert for browser automation, cross-browser testing, visual regression, network interception, and CI integration.

  • Works in 5 steps: Hardcoded waits - Use proper assertions → Fragile selectors - Use data-testid → Shared state between tests - Isolate tests → …
  • Browser automation challenges
  • SKILL.md covers When Invoked, Problem Playbooks, Running Tests and Code Review Checklist, plus 1 more section
  • Calls npx and npm

What it does

Playwright Expert is an agent skill from cin12211/orca-q. Playwright E2E testing expert for browser automation, cross-browser testing, visual regression, network interception, and CI integration. Use for E2E test setup, flaky tests, or browser automation challenges.

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Testing & QA, covering Browser testing, End-to-end testing and Failing and flaky tests. It works with Playwright. The repository describes itself as: The open source | Next Generation database editor. The licence is MIT.

When your agent uses it

  • Browser automation challenges
  • Tasks that involve Browser testing
  • Tasks that involve End-to-end testing

Example prompts

  • “/playwright-expert”

Requirements

  • Node.js

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Hardcoded waits - Use proper assertions
  2. Fragile selectors - Use data-testid
  3. Shared state between tests - Isolate tests
  4. No retries in CI - Add retry for flakiness
  5. Testing implementation details - Test user behavior

What it can do on your machine

Read from SKILL.md and the folder at commit 3142fe6. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npx
    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npx and npm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Playwright Expert loads about 1.3k tokens when it runs. Until then it costs about 57 tokens; SKILL.md has 119 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~57
When it runs · the whole SKILL.md, loaded when a task matches
~1.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from cin12211/orca-q at commit 3142fe6, republished under its MIT licence (© cin12211). 119 words, ~1,329 tokens.

Download SKILL.mdSave it as .claude/skills/playwright-expert/SKILL.md (or your agent's skills folder).
name
playwright-expert
description
Playwright E2E testing expert for browser automation, cross-browser testing, visual regression, network interception, and CI integration. Use for E2E test setup, flaky tests, or browser automation challenges.

Playwright Expert

Expert in Playwright for E2E testing, browser automation, and cross-browser testing.

When Invoked

Recommend Specialist
  • Unit/integration tests: recommend jest-expert or vitest-expert
  • React component testing: recommend testing-expert
  • API testing only: recommend rest-api-expert
Environment Detection
bash
npx playwright --version 2>/dev/null
ls playwright.config.* 2>/dev/null
find . -name "*.spec.ts" -path "*e2e*" | head -5

Problem Playbooks

Project Setup
bash
# Initialize Playwright
npm init playwright@latest

# Install browsers
npx playwright install
typescript
// playwright.config.ts
import { defineConfig, devices } from '@playwright/test';

export default defineConfig({
  testDir: './e2e',
  fullyParallel: true,
  forbidOnly: !!process.env.CI,
  retries: process.env.CI ? 2 : 0,
  workers: process.env.CI ? 1 : undefined,
  reporter: 'html',
  use: {
    baseURL: 'http://localhost:3000',
    trace: 'on-first-retry',
    screenshot: 'only-on-failure',
  },
  projects: [
    { name: 'chromium', use: { ...devices['Desktop Chrome'] } },
    { name: 'firefox', use: { ...devices['Desktop Firefox'] } },
    { name: 'webkit', use: { ...devices['Desktop Safari'] } },
  ],
  webServer: {
    command: 'npm run dev',
    url: 'http://localhost:3000',
    reuseExistingServer: !process.env.CI,
  },
});
Writing Tests
typescript
import { test, expect } from '@playwright/test';

test.describe('Authentication', () => {
  test('should login successfully', async ({ page }) => {
    await page.goto('/login');
    
    await page.fill('[data-testid="email"]', 'user@example.com');
    await page.fill('[data-testid="password"]', 'password123');
    await page.click('[data-testid="submit"]');
    
    await expect(page).toHaveURL('/dashboard');
    await expect(page.locator('h1')).toContainText('Welcome');
  });

  test('should show error for invalid credentials', async ({ page }) => {
    await page.goto('/login');
    
    await page.fill('[data-testid="email"]', 'wrong@example.com');
    await page.fill('[data-testid="password"]', 'wrong');
    await page.click('[data-testid="submit"]');
    
    await expect(page.locator('.error-message')).toBeVisible();
  });
});
Page Object Model
typescript
// pages/login.page.ts
import { Page, Locator } from '@playwright/test';

export class LoginPage {
  readonly page: Page;
  readonly emailInput: Locator;
  readonly passwordInput: Locator;
  readonly submitButton: Locator;

  constructor(page: Page) {
    this.page = page;
    this.emailInput = page.locator('[data-testid="email"]');
    this.passwordInput = page.locator('[data-testid="password"]');
    this.submitButton = page.locator('[data-testid="submit"]');
  }

  async goto() {
    await this.page.goto('/login');
  }

  async login(email: string, password: string) {
    await this.emailInput.fill(email);
    await this.passwordInput.fill(password);
    await this.submitButton.click();
  }
}

// Usage in test
test('login test', async ({ page }) => {
  const loginPage = new LoginPage(page);
  await loginPage.goto();
  await loginPage.login('user@example.com', 'password');
});
Network Interception
typescript
test('mock API response', async ({ page }) => {
  await page.route('**/api/users', async (route) => {
    await route.fulfill({
      status: 200,
      body: JSON.stringify([{ id: 1, name: 'Mock User' }]),
    });
  });

  await page.goto('/users');
  await expect(page.locator('.user-name')).toContainText('Mock User');
});
Visual Regression
typescript
test('visual comparison', async ({ page }) => {
  await page.goto('/');
  await expect(page).toHaveScreenshot('homepage.png', {
    maxDiffPixelRatio: 0.1,
  });
});
Handling Flaky Tests
typescript
// Retry flaky tests
test('flaky network test', async ({ page }) => {
  test.slow(); // Triple timeout
  
  await page.goto('/');
  await page.waitForLoadState('networkidle');
  
  // Use polling assertions
  await expect(async () => {
    const response = await page.request.get('/api/status');
    expect(response.ok()).toBeTruthy();
  }).toPass({ timeout: 10000 });
});

Running Tests

bash
# Run all tests
npx playwright test

# Run specific file
npx playwright test login.spec.ts

# Run in headed mode
npx playwright test --headed

# Run in UI mode
npx playwright test --ui

# Debug mode
npx playwright test --debug

# Generate report
npx playwright show-report

Code Review Checklist

  • data-testid attributes for selectors
  • Page Object Model for complex flows
  • Network requests mocked where needed
  • Proper wait strategies (no arbitrary waits)
  • Screenshots on failure configured
  • Parallel execution enabled

Anti-Patterns

  1. Hardcoded waits - Use proper assertions
  2. Fragile selectors - Use data-testid
  3. Shared state between tests - Isolate tests
  4. No retries in CI - Add retry for flakiness
  5. Testing implementation details - Test user behavior

© cin12211, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agent/skills/playwright-expert of cin12211/orca-q.

Open the folder on GitHubat commit 3142fe6

Compare with similar skills

Playwright Expert next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Playwright Expert compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Playwright Expert this skillcin12211/orca-q224—~1.3kAutomated safety check: PassMIT
Playwright Testingchongdashu/vibejam-starter-pack149—~2.2kAutomated safety check: PassNone
Playwright ExpertAratKruglik/claude-laravel155—~824Automated safety check: PassNone
Playwright ExpertJeffallan/claude-skills12k—~1.4kAutomated safety check: PassMIT
Web Testing with Playwright and Vitestwithkynam/vibecode-pro-max-kit1.1k—~892Automated safety check: PassApache-2.0
E2E Testingaiskillstore/marketplace4303 repos~942Automated safety check: PassNone

Similar skills

  • Playwright Testing

    chongdashu/vibejam-starter-pack

    Plan, implement, and debug frontend tests: unit/integration/E2E/visual/a11y.

    149 GitHub stars~2.2k tokensUpdated 5 mo ago
    Testing & QAAuto-check passed
  • Playwright Expert

    AratKruglik/claude-laravel

    A skill your agent uses when writing E2E tests with Playwright, setting up test infrastructure, or debugging flaky browser tests.

    155 GitHub stars~824 tokensUpdated 5 mo ago
    Testing & QAAuto-check passed
  • Playwright Expert

    Jeffallan/claude-skills

    Writes and debugs Playwright end-to-end tests with page objects, role-based locators, fixtures, API mocking, traces and CI setup.

    12k GitHub stars~1.4k tokensUpdated 5 days ago
    Testing & QAAuto-check passed
  • Web Testing with Playwright and Vitest

    withkynam/vibecode-pro-max-kit

    Covers web testing from unit to E2E, load, visual, accessibility and security checks, with Playwright, Vitest and k6 guides plus a Playwright setup script.

    1.1k GitHub stars~892 tokensUpdated 3 mo ago
    Testing & QAAuto-check passed
  • E2E Testing

    aiskillstore/marketplace

    End-to-end testing workflow with Playwright for browser automation, visual regression, cross-browser testing, and CI/CD integration.

    430 GitHub starsUsed in 3 repos~942 tokens
    Testing & QAAuto-check passed
  • Playwright Automation

    petrkindlmann/qa-skills

    Write production-grade Playwright tests in TypeScript: Page Object Model, fixtures, auto-waiting, user-facing locators, parallel execution, CI integration, sharding, and 2025-2026 feature awareness.

    165 GitHub stars~5.5k tokensUpdated 4 mo ago
    Testing & QAAuto-check passed

More from cin12211/orca-q

All 16 skills in this repo
  • Typescript Expert

    cin12211/orca-q

    TypeScript and JavaScript expert with deep knowledge of type-level programming, performance optimization, monorepo management, migration strategies, and modern tooling.

    224 GitHub starsUsed in 12 repos~3.7k tokens
    Auto-check passed
  • Database Expert

    cin12211/orca-q

    Database performance optimization, schema design, query analysis, and connection management across PostgreSQL, MySQL, MongoDB, and SQLite with ORM integration.

    224 GitHub stars~2.8k tokensUpdated 17 days ago
    Auto-check passed
  • Research Expert

    cin12211/orca-q

    Specialized research expert for parallel information gathering.

    224 GitHub stars~2k tokensUpdated 17 days ago
    Auto-check passed
  • Testing Orcaq

    cin12211/orca-q

    OrcaQ-specific testing guide. An agent skill from cin12211/orca-q.

    224 GitHub stars~1.6k tokensUpdated 17 days ago
    Auto-check passed
  • Postgres Expert

    cin12211/orca-q

    PostgreSQL query optimization, JSONB operations, advanced indexing strategies, partitioning, connection management, and database administration.

    224 GitHub stars~5.5k tokensUpdated 17 days ago
    Auto-check passed
  • CSS Styling Expert

    cin12211/orca-q

    CSS architecture and styling expert with deep knowledge of modern CSS features, responsive design, CSS-in-JS optimization, performance, accessibility, and design systems.

    224 GitHub stars~4.6k tokensUpdated 17 days ago
    Auto-check passed

Works with

Categories

Questions about Playwright Expert

What does Playwright Expert do?

Playwright E2E testing expert for browser automation, cross-browser testing, visual regression, network interception, and CI integration. Playwright Expert is an agent skill from cin12211/orca-q. Playwright E2E testing expert for browser automation, cross-browser testing, visual regression, network interception, and CI integration.

When should I use Playwright Expert?

Playwright Expert fits situations like: browser automation challenges; tasks that involve Browser testing; tasks that involve End-to-end testing.

How do I install Playwright Expert in Claude Code?

Run `npx skills add cin12211/orca-q --skill playwright-expert -a claude-code`. Or copy the skill folder (.agent/skills/playwright-expert in cin12211/orca-q) into .claude/skills/playwright-expert in your project. Claude Code loads it when a task matches its description.

How do I install Playwright Expert in Codex?

Run `npx skills add cin12211/orca-q --skill playwright-expert -a codex`. Or copy the skill folder (.agent/skills/playwright-expert in cin12211/orca-q) into .agents/skills/playwright-expert in your project. Codex loads it when a task matches its description.

Can I use Playwright Expert in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add cin12211/orca-q --skill playwright-expert -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/playwright-expert, .gemini/skills/playwright-expert, .github/skills/playwright-expert and .opencode/skills/playwright-expert in your project.

What does Playwright Expert need to run?

Going by SKILL.md and its folder, Playwright Expert needs the command-line tools its instructions call (npx and npm). Our summary lists: Node.js.

Does Playwright Expert access the network?

SKILL.md contains no URLs. Its commands use npx and npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Playwright Expert safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Playwright Expert use?

Playwright Expert is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Playwright Expert use?

About 1.3k tokens (SKILL.md is roughly 5.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Playwright Expert?

Skills that share tags, products or a category with Playwright Expert: Playwright Testing (chongdashu/vibejam-starter-pack, 149 stars), Playwright Expert (AratKruglik/claude-laravel, 155 stars), Playwright Expert (Jeffallan/claude-skills, 12k stars) and Web Testing with Playwright and Vitest (withkynam/vibecode-pro-max-kit, 1.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Playwright Expert?

cin12211 (a GitHub user) maintains it in cin12211/orca-q, which has 224 GitHub stars. The repository holds 16 skills in this directory. The repository was last updated on September 21, 2026.

Source: cin12211/orca-q on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.