# E2e

> Use when an implementation needs proof against the live running stack: after build completes, before ship, or when asked to verify, e2e-test, smoke-test, or demo that an API, UI, or DB change actually works.

- Skill: `omexit/e2e` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add omexit/e2e`
- Raw SKILL.md: https://api.skillmd.com/api/skills/omexit/e2e/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: OmexIT (https://skillmd.com/u/omexit)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/omexit/e2e

---


# Live verification

## Per-repo setup (read, never guess)
Read the repo's verification config: AGENTS.md, CLAUDE.md, `TESTING-NOTES.md`,
`docs/operations/`, `.agents/verify.md`, or `.claude/verify.md`. It should define: boot
command (compose file), health checks, ports, seed data, test credentials per role, newman
collection paths, Playwright config, DB connection. If none exists, offer to create
`docs/verification.md`; keep real credentials in a gitignored local file or secret store.
When ports, hosts, or boot commands arrive in chat, record them in that config in the same
session so the next one does not have to ask again. Credentials never go in a committed file:
record only which gitignored file or secret store holds them.

## Layers - run what the change touches
- **Boot**: use the repository's boot command (often `docker compose up -d`), wait on its health checks, confirm migrations applied, and capture logs on failure.
- **API**: newman collections when they exist; otherwise curl the changed endpoints - auth flow, happy path, validation errors (RFC 9457 shape), and idempotent replay for money operations.
- **DB**: psql/mongosh state checks after writes - rows exist, balances reconcile. Ledger changes must run the zero-row invariant queries from the `ledger` references.
- **UI**: Playwright against the running app - real login with configured credentials, the changed flows, screenshot evidence. Prefer role, label, and accessible-name locators; use stable test IDs only when a semantic locator is insufficient, per `../../references/ui-selector-conventions.md`.

Resource: `scripts/playwright-setup.sh` installs Playwright browsers. Pass `--with-deps` only when approved OS dependencies are needed. The repository must already declare `@playwright/test`; add it only when the requested scope includes test setup.

## Evidence rules (default-to-reject)
- "Tests pass" without runner output = not verified. A design-tool screenshot is not evidence from the running app. Every claim needs the command plus its actual output.
- Reject missing coverage, not a low defect count: requirements marked done without a verification command fail the gate, as does a UI change without the relevant responsive/mobile check. If no defect is found, state the verified scope and remaining gaps without inventing issues.
- On failure: diagnose via `debug`, fix via `build`, re-run the failed layer, then the smallest end-to-end path that proves the layers still integrate.

Put the report (what ran, evidence, gaps) in the existing plan doc or PR description when one exists; otherwise return a concise verification report. Do not create a separate schema or ceremony file.

