Use this skill when writing tests, fixing test failures, improving code quality, doing accessibility audits, or optimizing performance. Activates on mentions of testing, unit test, integration test, e2e test, Playwright, Vitest, Jest, pytest, test coverage, accessibility, WCAG, a11y, axe-core, screen reader, Core Web Vitals, performance, lighthouse, or code review.
View on GitHubskills/quality/SKILL.md
February 1, 2026
Select agents to install to:
npx add-skill https://github.com/hyperb1iss/hyperskills/blob/main/skills/quality/SKILL.md -a claude-code --skill qualityInstallation paths:
.claude/skills/quality/# Quality Engineering
Ship reliable, accessible, performant software.
## Quick Reference
### Testing Stack (2026)
| Type | Tool | Purpose |
| ----------- | ------------------ | --------------------- |
| Unit | Vitest | Fast, Vite-native |
| Component | Testing Library | User-centric |
| E2E | Playwright | Cross-browser |
| API | Playwright API | Request testing |
| Visual | Playwright + Percy | Screenshot comparison |
| A11y | Axe-core | WCAG compliance |
| Performance | Lighthouse CI | Core Web Vitals |
### Vitest Setup
```typescript
// vitest.config.ts
import { defineConfig } from "vitest/config";
export default defineConfig({
test: {
globals: true,
environment: "jsdom",
setupFiles: ["./tests/setup.ts"],
coverage: {
provider: "v8",
reporter: ["text", "json", "html"],
exclude: ["node_modules", "tests"],
},
},
});
```
**Writing Tests:**
```typescript
import { describe, it, expect, vi } from 'vitest';
import { render, screen } from '@testing-library/react';
import { UserProfile } from './UserProfile';
describe('UserProfile', () => {
it('displays user name', () => {
render(<UserProfile user={{ name: 'Alice' }} />);
expect(screen.getByText('Alice')).toBeInTheDocument();
});
it('calls onEdit when button clicked', async () => {
const onEdit = vi.fn();
render(<UserProfile user={{ name: 'Alice' }} onEdit={onEdit} />);
await userEvent.click(screen.getByRole('button', { name: /edit/i }));
expect(onEdit).toHaveBeenCalledTimes(1);
});
});
```
### Playwright E2E
```typescript
// tests/auth.spec.ts
import { test, expect } from "@playwright/test";
test.describe("Authentication", () => {
test("user can log in", async ({ page }) => {
await page.goto("/login");
await page.getByLabel("Email").fill("user@example.com");
await page.getB