Claude-skill-registry e2e-production
Production E2E testing for The Simpsons API using Chrome DevTools MCP for browser automation and Neon MCP for real-time database verification. Covers smoke journeys, mutation validation, and deployment sanity checks. Use when the user asks to run, design, or validate E2E tests against the production site, verify live deployments, or perform post-deploy checks.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/e2e-production" ~/.claude/skills/majiayu000-claude-skill-registry-e2e-production && rm -rf "$T"
manifest:
skills/data/e2e-production/SKILL.mdsource content
Production E2E Skill (Browser + DB Correlation)
Safety rules
- Prefer read-only checks; do not mutate production data unless the user explicitly approves.
- Database Safety: When verifying mutations in Neon, use targeted
statements. Never runSELECT
orUPDATE
in production via MCP unless part of a user-sanctioned cleanup.DELETE - Use a dedicated test account and tag any created data for cleanup.
- Avoid load testing or high concurrency in production.
- Record timestamp, base URL, and build/commit metadata when available.
Tooling Integration
1. Browser Automation (Chrome DevTools MCP)
- Use
,navigate
,click
, andtype
to simulate user journeys.fill_form - Capture
to detect runtime errors (React hydration, 404s, 500s).console_messages - Use
for fast, text-based verification of the DOM and accessibility tree.take_snapshot
2. Database State Contrast (Neon MCP)
- MANDATORY CORRELATION: For every UI mutation, perform a corresponding query in Neon to verify the persistence layer.
- Schema Awareness: Always prefix tables with
(e.g.,the_simpson.
) to bypassthe_simpson.characters
limitations.search_path - Verification Pattern:
(Submit Form)browser.click
(Success Message)browser.wait_for_selector
(SELECT * FROM table WHERE id = ...)neon.run_sql- Compare UI state vs DB result.
Preconditions
- Resolve the production base URL from
or explicit user input.NEXT_PUBLIC_APP_URL - Ensure credentials exist in env (
,E2E_TEST_EMAIL
, and any OTP secret if required).E2E_TEST_PASSWORD - Confirm third-party rate limits when tests rely on external APIs.
Default discovery scope (read-only)
- Start at the base URL and validate initial render.
- Discover navigation entry points (header, footer, menus, CTAs) and explore them.
- Identify public vs. protected sections based on redirects or access prompts.
- If login is required, authenticate with the dedicated test user.
- Traverse list-to-detail patterns and capture representative pages.
- Prefer read-only flows; avoid any action that implies a write.
- Track visited routes and stop when navigation loops or no new routes appear.
Optional mutation scope (explicit approval required)
- Any create/update/delete flows discovered by the agent.
- Form Integrity: Ensure ALL fields in a form are filled according to their types (selects, multiline text, etc.) to test database schema constraints and UI validation.
- Diary Entries: Create a new memory, filling all fields (Who, Where, What), verify it appears in the timeline with accurate data, verify the record in
using Neon MCP, and finally delete it (verifying deletion in both UI and DB).the_simpson.diary_entries - Collections: Create a new collection (Name, Description), verify success, check the
table, and delete it if UI allows (otherwise mark for DB cleanup).the_simpson.collections - Social Actions: Test Following/Unfollowing characters or users; verify row existence/removal in
.the_simpson.follows - Sync Triggers: Trigger data synchronization and verify UI feedback + check
or equivalent for execution logs.the_simpson.jobs_metadata
Workflow
- Initialization: Resolve production URL and activate
tools.chrome-devtools - Discovery (Read-Only): Run a discovery-based traversal using
andnavigate_page
. Capture browser console errors and network 4xx/5xx responses.take_snapshot - Database Baseline: Identify the tables involved in the planned mutations and run a baseline query in Neon to check current counts or specific records.
- Mutation & Contrast (Approved ONLY):
- Execute the mutation flow in the browser (e.g.,
+fill_form
).click - Immediately after the UI confirms success, execute a SQL query in Neon to "contrast" the UI state with the persisted data.
- Fail the test if the UI says "Success" but the DB doesn't reflect the change (or vice versa).
- Execute the mutation flow in the browser (e.g.,
- Cleanup: Ensure any created data is deleted via the UI, and verify the DB is back to its baseline state.
- Summarize: Provide a report including pass/fail status, console errors, and the results of the UI vs. DB state contrast.
References
- For specific table schemas, see app/_lib/db-schema.ts.
- For historical lessons on production issues, see docs/DEPLOYMENT_LESSONS.md.