Skip to main content

replica-test

Reads the flows in replica/recon.md. Writes replica/test-plan.md, replica/bugs.md, and end-to-end tests in the project (e2e/). Templates in this folder: test-plan.md, bug-report.md, e2e.example.spec.ts.

The rule​

Test your clone, not the original. Never load test, fuzz, script or hammer the original app's servers. Using the original by hand, as a normal user, to see how it behaves is fine.

Step 1: the plan​

For every flow F01, F02... in the recon map, write:

  • Happy path: the steps, and what the user should see at the end.
  • Edge cases that apply. Go down this list for every flow: empty input, very long input, emoji and accents, two tabs at once, double click on submit, back button mid-flow, refresh mid-flow, slow network, offline, expired session, second user's data (must be invisible), time zones and daylight saving, mobile width, keyboard only, screen reader labels.
  • Negative cases: wrong password, card declined (Stripe test card 4000 0000 0000 0002), permission denied, deleted record.

Number every case: F01-H1, F01-E3, F01-N2.

Step 2: automate what you can​

Playwright, one spec per flow, against the local dev server with seed data. Use roles and labels for selectors (getByRole('button', { name: 'Book' })), never CSS classes. See e2e.example.spec.ts.

npm i -D @playwright/test && npx playwright install chromium
npx playwright test

Add to every spec: fail on console errors, fail on any 5xx response, and an axe accessibility scan (@axe-core/playwright) on each screen.

Step 3: click through the rest​

What cannot be automated (emails arriving, OAuth with real providers, payments end to end, visual glitches) gets a manual pass. If a browser tool is available, drive the local clone with it and screenshot each step. Otherwise give the user the checklist and wait for answers.

Step 4: report bugs​

Every bug goes in replica/bugs.md in the bug-report.md format: an ID, a severity, exact steps, expected, actual, evidence. Severity:

means
S1data loss, security hole, payments wrong, core flow blocked
S2a feature broken, no workaround
S3broken with a workaround, or visibly wrong
S4cosmetic

Only report what you reproduced. "Might be an issue" goes in a separate "to check" list.

Step 5: fix loop​

Fix S1 and S2 first. For every fix: write the failing test first, fix, watch it pass, keep the test. Re-run the whole suite after each batch. Update bugs.md with the commit that fixed each one.

Output​

test-plan.md, the specs, bugs.md, and a summary: cases run, passed, failed, bugs by severity, fixed so far. Ship nothing with an open S1. Next: /replica-diff.

Supporting files: this skill's supporting files are held in the docsite at docs/15-skills/_support/replica/replica-test/ — fetch them fresh from jknash/docsite main alongside this page.

Source: Jakeschincariol/replica-skill · replica-test/ @ 77c9436fb3d18c3d58169efb8caf4fe906b0dc51 · view source · Imported 2026-10-10 under the owner's directive (public-repo content approved for internal fleet use; MIT). Method imported at the pin. Any upstream upgrade re-opens the security vet for the changed surface.