roll-.qalisted
Install: claude install-skill seanyao/roll
# QA Cover
This is a **reference skill** used by `roll-build` and `roll-fix` for quality assurance and test coverage.
## When to Apply
Any product with a user interface (Web, Desktop, Mobile) must follow these testing standards.
## When Not to Use
- Non-UI backends (APIs, CLI tools, data pipelines) — use project-specific test frameworks
- Spike code or throwaway prototypes that won't ship
- Per-commit self-review of diffs (use `$roll-.review`)
## Required Testing Levels
### 1. Unit Tests (Logic)
- **Tool**: Vitest / Jest
- **Coverage**: Business logic, utilities, hooks
- **Run**: `npm run test`
### 2. E2E Tests (User Flows)
- **Tool**: **Playwright** (default)
- **Coverage**: Critical user paths, interactions
- **Run**: `npm run test:e2e`
### 3. Visual Regression (UI Stability)
- **Tool**: Playwright screenshot testing
- **Coverage**: Key UI states
- **Run**: Part of E2E tests
- **Baseline**: Stored in `e2e/__snapshots__/`
### 4. Smoke Tests (Post-deploy)
- **Tool**: Playwright
- **Coverage**: Core functionality on production
- **Run**: `npm run test:e2e:smoke`
## Playwright Setup
### Installation
```bash
npm install -D @playwright/test
npx playwright install chromium
```
### Configuration (playwright.config.ts)
```typescript
import { defineConfig, devices } from '@playwright/test';
export default defineConfig({
testDir: './e2e',
fullyParallel: true,
retries: process.env.CI ? 2 : 0,
reporter: 'html',
use: {
baseURL: process.env.PLAYWRIGHT_BASE_URL