playwright-expert
Use when writing E2E tests with Playwright, setting up test infrastructure, or debugging flaky browser tests.
Skill by https://github.com/Jeffallan
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/jeffallan-playwright-expert
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, backend, testing, devops
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/playwright-expert
What's inside
- Skill name
playwright-expert- Description
- Use when writing E2E tests with Playwright, setting up test infrastructure, or debugging flaky browser tests. Invoke to write test scripts, create page objects, configure test fixtures, set up reporters, add CI integration, implement API mocking, or perform visual regression testing. Trigger terms: Playwright, E2E test, end-to-end, browser testing, automation, UI testing, visual testing, Page Object Model, test flakiness.
- License
- MIT
- Metadata
- role: specialist · scope: testing · author: https://github.com/Jeffallan · domain: quality · company: https://synergetic.solutions · version: 1.1.0 · triggers: Playwright, E2E test, end-to-end, browser testing, automation, UI testing, visual testing · output-format: code · related-skills: test-master, react-expert, devops-engineer
- Instructions
- 160 lines in SKILL.md · view on GitHub
Files (6)
- SKILL.md
- api-mocking.md · references/
- configuration.md · references/
- debugging-flaky.md · references/
- page-object-model.md · references/
- selectors-locators.md · references/
SKILL.md (first lines)
# Playwright Expert
E2E testing specialist with deep expertise in Playwright for robust, maintainable browser automation.
## Core Workflow
1. **Analyze requirements** - Identify user flows to test
2. **Setup** - Configure Playwright with proper settings
3. **Write tests** - Use POM pattern, proper selectors, auto-waiting
4. **Debug** - Run test → check trace → identify issue → fix → verify fix
5. **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
## Code Examples
### Selector: Role-based (correct) vs CSS class (brittle)
```typescript
// ✅ Role-based selector — resilient to styling changes
await page.getByRole('button', { name: 'Submit' }).click();
await page.getByLabel('Email address').fill('user@example.com');
// ❌ CSS class selector — breaks on refactor
await page.locator('.btn-primary.submit-btn').click();
await page.locator('.email-input').fill('user@example.com');
```
### Page Object Model + Test File
```typescript
// pages/LoginPage.ts
import { type Page, type Locator } from '@playwright/test';
export class LoginPage {
readonly page: Page;
readonly emailInput: Locator;
readonly passwordInput: Locator;
readonly submitButton: Locator;
readonly errorMessage: Locator;
constructor(page: Page) {
this.page = page;
this.emailInput = page.getByLabel('Email address');
this.passwordInput = page.getByLabel('Password');
this.submitButton = page.getByRole('button', { name: 'Sign in' });
this.errorMessage = page.getByRole('alert');
}
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();
}
}
```
```typescript
// tests/login.spec.ts
import { test, expect } from '@playwright/test';
import { LoginPage } from '../pages/LoginPage';
test.describe('Login', () => {
let loginPage: LoginPage;
test.beforeEach(async ({ page }) => {
loginPage = new LoginPage(page);
await loginPage.goto();
});
test('successful login redirects to dashboard', async ({ page }) => {
await loginPage.login('user@example.com', '<test-password>');
await expect(page).toHaveURL('/dashboard');
});
test('invalid credentials shows error', async () => {
await loginPage.login('user@example.com', '<wrong-password>');
await expect(loginPage.errorMessage).toBeVisible();
await expect(loginPage.errorMessage).toContainText('Invalid credentials');
});
});
```
### Debugging Workflow for Flaky Tests
```typescript
// 1. Run failing test with trace enabled
// playwright.config.tsFrom Jeffallan/claude-skills, MIT.
More from Jeffallan/claude-skills
- 0.862score
django-storages-s3
https://github.com/awais786
Use when configuring Django to store static and media files on AWS S3 with django-storages.
SkillAFreshness: A★ 12KClaude Code +9 - 0.697score
code-documenter
https://github.com/Jeffallan
Generates, formats, and validates technical documentation — including docstrings, OpenAPI/Swagger specs, JSDoc annotations, doc portals, and user guides.
SkillAFreshness: A★ 12KClaude Code +9 - 0.697score
api-designer
https://github.com/Jeffallan
Use when designing REST or GraphQL APIs, creating OpenAPI specifications, or planning API architecture.
SkillAFreshness: A★ 12KClaude Code +9 - 0.697score
spec-miner
https://github.com/Jeffallan
Reverse-engineering specialist that extracts specifications from existing codebases.
SkillAFreshness: A★ 12KClaude Code +9 - 0.697score
cpp-pro
https://github.com/Jeffallan
Writes, optimizes, and debugs C++ applications using modern C++20/23 features, template metaprogramming, and high-performance systems techniques.
SkillAFreshness: A★ 12KClaude Code +9 - 0.697score
angular-architect
https://github.com/Jeffallan
Generates Angular 17+ standalone components, configures advanced routing with lazy loading and guards, implements NgRx state management, applies RxJS…
SkillAFreshness: A★ 12KClaude Code +9 - 0.697score
fullstack-guardian
https://github.com/Jeffallan
Builds security-focused full-stack web applications by implementing integrated frontend and backend components with layered security at every level.
SkillAFreshness: A★ 12KClaude Code +9 - 0.697score
architecture-designer
https://github.com/Jeffallan
Use when designing new high-level system architecture, reviewing existing designs, or making architectural decisions.
SkillAFreshness: A★ 12KClaude Code +9 - 0.697score
atlassian-mcp
https://github.com/Jeffallan
Integrates with Atlassian products to manage project tracking and documentation via MCP protocol.
SkillAFreshness: A★ 12KClaude Code +9 - 0.697score
chaos-engineer
https://github.com/Jeffallan
Designs chaos experiments, creates failure injection frameworks, and facilitates game day exercises for distributed systems — producing runbooks, experiment…
SkillAFreshness: A★ 12KClaude Code +9 - 0.697score
cli-developer
https://github.com/Jeffallan
Use when building CLI tools, implementing argument parsing, or adding interactive prompts.
SkillAFreshness: A★ 12KClaude Code +9 - 0.697score
cloud-architect
https://github.com/Jeffallan
Designs cloud architectures, creates migration plans, generates cost optimization recommendations, and produces disaster recovery strategies across AWS…
SkillAFreshness: A★ 12KClaude Code +9
Signals
- Stars
- 12,039
- Forks
- 1,151
- Open issues
- 32
- Last commit (this folder)
- Oct 15, 2026 (13 days ago)
- Last release
- Oct 16, 2026 (12 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 1.1.0
- License
- MIT
- Repository
- github.com/Jeffallan/claude-skills
- Website
- jarvisaios.vercel.app
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
More from https://github.com/Jeffallan
- 0.697score
angular-architect
https://github.com/Jeffallan
Generates Angular 17+ standalone components, configures advanced routing with lazy loading and guards, implements NgRx state management, applies RxJS…
SkillAFreshness: A★ 12KClaude Code +9 - 0.697score
spec-miner
https://github.com/Jeffallan
Reverse-engineering specialist that extracts specifications from existing codebases.
SkillAFreshness: A★ 12KClaude Code +9 - 0.697score
cpp-pro
https://github.com/Jeffallan
Writes, optimizes, and debugs C++ applications using modern C++20/23 features, template metaprogramming, and high-performance systems techniques.
SkillAFreshness: A★ 12KClaude Code +9 - 0.697score
code-documenter
https://github.com/Jeffallan
Generates, formats, and validates technical documentation — including docstrings, OpenAPI/Swagger specs, JSDoc annotations, doc portals, and user guides.
SkillAFreshness: A★ 12KClaude Code +9 - 0.697score
fullstack-guardian
https://github.com/Jeffallan
Builds security-focused full-stack web applications by implementing integrated frontend and backend components with layered security at every level.
SkillAFreshness: A★ 12KClaude Code +9 - 0.697score
api-designer
https://github.com/Jeffallan
Use when designing REST or GraphQL APIs, creating OpenAPI specifications, or planning API architecture.
SkillAFreshness: A★ 12KClaude Code +9
Cite this page
playwright-expert skill. Agent Mart. https://agentmart.dev/skills/jeffallan-playwright-expert (last updated 2026-10-24)