e2e-testing-for-webapps
E2E testing for Next.js + Playwright + Supabase.
Skill by danzam98
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/danzam98-e2e-testing-for-webapps
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: frontend, testing, security
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Shell scripts
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/e2e-testing-for-webapps
What's inside
- Skill name
e2e-testing-for-webapps- Description
- E2E testing for Next.js + Playwright + Supabase. OAuth bypass via test users, interactive debugging, visual QA. Use when: E2E, Playwright, visual regression, Electron testing.
- License
- MIT
- Instructions
- 365 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Agent Skills spec issues
- files: referenced but missing: scripts/provision-e2e-test-users.ts, scripts/reset-e2e-test-user.ts
Files (15)
- SKILL.md
- ADVANCED-TECHNIQUES.md · references/
- AI-VISUAL-ANALYSIS.md · references/
- AUTHENTICATION.md · references/
- CONSOLE-MONITORING.md · references/
- DIAGNOSTIC-TOOLS.md · references/
- FAILURE-INJECTION.md · references/
- INTERACTIVE-SESSIONS.md · references/
- PAGE-OBJECTS.md · references/
- QUICK-REFERENCE.md · references/
- REPORTING.md · references/
- SCREENSHOTS.md · references/
- SYSTEMATIC-TESTING.md · references/
- VISUAL-QA.md · references/
- validate-e2e.sh · scripts/
SKILL.md (first lines)
# E2E Testing for Web & Electron Apps
> **Two modes:** Batch testing (CI/test suites) and Interactive debugging (persistent browser sessions for iterative QA). Both share the same QA methodology.
> **Stack:** Next.js 16 + Playwright + Supabase Auth + agent-native vision
## Architecture
```
┌──────────────────────────────────────────────────────────────────────────┐
│ E2E TESTING ARCHITECTURE │
├──────────────────────────────────────────────────────────────────────────┤
│ │
│ MODE 1: BATCH (CI / Test Suites) │
│ ═══════════════════════════════ │
│ Playwright Test runner → auth setup → test specs → reports │
│ ✓ Headless CI ✓ Parallel workers ✓ Retries ✓ Artifacts │
│ │
│ MODE 2: INTERACTIVE (Debugging / Iterative QA) │
│ ═══════════════════════════════════════════════ │
│ Persistent browser session → live reload → functional QA → visual QA │
│ ✓ Desktop/Mobile/Electron ✓ Session reuse ✓ Screenshot analysis │
│ │
│ SHARED INFRASTRUCTURE │
│ ═════════════════════ │
│ 1. Auth bypass: Supabase test users with email/password (no OAuth) │
│ 2. Console monitoring: capture runtime, network, hydration errors │
│ 3. Page Objects: BasePage → DashboardPage, SettingsPage, etc. │
│ 4. AI visual analysis: Screenshots → agent-native vision → QA │
│ 5. Diagnostic tools: DOM health check, layout snapshot diff, styles │
│ 6. Failure injection: network, input stress, state corruption │
│ 7. QA methodology: inventory → functional QA → visual QA → signoff │
│ │
└──────────────────────────────────────────────────────────────────────────┘
```
---
## Quick Start: Batch Testing
```bash
# 1. Install Playwright
bun add -D @playwright/test && bunx playwright install chromium
# 2. Create test user in Supabase (bypasses Google OAuth)
bun scripts/provision-e2e-test-users.ts --user=primary
# 3. Run tests against production
E2E_TEST_EMAIL=test@app.test E2E_TEST_PASSWORD=xxx bun run test:e2e:prod
```
## Quick Start: Interactive Debugging
```bash
# 1. Install Playwright (npm for js_repl compat, bun for everything else)
test -f package.json || npm init -y
npm install playwright
npx playwright install chromium
# 2. Bootstrap persistent session (js_repl, Node REPL, or script)
node -e "import('playwright').then(() => console.log('ready'))"
```
Then launch a browser and start testing — see [INTERACTIVE-SESSIONS.md](references/INTERACTIVE-SESSIONS.md).
---
## The Google OAuth Bypass
**Problem:** Google blocks automated logins (CAPTCHA, headless detection).
**Solution:** Create test users with email/password auth in Supabase — same app, different auth method.
```typescript
// Sign in via Supabase (NOT Google OAuth)
const { data, error } = await supabase.auth.signInWithPassword({
email: process.env.E2E_TEST_EMAIL, // e2e-test@app.test
password: process.env.E2E_TEST_PASSWORD,
});
// Inject session cookies into browser context
await context.addCookies([
{ name: 'sb-access-token', value: data.session.access_token, domain: '...', ... },
]);
```
**Why `.test` TLD?** IANA-reserved, never resolves — test emails can't leak to real inboxes.
**Deep dive:** [AUTHENTICATION.md](references/AUTHENTICATION.md)
---
## QA Inventory Methodology
Before testing, build a coverage list from **three sources:**
1. **User's requested requirements** — what was asked for
2. **Implemented features/behaviors** — what you actually built
3. **Claims in the final response** — what you intend to sign off on
Everything in any of those three sources must map to at least one QA check.
For each item, note:
- The intended functional check (user input → expected result)
- The specific state where visual check must happen
- The evidence to capture (screenshot, assertion)
Add at least **2 exploratory/off-happy-path scenarios** that could expose fragile behavior.
Update the inventory during testing if exploration reveals additional controls, states, or claims.
---
## Workflow
### Batch Mode Phases
| Phase | Steps |
|-------|-------|
| **1. Setup** | Install Playwright, create test users, configure storage state |From danzam98/claude-skills-toolkit, MIT.
More from danzam98/claude-skills-toolkit
- 0.502score
ga4
danzam98
Configure GA4 + GTM for Next.js SaaS: funnel tracking, scroll depth, CTA clicks, conversions, feature usage.
SkillCFreshness: C★ 1Claude Code +9 - 0.502score
ab-testing
danzam98
Build home-rolled A/B testing platform for Next.js 16 SaaS.
SkillCFreshness: C★ 1Claude Code +9 - 0.437score
admin-page-for-nextjs-sites
danzam98
Design cohesive Next.js SaaS admin cockpits.
SkillDFreshness: D★ 1Claude Code +9 - 0.437score
beads-workflow
danzam98
Convert markdown plans into beads with dependencies using br CLI.
SkillDFreshness: D★ 1Claude Code +9 - 0.426score
deep-project-primer
danzam98
Essential first step to fully understand a project before any work
SkillDFreshness: D★ 1Claude Code +9 - 0.426score
e2e-pipeline-validator
danzam98
Prove the entire system works with real data, no mocks allowed
SkillDFreshness: D★ 1Claude Code +9 - 0.426score
de-slopify
danzam98
Remove telltale AI writing patterns from documentation and text
SkillDFreshness: D★ 1Claude Code +9 - 0.426score
agent-swarm-launcher
danzam98
Initialize multiple agents with full context and coordination protocols
SkillDFreshness: D★ 1Claude Code +9 - 0.426score
git-committer
danzam98
Intelligently commit all changed files in logical groupings with detailed messages
SkillDFreshness: D★ 1Claude Code +9 - 0.426score
bug-hunter
danzam98
Explore codebase with fresh eyes to find and fix obvious bugs and issues
SkillDFreshness: D★ 1Claude Code +9 - 0.426score
cli-error-tolerance
danzam98
Make CLI tools forgiving of minor syntax issues for agent ergonomics
SkillDFreshness: D★ 1Claude Code +9 - 0.426score
deep-performance-audit
danzam98
Systematic identification of optimization opportunities with proof requirements
SkillDFreshness: D★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Apr 8, 2026 (6 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from danzam98
- 0.502score
ga4
danzam98
Configure GA4 + GTM for Next.js SaaS: funnel tracking, scroll depth, CTA clicks, conversions, feature usage.
SkillCFreshness: C★ 1Claude Code +9 - 0.502score
ab-testing
danzam98
Build home-rolled A/B testing platform for Next.js 16 SaaS.
SkillCFreshness: C★ 1Claude Code +9 - 0.437score
admin-page-for-nextjs-sites
danzam98
Design cohesive Next.js SaaS admin cockpits.
SkillDFreshness: D★ 1Claude Code +9 - 0.437score
beads-workflow
danzam98
Convert markdown plans into beads with dependencies using br CLI.
SkillDFreshness: D★ 1Claude Code +9 - 0.426score
deep-project-primer
danzam98
Essential first step to fully understand a project before any work
SkillDFreshness: D★ 1Claude Code +9 - 0.426score
deep-performance-audit
danzam98
Systematic identification of optimization opportunities with proof requirements
SkillDFreshness: D★ 1Claude Code +9
Cite this page
e2e-testing-for-webapps skill. Agent Mart. https://agentmart.dev/skills/danzam98-e2e-testing-for-webapps (last updated 2026-10-24)