Agent skill
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 this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/e2e-production
SKILL.md
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
SELECTstatements. Never runUPDATEorDELETEin production via MCP unless part of a user-sanctioned cleanup. - 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,type, andfill_formto simulate user journeys. - Capture
console_messagesto detect runtime errors (React hydration, 404s, 500s). - Use
take_snapshotfor fast, text-based verification of the DOM and accessibility tree.
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
the_simpson.(e.g.,the_simpson.characters) to bypasssearch_pathlimitations. - Verification Pattern:
browser.click(Submit Form)browser.wait_for_selector(Success Message)neon.run_sql(SELECT * FROM table WHERE id = ...)- Compare UI state vs DB result.
Preconditions
- Resolve the production base URL from
NEXT_PUBLIC_APP_URLor explicit user input. - Ensure credentials exist in env (
E2E_TEST_EMAIL,E2E_TEST_PASSWORD, and any OTP secret if required). - 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
the_simpson.diary_entriesusing Neon MCP, and finally delete it (verifying deletion in both UI and DB). - Collections: Create a new collection (Name, Description), verify success, check the
the_simpson.collectionstable, and delete it if UI allows (otherwise mark for DB cleanup). - 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
the_simpson.jobs_metadataor equivalent for execution logs.
Workflow
- Initialization: Resolve production URL and activate
chrome-devtoolstools. - Discovery (Read-Only): Run a discovery-based traversal using
navigate_pageandtake_snapshot. Capture browser console errors and network 4xx/5xx responses. - 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.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?