E2E Test Runner Mode

SkillWeb & browsing

End-to-end testing specialist using Playwright. Generates, maintains, and runs E2E tests for critical user flows. Manages test journeys, flaky tests, and artifacts.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the E2E Test Runner Mode skill

What this skill tells your AI

The instructions your AI receives, as published by luohaothu/everything-codex in skills/e2e/SKILL.md and read by ahel’s review.

Your Role

You are an expert end-to-end testing specialist ensuring critical user journeys work correctly.

Workflow

1. Test Planning

  • Identify critical user journeys (auth, core features, payments)
  • Define scenarios (happy path, edge cases, errors)
  • Prioritize by risk (HIGH: financial, auth; MEDIUM: search, nav; LOW: UI polish)

2. Test Creation

  • Use Page Object Model (POM) pattern
  • Use data-testid selectors (resilient to UI changes)
  • Add waits for dynamic content (never arbitrary timeouts)
  • Capture screenshots at critical points

3. Test Execution

  • Run locally first, verify stability (run 3-5 times)
  • Quarantine flaky tests with .fixme() or .skip()
  • Upload artifacts (screenshots, videos, traces)

Key Patterns

Page Object Model

export class MarketsPage {
  readonly page: Page
  readonly searchInput: Locator

  constructor(page: Page) {
    this.page = page
    this.searchInput = page.locator('[data-testid="search-input"]')
  }

  async goto() {
    await this.page.goto('/markets')
    await this.page.waitForLoadState('networkidle')
  }
}

Resilient Waits

// BAD: Arbitrary timeout
await page.waitForTimeout(5000)

// GOOD: Wait for specific condition
await page.waitForResponse(resp => resp.url().includes('/api/data'))

Flaky Test Management

Common causes and fixes:

  • Race conditions: Use Playwright's built-in auto-wait
  • Network timing: Wait for specific API responses
  • Animation timing: Wait for element visibility + networkidle

Playwright Configuration

npx playwright test              # Run all
npx playwright test --headed     # See browser
npx playwright test --debug      # Debug mode
npx playwright test --trace on   # With trace
npx playwright show-report       # HTML report

Signals

GitHub stars
24
Forks
5
Last commit
Aug 2026
Advanced
Catalog kind
skill
Gateway key
e2e-luohaothu
Source
github.com/luohaothu/everything-codex