All skills
jakeschincariol avatar

/replica-test

@77c9436

Clicks through every flow of an app clone and tests it for bugs: a test plan generated from the recon flows with happy paths and edge cases, Playwright end-to-end tests where possible, a browser click-through where not, and bug reports in a fixed format with severity, steps and evidence. Use when the user says "test my clone", "find bugs", "QA this", "click through everything", "write e2e tests", "does it work", or after /replica-build or /replica-backend.

Use this Skill: https://skilld.dev/gh/jakeschincariol/replica-skill/replica-test

Nothing lands on disk. Nothing to clean up.

Fork this Skill

Edit a local copy. It keeps the author and licence.

SKILL.md

≈119 tokens for metadata: the name and description. ≈689 when used: this file. ≈284 more on demand in 2 files.

Description uses 5.9% of example budget

Before choosing a Skill, your Agent reads its name and description. All available Skills share that space.

  • A shorter description leaves more room for other Skills. This entry exceeds our 1% size suggestion.

In our Claude Code example, all Skill names and descriptions share 8,000 characters. This Skill uses ≈475 characters, or 5.9%.

The 1% threshold is a size suggestion. Longer descriptions can still fit.

Your model, settings, and other Skills decide how much text your Agent can read.

Example settings and source

The example uses a 200k-token context and default Claude Code settings. The count includes the name, description, separators, and when_to_use when present. Codex also counts local file paths.

Skit's source and limits: Codex 0.160.1, Claude Code 2.1.292.

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
S1 data loss, security hole, payments wrong, core flow blocked
S2 a feature broken, no workaround
S3 broken with a workaround, or visibly wrong
S4 cosmetic

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.

Source: SKILL.md on GitHub

skilld matched fixed text patterns in SKILL.md and file names. Patterns miss obfuscated code.

skilld run checks every file with the same patterns. It asks for approval before it loads a Skill with a behavior marked Needs approval.

No alerts4d3 checks · Risk SAFE
  • Gen Agent Trust Hub4d

    The skill automates application testing using Playwright by generating and executing test code based on a reconnaissance file. It is generally safe but possesses an attack surface for indirect prompt injection as it processes external data without explicit sanitization.

  • Socket4d

    No alerts

  • Snyk4d

    Risk: LOW · No issues

Signed by skilld at 77c9436. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 44 minutes ago.

Activeupdated 5 days ago

README badge

README badge for jakeschincariol/replica-skill/replica-test