boundary-value-generatorUse when writing or extending tests for a function, form field or endpoint with limits (min/max values, string length in characters or bytes, collection size), or after a bug at a limit, such as a maximum-length value rejected or a too-short one accepted: generates the boundary-value cases, one belo
faker-dataFixes test data that breaks tests - factory values in a shape the code under test rejects (a phone number that is not E.164), fixtures that only pass when the whole suite runs in order, and random values that make an assertion pass or fail depending on the run. Authors test-data factories with Faker
golden-file-conventionsUse when snapshot or golden-file tests are noisy or untrusted: snapshots accepted without review, diffs full of timestamps, IDs or PII, baselines that differ per OS or runtime, or no rule for where snapshots live. Sets naming and directory layout, when to add, update or remove a baseline, sanitizati
malicious-payload-bankUse when writing negative tests for input validation, fuzz targets or security tests that need real attack strings: SQL injection, XSS, SSRF, path traversal, command injection, XXE, prototype pollution, ReDoS, Unicode confusables and header injection, with which payloads fit each input context.
msw-handlersUse when JavaScript or TypeScript tests need to mock fetch or XHR calls to an HTTP API, such as replacing hand-rolled fetch mocks or testing loading and error responses, in Vitest or Jest and in Cypress or Playwright: writes Mock Service Worker handlers (`http.get`, `http.post`, `HttpResponse.json`)
negative-test-generatorUse when code has deliberate error paths but the tests only prove the success case. For each happy-path test, generates parameterized tests for validation errors, missing fields, wrong types, authorization failures, rate limits, conflicts and attack payloads in the project's test runner format.
pairwise-test-case-generatorUse when a function or endpoint takes 3 or more inputs whose combinations matter and the full Cartesian product is too large. Combines boundary values, equivalence classes and pairwise (or N-wise) reduction into parameterized cases in the project's runner format.
seed-data-curatorUse when E2E tests need a reproducible seed dataset and the project has none, or the existing seed has drifted. Picks a representative cross-section of users, orgs and data, generates rows with the project's factory library, checks in the fixture and wires it into test setup.
synthetic-data-toolkitUse whenever someone asks for test factories or a FactoryBot setup, even a quick one: factories with traits and associations (Ruby, Rails), Mimesis bulk data (Python), Bogus Faker<T> builders (.NET), or which generator fits. Same fixture in each tool; plain fake values stay with faker-data.
synthetic-pii-generatorUse when seeding non-production environments, building demo data, or replacing real personal data in copied datasets. Generates fake but valid-looking PII: names, emails, phones, addresses, national IDs and SSNs, Luhn-valid test card numbers and birth dates, never real people's data.
test-data-patternsUse for any question or task about how tests build their data, including Object Mother vs Test Data Builder, long constructor calls repeated across tests, and shared fixtures that one test changes and ten others break on. Explains Test Data Builder, Factory, Object Mother, fixture composition, snaps
wiremock-stubsUse whenever Java/JVM tests call a slow, flaky, rate-limited or paid HTTP API: stub it with WireMock so tests run offline, including faults such as timeouts and 500 responses, request verification and parallel-safe ports. Mountebank for TCP, SMTP, LDAP and gRPC is in its references.