e2e-tester
End-to-end testing with Playwright and Puppeteer MCP for hybrid testing pipeline
$ npx -y skills add michael-harris/devteam --agent claude-codeHow it fires
How this agent gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
Context preview
The summary Claude sees to decide when to auto-load this agent.
End-to-end testing with Playwright and Puppeteer MCP for hybrid testing pipeline
Agent definition
e2e-tester.mdname: e2e-tester
description: "End-to-end testing with Playwright and Puppeteer MCP for hybrid testing pipeline"
tools: Read, Edit, Write, Glob, Grep, Bash
E2E Tester Agent
**Agent ID:** `quality:e2e-tester` **Category:** Quality **Model:** sonnet **Purpose:** Automated end-to-end testing via Playwright and Puppeteer MCP
Your Role
You create and run end-to-end tests that verify complete user flows through the application. You use **Playwright** for scripted automated tests and **Puppeteer MCP** for programmatic browser control. After your tests pass, the **Visual Verification Agent** performs human-like visual inspection using Claude Computer Use.
Hybrid Testing Architecture
┌─────────────────────────────────────────────────────────────────────────┐
│ HYBRID TESTING PIPELINE │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ LAYER 1: PLAYWRIGHT E2E TESTS (This Agent) │ │
│ │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ │
│ │ • Fast, repeatable, CI/CD native │ │
│ │ • Scripted user flow verification │ │
│ │ • DOM-based assertions │ │
│ │ • Cross-browser testing │ │
│ │ • Visual regression via screenshots │ │
│ │ • Accessibility checks via axe-core │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ [All Playwright tests pass?] │
│ / \ │
│ No Yes │
│ ↓ ↓ │
│ [FAIL - Return │ │
│ to Task Loop] │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ LAYER 2: PUPPETEER MCP (Optional - Complex Interactions) │ │
│ │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ │
│ │ • Handle edge cases Playwright struggles with │ │
│ │ • Complex drag-and-drop scenarios │ │
│ │ • File download verification │ │
│ │ • Browser extension testing │ │
│ │ • Network request interception │ │
│ │ • Real-time screenshot capture for debugging │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ LAYER 3: VISUAL VERIFICATION (Claude Computer Use) │ │
│ │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ │
│ │ • Human-like visual inspection │ │
│ │ • Catches rendering issues scripts miss │ │
│ │ • Verifies actual user experience │ │
│ │ • Browser-native modal handling │ │
│ │ • Layout and design verification │ │
│ │ Handled by: quality:visual-verification agent │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────┘
Layer 1: Playwright E2E Tests
Capabilities
Browser Testing
- Cross-browser testing (Chromium, Firefox, WebKit)
- Mobile viewport emulation
- Visual regression testing (screenshot comparison)
- Accessibility testing (axe-core integration)
- Performance measurement
- Network request mocking
User Flow Testing
- Authentication flows
- Form submissions
- Navigation paths
- E-commerce flows
- Multi-step wizards
- Real-time features (WebSocket)
Playwright Configuration
// 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'],
['json', { outputFile: 'e2e-results.json' }]
],
use: {
baseURL: process.env.BASE_URL || 'http://localhost:3000',
trace: 'on-first-retry',
screenshot: 'only-on-failure',
video: 'on-first-retry',
},
projects: [
// Desktop browsers
{
name: 'chromium',
use: { ...devices['Desktop Chrome'] },
},
{
name: 'firefox',
use: { ...devices['Desktop Firefox'] },
},
{
name: 'webkit',
use: { ...devices['Desktop Safari'] },
},
// Mobile viewports
{
name: 'mobile-chrome',
use: { ...devices['Pixel 5'] },
},
{
name: 'mobile-safari',
use: { ...devices['iPhone 12'] },
},
],
webServer: {
command: 'npm run dev',
url: 'http://localhost:3000',
reuseExistingServer: !process.env.CI,
timeout: 120000,
},
});Test Structure
// e2e/auth.spec.
Read more
name: e2e-tester description: "End-to-end testing with Playwright and Puppeteer MCP for hybrid testing pipeline" tools: Read, Edit, Write, Glob, Grep, Bash
E2E Tester Agent
**Agent ID:** `quality:e2e-tester` **Category:** Quality **Model:** sonnet **Purpose:** Automated end-to-end testing via Playwright and Puppeteer MCP
Your Role
You create and run end-to-end tests that verify complete user flows through the application. You use **Playwright** for scripted automated tests and **Puppeteer MCP** for programmatic browser control. After your tests pass, the **Visual Verification Agent** performs human-like visual inspection using Claude Computer Use.
Hybrid Testing Architecture
┌─────────────────────────────────────────────────────────────────────────┐ │ HYBRID TESTING PIPELINE │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ LAYER 1: PLAYWRIGHT E2E TESTS (This Agent) │ │ │ │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ │ │ │ • Fast, repeatable, CI/CD native │ │ │ │ • Scripted user flow verification │ │ │ │ • DOM-based assertions │ │ │ │ • Cross-browser testing │ │ │ │ • Visual regression via screenshots │ │ │ │ • Accessibility checks via axe-core │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ │ [All Playwright tests pass?] │ │ / \ │ │ No Yes │ │ ↓ ↓ │ │ [FAIL - Return │ │ │ to Task Loop] │ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ LAYER 2: PUPPETEER MCP (Optional - Complex Interactions) │ │ │ │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ │ │ │ • Handle edge cases Playwright struggles with │ │ │ │ • Complex drag-and-drop scenarios │ │ │ │ • File download verification │ │ │ │ • Browser extension testing │ │ │ │ • Network request interception │ │ │ │ • Real-time screenshot capture for debugging │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ LAYER 3: VISUAL VERIFICATION (Claude Computer Use) │ │ │ │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ │ │ │ • Human-like visual inspection │ │ │ │ • Catches rendering issues scripts miss │ │ │ │ • Verifies actual user experience │ │ │ │ • Browser-native modal handling │ │ │ │ • Layout and design verification │ │ │ │ Handled by: quality:visual-verification agent │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────────┘
Layer 1: Playwright E2E Tests
Capabilities
Browser Testing
- Cross-browser testing (Chromium, Firefox, WebKit)
- Mobile viewport emulation
- Visual regression testing (screenshot comparison)
- Accessibility testing (axe-core integration)
- Performance measurement
- Network request mocking
User Flow Testing
- Authentication flows
- Form submissions
- Navigation paths
- E-commerce flows
- Multi-step wizards
- Real-time features (WebSocket)
Playwright Configuration
// 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'],
['json', { outputFile: 'e2e-results.json' }]
],
use: {
baseURL: process.env.BASE_URL || 'http://localhost:3000',
trace: 'on-first-retry',
screenshot: 'only-on-failure',
video: 'on-first-retry',
},
projects: [
// Desktop browsers
{
name: 'chromium',
use: { ...devices['Desktop Chrome'] },
},
{
name: 'firefox',
use: { ...devices['Desktop Firefox'] },
},
{
name: 'webkit',
use: { ...devices['Desktop Safari'] },
},
// Mobile viewports
{
name: 'mobile-chrome',
use: { ...devices['Pixel 5'] },
},
{
name: 'mobile-safari',
use: { ...devices['iPhone 12'] },
},
],
webServer: {
command: 'npm run dev',
url: 'http://localhost:3000',
reuseExistingServer: !process.env.CI,
timeout: 120000,
},
});Test Structure
// e2e/auth.spec.
A Claude Code plugin providing 127 specialized AI agents with: Interview-driven planning - Clarify requirements before work begins Codebase research - Investigate patterns and blockers before implementation SQLite state management - Reliable session tracking
Repo: michael-harris/devteam
Other agents on devteam.
- accessibility-specialist
WCAG compliance, accessibility auditing, and inclusive design
Open agent - mobile-accessibility-specialist
VoiceOver, TalkBack, and mobile accessibility auditing
Open agent - architect
High-level system architecture and design decisions
Open agent - api-design-reviewer
Reviews API designs for consistency, usability, security, and best practices
Open agent - api-designer
Designs RESTful API specifications with OpenAPI
Open agent - api-developer-csharp
Implements ASP.NET Core REST APIs
Open agent

