Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
This skill should be used when the user asks to "generate tests", "write unit tests", "analyze test coverage", "scaffold E2E tests", "set up Playwright", "configure Jest", "implement testing patterns", or "improve test quality". Use for React/Next.js testing with Jest, React Testing Library, and Playwright.
This skill should be used when the user asks to "generate tests", "write unit tests", "analyze test coverage", "scaffold E2E tests", "set up Playwright", "configure Jest", "implement testing patterns", or "improve test quality". Use for React/Next.js testing with Jest, React Testing Library, and Playwright.
This item's current download entry is known to bounce back to a listing or homepage instead of returning a package file.
Use the source page and any available docs to guide the install because the item currently does not return a direct package file.
I tried to install a skill package from Yavira, but the item currently does not return a direct package file. Inspect the source page and any extracted docs, then tell me what you can confirm and any manual steps still required. Then review README.md for any prerequisites, environment setup, or post-install checks.
I tried to upgrade a skill package from Yavira, but the item currently does not return a direct package file. Compare the source page and any extracted docs with my current installation, then summarize what changed and what manual follow-up I still need. Then review README.md for any prerequisites, environment setup, or post-install checks.
Test automation, coverage analysis, and quality assurance patterns for React and Next.js applications.
# Generate Jest test stubs for React components python scripts/test_suite_generator.py src/components/ --output __tests__/ # Analyze test coverage from Jest/Istanbul reports python scripts/coverage_analyzer.py coverage/coverage-final.json --threshold 80 # Scaffold Playwright E2E tests for Next.js routes python scripts/e2e_test_scaffolder.py src/app/ --output e2e/
Scans React/TypeScript components and generates Jest + React Testing Library test stubs with proper structure. Input: Source directory containing React components Output: Test files with describe blocks, render tests, interaction tests Usage: # Basic usage - scan components and generate tests python scripts/test_suite_generator.py src/components/ --output __tests__/ # Include accessibility tests python scripts/test_suite_generator.py src/ --output __tests__/ --include-a11y # Generate with custom template python scripts/test_suite_generator.py src/ --template custom-template.tsx Supported Patterns: Functional components with hooks Components with Context providers Components with data fetching Form components with validation
Parses Jest/Istanbul coverage reports and identifies gaps, uncovered branches, and provides actionable recommendations. Input: Coverage report (JSON or LCOV format) Output: Coverage analysis with recommendations Usage: # Analyze coverage report python scripts/coverage_analyzer.py coverage/coverage-final.json # Enforce threshold (exit 1 if below) python scripts/coverage_analyzer.py coverage/ --threshold 80 --strict # Generate HTML report python scripts/coverage_analyzer.py coverage/ --format html --output report.html
Scans Next.js pages/app directory and generates Playwright test files with common interactions. Input: Next.js pages or app directory Output: Playwright test files organized by route Usage: # Scaffold E2E tests for Next.js App Router python scripts/e2e_test_scaffolder.py src/app/ --output e2e/ # Include Page Object Model classes python scripts/e2e_test_scaffolder.py src/app/ --output e2e/ --include-pom # Generate for specific routes python scripts/e2e_test_scaffolder.py src/app/ --routes "/login,/dashboard,/checkout"
Use when setting up tests for new or existing React components. Step 1: Scan project for untested components python scripts/test_suite_generator.py src/components/ --scan-only Step 2: Generate test stubs python scripts/test_suite_generator.py src/components/ --output __tests__/ Step 3: Review and customize generated tests // __tests__/Button.test.tsx (generated) import { render, screen, fireEvent } from '@testing-library/react'; import { Button } from '../src/components/Button'; describe('Button', () => { it('renders with label', () => { render(<Button>Click me</Button>); expect(screen.getByRole('button', { name: "click-mei-tobeinthedocument" }); it('calls onClick when clicked', () => { const handleClick = jest.fn(); render(<Button onClick={handleClick}>Click</Button>); fireEvent.click(screen.getByRole('button')); expect(handleClick).toHaveBeenCalledTimes(1); }); // TODO: Add your specific test cases }); Step 4: Run tests and check coverage npm test -- --coverage python scripts/coverage_analyzer.py coverage/coverage-final.json
Use when improving test coverage or preparing for release. Step 1: Generate coverage report npm test -- --coverage --coverageReporters=json Step 2: Analyze coverage gaps python scripts/coverage_analyzer.py coverage/coverage-final.json --threshold 80 Step 3: Identify critical paths python scripts/coverage_analyzer.py coverage/ --critical-paths Step 4: Generate missing test stubs python scripts/test_suite_generator.py src/ --uncovered-only --output __tests__/ Step 5: Verify improvement npm test -- --coverage python scripts/coverage_analyzer.py coverage/ --compare previous-coverage.json
FileContainsUse Whenreferences/testing_strategies.mdTest pyramid, testing types, coverage targets, CI/CD integrationDesigning test strategyreferences/test_automation_patterns.mdPage Object Model, mocking (MSW), fixtures, async patternsWriting test codereferences/qa_best_practices.mdTestable code, flaky tests, debugging, quality metricsImproving test quality
// Preferred (accessible) screen.getByRole('button', { name: "submiti" screen.getByLabelText(/email/i) screen.getByPlaceholderText(/search/i) // Fallback screen.getByTestId('custom-element')
// Wait for element await screen.findByText(/loaded/i); // Wait for removal await waitForElementToBeRemoved(() => screen.queryByText(/loading/i)); // Wait for condition await waitFor(() => { expect(mockFn).toHaveBeenCalled(); });
import { rest } from 'msw'; import { setupServer } from 'msw/node'; const server = setupServer( rest.get('/api/users', (req, res, ctx) => { return res(ctx.json([{ id: 1, name: "john" }])); }) ); beforeAll(() => server.listen()); afterEach(() => server.resetHandlers()); afterAll(() => server.close());
// Preferred page.getByRole('button', { name: "submit" }) page.getByLabel('Email') page.getByText('Welcome') // Chaining page.getByRole('listitem').filter({ hasText: 'Product' })
module.exports = { coverageThreshold: { global: { branches: 80, functions: 80, lines: 80, statements: 80, }, }, };
# Jest npm test # Run all tests npm test -- --watch # Watch mode npm test -- --coverage # With coverage npm test -- Button.test.tsx # Single file # Playwright npx playwright test # Run all E2E tests npx playwright test --ui # UI mode npx playwright test --debug # Debug mode npx playwright codegen # Generate tests # Coverage npm test -- --coverage --coverageReporters=lcov,json python scripts/coverage_analyzer.py coverage/coverage-final.json
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.