e2elisted
Install: claude install-skill arbazkhan971/godmode
# E2E — End-to-End Testing
## Activate When
- User invokes `/godmode:e2e`
- User says "end to end", "end-to-end", "e2e test", "user flow test", "checkout flow"
- User says "E2E test", "browser test", "integration test"
- User asks about Playwright, Cypress, or Selenium
- User needs to fix flaky E2E tests
- Ship skill needs user-flow validation
## Workflow
### Step 1: Assess E2E Test State
```bash
# Find existing E2E tests
find . -name "*.e2e.*" -o -name "*.spec.*" \
| grep -i -E "e2e|playwright|cypress" \
| grep -v node_modules
# Check for test framework config
ls playwright.config.* cypress.config.* wdio.conf.* \
2>/dev/null
# Count existing test files
find e2e/ tests/ -name "*.spec.ts" 2>/dev/null | wc -l
```
```
E2E TEST STATE:
Framework: <Playwright | Cypress | Selenium | none>
Config file: <path or none>
Test count: <N>
Page objects: <N> (or none)
Flaky tests: <N known flaky | unknown>
IF test count == 0: scaffold from scratch
IF test count > 0 AND flaky > 3: prioritize remediation
IF framework == none: default to Playwright
```
### Step 2: Design Test Architecture
```
e2e/
├── tests/ # By feature
│ ├── auth/
│ │ ├── login.spec.ts
│ │ └── registration.spec.ts
│ ├── checkout/
│ │ ├── cart.spec.ts
│ │ └── payment.spec.ts
│ └── dashboard/
│ └── navigation.spec.ts
├── pages/ # Page Object Models
│ ├── base.page.ts
│ ├── login.page.ts
│ └── dashboard.page.ts
└── fixtures/
└── test-data.ts
```
#