E2

e2e-test-builder

Automates the creation of robust Playwright end-to-end tests using the Page Object Model pattern with isolated database environments.

Install

mkdir -p .claude/skills/e2e-test-builder && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/6081" && unzip -o skill.zip -d .claude/skills/e2e-test-builder && rm skill.zip

Installs to .claude/skills/e2e-test-builder

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Create Playwright E2E tests using Page Object Model pattern with database isolation
83 charsno explicit “when” trigger
Intermediate

Key capabilities

  • Isolate databases per test file
  • Implement Page Object Model for UI interactions
  • Manage test user roles for authentication flows
  • Automate UI navigation and validation
  • Run integration tests in headed or headless modes

How it works

The skill uses a helper to reset database state before each test and enforces the use of Page Object Models to encapsulate element selection and interaction.

Inputs & outputs

You give it
Test scenario requirements
You get back
Playwright test file using POM

When to use e2e-test-builder

  • Adding feature-specific E2E tests
  • Automating authentication flow testing
  • Validating UI interactions for different user roles
  • Setting up clean test environments per file

About this skill

E2E Test Builder

Use this skill when creating Playwright end-to-end tests for this project.

When to Use

  • Adding tests for a new feature
  • Testing user flows (authentication, content submission, admin actions)
  • Validating UI interactions and navigation

Key Concepts

Database Isolation

Each test file gets its own isolated database copy:

  • Call setupDatabaseIsolation(page) in beforeEach
  • Auto-detects test file name from stack trace
  • Ensures complete test independence

Page Object Model (POM)

All tests use POMs to encapsulate page interactions:

  • POMs live in tests/pages/
  • Extend BasePage for common functionality
  • Use data-testid attributes for element selection

Test Users

Three users with different permission levels:

  • admin - Full access (use for admin tests)
  • contributor - Moderator role (can moderate content)
  • viewer - Member role (read-only access)

Quick Start

import { test, expect } from '@playwright/test'
import { HomePage, ContentListPage } from '../../pages'
import { setupDatabaseIsolation } from '../../helpers/database-isolation'
import { loginAs } from '../../helpers/auth'

test.describe('My Feature', () => {
	test.beforeEach(async ({ page }) => {
		await setupDatabaseIsolation(page)
		await loginAs(page, 'admin') // if auth needed
	})

	test('can do something', async ({ page }) => {
		const homePage = new HomePage(page)
		await homePage.goto()
		// ... test logic
	})
})

Reference Files

Commands

bun run test:integration              # Run all tests
bun run test:integration:ui           # Interactive UI mode
bun run test:integration:headed       # See browser
bun test:integration tests/e2e/path   # Run specific file

Directory Structure

tests/
├── e2e/                    # Test suites by category
│   ├── public/             # Public user flows
│   ├── auth/               # Authentication flows
│   ├── content/            # Content submission
│   └── admin/              # Admin workflows
├── pages/                  # Page Object Models
├── helpers/                # Auth, database isolation
├── fixtures/               # Test data definitions
└── setup/                  # Global setup/teardown

When not to use it

  • Sharing database state between tests
  • Hardcoding selectors in test logic

Limitations

  • Requires use of data-testid attributes
  • Must follow specific directory structure

How it compares

It mandates database isolation and specific POM patterns, ensuring test independence compared to standard Playwright setups.

Compared to similar skills

e2e-test-builder side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
e2e-test-builder (this skill)17moReviewIntermediate
ui-ux-expert-skill919moReviewAdvanced
dependency-upgrade265moReviewIntermediate
vitest416moNo flagsIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

ui-ux-expert-skill

fercracix33

Technical workflow for implementing accessible React user interfaces with shadcn/ui, Tailwind CSS, and TanStack Query. Includes 6-phase process with mandatory Style Guide compliance, Context7 best practices consultation, Chrome DevTools validation, and WCAG 2.1 AA accessibility standards. Use after Test Agent, Implementer, and Supabase agents complete their work.

91244

dependency-upgrade

wshobson

Manage major dependency version upgrades with compatibility analysis, staged rollout, and comprehensive testing. Use when upgrading framework versions, updating major dependencies, or managing breaking changes in libraries.

26240

vitest

antfu

Vitest fast unit testing framework powered by Vite with Jest-compatible API. Use when writing tests, mocking, configuring coverage, or working with test filtering and fixtures.

41183

chrome-devtools

mrgoonie

Browser automation, debugging, and performance analysis using Puppeteer CLI scripts. Use for automating browsers, taking screenshots, analyzing performance, monitoring network traffic, web scraping, form automation, and JavaScript debugging.

41157

playwright-browser-automation

lackeyjb

Complete browser automation with Playwright. Auto-detects dev servers, writes clean test scripts to /tmp. Test pages, fill forms, take screenshots, check responsive design, validate UX, test login flows, check links, automate any browser task. Use when user wants to test websites, automate browser interactions, validate web functionality, or perform any browser-based testing.

29146

angular-best-practices

sickn33

Angular performance optimization and best practices guide. Use when writing, reviewing, or refactoring Angular code for optimal performance, bundle size, and rendering efficiency.

2192

Search skills

Search the agent skills registry