examples/new/.opencode/skills/e2e-playwright/SKILL.md
Playwright E2E execution rules - domain-oriented specs, shared auth setup/storageState, idempotent zero-flake runs, verify-email-disabled support, and canonical Mailgun local email path
npx skillsauth add aexol-studio/axolotl e2e-playwrightInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Domain-oriented specs
tests/auth/*, tests/settings/*, tests/notes/*), not by tiny assertion fragments.Hybrid auth strategy (speed + isolation)
tests/auth.setup.ts and reuse storageState in chromium-auth.storageState: { cookies: [], origins: [] }) as primary wording; storageState: undefined is also acceptable.Suite cleanup lifecycle is mandatory
globalSetup + globalTeardown.Performance + idempotency + zero-flake
Verify-email-disabled support is mandatory
Mailgun local mode canonical wording
/temp/emails.Always force local email mode during E2E
EMAIL_MODE=local (including CI), even if external env sets EMAIL_MODE=mailgun./temp/emails.backend/src/config/env.ts.Mandatory AI rule for code changes
storageStatestorageState objectglobalSetup + globalTeardownEMAIL_MODE=local (incl. CI)/temp/emailstools
Baseline architecture for Axolotl mobile starter (Expo Router + reusable blocks)
tools
Expo Router conventions for route groups, native headers, and starter navigation
development
i18n baseline and dev-translate setup for Expo mobile starter
development
Starter data layer pattern with React Query + Zeus for Expo app