What problem does it solve? Published testing guidance targets Vitest 3 and React 18, but this repository runs Vitest 5 on Vite 8 with React 19, so recalled knowledge produces wrong configs, wrong imports, and misdiagnosed failures. This Skill encodes the verified, measured testing rules for the repo. ## Core Features & Use Cases - Runner selection: Routes work between Vitest (component tests in tests/**/*.test.{ts,tsx}) and Playwright (browser tests in e2e/**/*.e2e.ts), explaining why the .e2e.ts suffix must be kept. - Query and interaction discipline: Enforces Testing Library's role-first query priority and user-event over fireEvent under React 19. - Environment troubleshooting: Diagnoses false e2e failures caused by reuseExistingServer pointing Playwright at a stale server on the wrong port. - Use Case: When adding a test for a new design-system component, follow the Skill to place it next to the component, query with getByRole, interact via userEvent.setup(), and mock server actions with vi.hoisted. ## Quick Start Ask the assistant to write a component test for a button in packages/design following the xforge-testing rules.