e2e-reviewer
E2E Test Scenario Quality Review
Review Playwright/Cypress E2E specs and POMs using the scanner and semantic checks below.
Reference:
- Playwright best practices: https://playwright.dev/docs/best-practices
- Cypress best practices: https://docs.cypress.io/app/core-concepts/best-practices
Fetching references with tools: reference text already in your context is complete — apply all of it and do not fetch it again. A complete reference from the current loaded skill copy stays in context for this review; reuse it across scan roots and Phase 2 candidates without fetching it again. Reuse does not skip any required scan, confirmation, or semantic sweep. If the skill copy changes or the text is missing, truncated, or lost after compaction, read the required reference again before using it. When you do fetch files, some hosts show only the head and tail of a large tool result, and parallel calls in one step share that limit. Keep each step's combined tool output under about 30 KB: batch small reads (references, specs, POMs, and configs) into one tool call up to that size, and read a larger file alone. Bound searches and listings of the repository under review the same way: narrow the path or glob, or cap the output (for example | head -c 30000). Fetch references/semantic-review.md (about 30 KB) in a tool call of its own, never batched with reporting.md, verification-rules.md, or any other file, and fetch pattern contracts from the per-pattern files that § Pattern Reference names. If a tool result carries a truncation or omission notice, re-read the omitted range before relying on it.
Reading the repository under review: locate first, then read only what you need, copying these forms:
rg -l '<pattern>' <dir> # which files mention it
rg -n -C 3 '<pattern>' <file> # where, in one file
nl -ba <file> | sed -n '<a>,<b>p' # one range of at most 250 lines
Batch several small files or ranges into one command while their combined output stays under about 30 KB, and split larger reads across commands: on some hosts, output beyond that is cut in the middle, and each extra command re-sends the whole conversation.