Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Generate e2e test suites using Playwright, Cypress, or Selenium with page objects, accessibility checks, visual regression, and cross-browser testing
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 64% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 191% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 37% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 99% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 18% | 0% |
Trigger conditions:
Scope: Generates production-ready test suites with framework-specific best practices, reusable page models, accessibility checks, and CI integration. Supports Playwright (recommended), Cypress, and Selenium WebDriver.
Not for: Unit tests, API tests (use dedicated skills), performance testing, or load testing.
Required before execution:
NOW_ET using NIST/time.gov semantics (America/New_York, ISO-8601)framework must be one of: playwright, cypress, seleniumapplication_type must be one of: web, spa, mobile-webtest_scope must be one of: smoke, critical-path, full-regressionfeatures array must not be empty (if provided)accessibility_level valid for WCAG standardsNOW_ET)NOW_ET)NOW_ET)NOW_ET)Abort if: Framework choice conflicts with application_type (e.g., Selenium for component testing), or accessibility_level requirements exceed framework capabilities.
Fast path for 80% of common cases:
Output: Working test suite with 1-3 smoke tests, reusable page object pattern, runnable locally.
Extended validation with accessibility and visual regression:
loginAsAdmin(), createEntity())await expect(page).toPassA11yChecks({ wcagLevel: 'AA' })Output: Comprehensive test suite with 10-20 tests covering critical paths, accessibility validation, visual regression, and multi-browser support.
Deep dive for production deployment:
--shard=1/4)Output: Production-ready test suite with CI integration, parallel execution, comprehensive reporting, and flaky test handling. Ready for continuous deployment pipelines.
Framework selection matrix:
| Requirement | Playwright | Cypress | Selenium | |------------|-----------|---------|----------| | Modern web/SPA | ✓ Best | ✓ Good | ○ OK | | Component testing | ○ Limited | ✓ Best | ✗ No | | Cross-browser (built-in) | ✓ Yes | ○ Chromium-only free | ✓ Yes | | Mobile emulation | ✓ Excellent | ✓ Good | ○ Limited | | Network interception | ✓ Built-in | ✓ Built-in | ✗ Requires proxy | | Debugging DX | ✓ Excellent | ✓ Excellent | ○ Basic | | Legacy browser support | ○ Limited | ✗ No | ✓ Yes |
Test scope thresholds:
Accessibility validation thresholds:
Abort conditions:
Required fields:
typescript{ test_suite: { files: string[], // Array of generated test file paths framework_config: object, // Framework-specific config object test_count: number, // Total number of test scenarios coverage_areas: string[] // List of tested features }, page_objects: { models: Array<{ // Page object classes name: string, path: string, methods: string[] }>, helpers: Array<{ // Utility functions name: string, description: string }> }, ci_config: { pipeline_file: string, // Path to CI config (e.g., .github/workflows/e2e.yml) parallelization_strategy: string, // "sharding" | "splitting" | "grid" browser_matrix: string[], // ["chromium", "firefox", "webkit"] estimated_duration_minutes: number }, a11y_checks: { rules: Array<{ // axe-core rules configuration id: string, impact: "critical" | "serious" | "moderate" | "minor" }>, compliance_level: "wcag-a" | "wcag-aa" | "wcag-aaa", reporter: string, // HTML, JSON, or custom violation_handling: "fail" | "warn" | "log" } }
Optional fields:
visual_regression: Screenshot comparison configurationtest_data: Fixture file paths and seeding strategiesenvironment_config: Environment-specific variables (staging, production)Example 1: Playwright Admin Dashboard Test (≤30 lines)
typescriptimport { test, expect } from '@playwright/test'; import { LoginPage } from '../pages/login-page'; import { DashboardPage } from '../pages/dashboard-page'; import { injectAxe, checkA11y } from 'axe-playwright'; test.describe('Admin Dashboard E2E', () => { test('authenticated user can view and create entities with WCAG AA compliance', async ({ page }) => { const loginPage = new LoginPage(page); await loginPage.navigate(); await loginPage.login('admin@example.com', process.env.ADMIN_PASSWORD); const dashboard = new DashboardPage(page); await expect(dashboard.welcomeMessage).toContainText('Welcome, Admin'); await injectAxe(page); await checkA11y(page, null, { detailedReport: true, wcagLevel: 'AA' }); await dashboard.clickCreateButton(); await dashboard.fillEntityForm({ name: 'Test Entity', type: 'Standard' }); await dashboard.submitForm(); await expect(dashboard.successToast).toBeVisible(); await expect(dashboard.entityList).toContainText('Test Entity'); await expect(page).toHaveScreenshot('dashboard-with-entity.png'); }); });
See /skills/e2e-testing-generator/examples/ for additional patterns and page object implementations.
Token budgets (enforced):
Safety checks:
Auditability requirements:
Determinism checks:
cy.wait(5000) or page.waitForTimeout(5000) without justificationPerformance criteria:
Official Documentation:
Best Practices and Patterns:
CI/CD Integration Examples:
Visual Regression Tools:
Other measured skills in the registry, with their headline benchmark lift.