frontend/.claude/skills/e2e-tester/SKILL.md
Write and run Playwright E2E tests for Redpanda Console using testcontainers. Analyzes test failures, adds missing testids, and improves test stability. Use when user requests E2E tests, Playwright tests, integration tests, test failures, missing testids, or mentions 'test workflow', 'browser testing', 'end-to-end', or 'testcontainers'.
npx skillsauth add redpanda-data/console e2e-testerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Write end-to-end tests using Playwright against a full Redpanda Console stack running in Docker containers via testcontainers.
NOT for: Component unit tests -> use testing
ALWAYS:
bun run build before running E2E tests (frontend assets required)testcontainers API for container management (never manual docker commands in tests)page.getByRole() and page.getByLabel() selectors (avoid CSS selectors)data-testid attributes when semantic selectors aren't availableafterEach to call cleanup API endpointsNEVER:
.class-name or #idforce:true on .click() or waitForTimeoutwaitFor with conditions)bun run build # Build frontend (REQUIRED first!)
bun run e2e-test # Run OSS E2E tests
bun run e2e-test-enterprise # Run Enterprise E2E tests
bun run e2e-test:ui # Playwright UI mode (debugging)
bun run e2e-test tests/topics/create-topic.spec.ts # Specific file
OSS Mode (bun run e2e-test): Redpanda + Backend + OwlShop containers
Enterprise Mode (bun run e2e-test-enterprise): Same + RBAC, SSO (requires console-enterprise repo)
File location: tests/<feature>/*.spec.ts
getByRole() - Best for accessibilitygetByLabel() - For form inputsgetByText() - For content verificationgetByTestId() - When semantic selectors aren't cleardata-testid="feature-action-element"data-testid={\item-delete-${id}`}`After completing work:
development
Review UI code for Web Interface Guidelines compliance
development
Build UI with Redpanda Registry components, Tailwind v4, and accessibility best practices.
testing
Write and maintain tests with Vitest v4 dual configuration, mock utilities, and Zustand store testing patterns.
development
Migrate React applications from React Router to TanStack Router with file-based routing. Use when user requests: (1) Router migration, (2) TanStack Router setup, (3) File-based routing implementation, (4) React Router replacement, (5) Type-safe routing, or mentions 'migrate router', 'tanstack router', 'file-based routes'.