Nean e2e
A collection of Claude Code skills for iOS, MERN, NEAN, and shared development workflows
npx -y skills add edfenton/claude-skills --skill nean-e2eAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Manage Playwright E2E tests for critical user journeys.
SKILL.md
3.3 KB, as published. Nobody here has run it
Purpose
Create, run, and maintain E2E tests for critical user flows using Playwright.
Arguments
--add <journey>— Create new journey test (e.g.,signup-flow,checkout)--run— Run all E2E tests--run <pattern>— Run tests matching pattern--report— Generate and display HTML report--fix— Fix flaky tests with approval
Test organization
apps/web-e2e/
├── src/
│ ├── journeys/ # User journey tests
│ │ ├── auth.spec.ts # Sign up, sign in, sign out
│ │ ├── onboarding.spec.ts # First-time user flow
│ │ └── <feature>.spec.ts # Feature-specific journeys
│ ├── fixtures/ # Test fixtures and helpers
│ │ ├── auth.fixture.ts # Auth helpers (login as user)
│ │ └── db.fixture.ts # Database seeding
│ └── pages/ # Page Object Models
│ ├── home.page.ts
│ └── settings.page.ts
├── playwright.config.ts # Playwright configuration
└── .env.test # Test environment
Journey naming
auth— Authentication flows (signup, signin, signout, password reset)onboarding— First-time user experience<feature>-crud— Create, read, update, delete for a feature<feature>-workflow— Multi-step workflowscheckout— Payment/purchase flowssettings— User settings and preferences
Commands
# Run all E2E tests
npm run e2e
# Run specific journey
npm run e2e -- --grep "auth"
# Run in headed mode (watch)
npm run e2e -- --headed
# Run with UI mode
npm run e2e -- --ui
# Generate report
npm run e2e -- --reporter=html && npx playwright show-report
Workflow
Adding a journey (--add)
- Create test file in
src/journeys/<journey>.spec.ts - Create page objects if needed
- Add fixtures for test data
- Run to verify
- Add to CI if not already included
Running tests (--run)
- Ensure dev servers are running or use webServer config
- Execute tests
- Report results with pass/fail counts
- Highlight flaky tests (passed on retry)
Fixing flaky tests (--fix)
- Identify flaky tests from reports
- Analyze failure patterns
- Propose fixes (with approval):
- Add explicit waits
- Improve selectors
- Fix race conditions
- Mock unstable dependencies
- Re-run to confirm fix
Best practices enforced
- Use
data-testidfor stable selectors - Avoid time-based waits (
page.waitForTimeout) - Isolate tests (no shared state)
- Reset database state between tests
- Use page object models for reusability
- Test against both light and dark themes
Angular-specific patterns
// Wait for Angular to stabilize
await page.waitForSelector('app-root:not(.loading)');
// Use data-testid attributes
await page.click('[data-testid="submit-button"]');
// Wait for PrimeNG components
await page.waitForSelector('.p-datatable-tbody tr');
Output
- Test results (pass/fail/flaky counts)
- Failure details with screenshots
- Report location
Reference
For Playwright setup and patterns, see reference/nean-e2e-reference.md