Use when adding new error messages to React, or seeing "unknown error code" warnings.
npx skills add alistaircroll/verbose-deployment --skill "e2e-tests"
Install specific skill from multi-skill repository
# Description
Detect and run end-to-end or integration tests, ensuring a clean environment (no zombie processes, free ports). Handles the known dev-server-crash issue when running after a production build. Use as Phase 5 of the deployment pipeline.
# SKILL.md
name: e2e-tests
description: "Detect and run end-to-end or integration tests, ensuring a clean environment (no zombie processes, free ports). Handles the known dev-server-crash issue when running after a production build. Use as Phase 5 of the deployment pipeline."
Integration / E2E Tests
Run end-to-end or integration tests that exercise the full application.
Detect
Look for e2e test configuration:
npm run test:e2eor similar script in package.json- Playwright config (
playwright.config.ts,playwright.config.js) - Cypress config (
cypress.config.ts,cypress.json) pytestwith integration markers- Docker Compose files for service dependencies
- Emulator configurations (database emulators, auth emulators, etc.)
Before Running
Ensure all required services are stopped from prior runs. Verify ports are free. E2E tests need a clean environment β stale emulators and dev servers cause flaky failures.
# Example: find and kill processes on common ports
lsof -ti :3000 | xargs kill -9 2>/dev/null # dev server
lsof -ti :9000 | xargs kill -9 2>/dev/null # emulator
Known Issue: Dev Server Crash After Production Build
If the project uses a chained command (e.g., npm run test:all) that runs the production build then immediately starts e2e tests, the build output can destabilize the dev server that the test runner spawns.
Symptoms: ERR_CONNECTION_REFUSED on localhost after the first few tests pass.
Preferred approach: Run the unit-tests, build, and e2e-tests phases as separate commands rather than one chained script. This avoids the build/dev-server conflict entirely.
If using a chained command and it fails with connection refused: Kill all processes, verify ports are free, and re-run e2e alone β the unit test and build results from the same run are still valid.
Collect
- Test count (passed / failed / skipped)
- Test names and durations
- Any console errors or page crashes
- Total duration
- Exit code
Stop Conditions
STOP if: Any test fails. If tests fail on the second run with the same error, diagnose the root cause β don't retry again.
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.