Comprehensive testing patterns for unit, integration, E2E, pytest, API mocking (MSW/VCR), test data, property/contract testing, performance, LLM, and accessibility testing. Use when writing tests, setting up test infrastructure, or validating application quality.
Generates comprehensive testing patterns for unit, integration, E2E, mocking, performance, LLM, and accessibility tests.
/plugin marketplace add yonatangross/orchestkit/plugin install orkl@orchestkitThis skill inherits all available tools. When active, it can use any tool Claude has access to.
checklists/a11y-testing-checklist.mdchecklists/contract-testing-checklist.mdchecklists/e2e-checklist.mdchecklists/e2e-testing-checklist.mdchecklists/llm-test-checklist.mdchecklists/msw-setup-checklist.mdchecklists/performance-checklist.mdchecklists/property-testing-checklist.mdchecklists/pytest-production-checklist.mdchecklists/test-data-checklist.mdchecklists/vcr-checklist.mdexamples/a11y-testing-examples.mdexamples/e2e-test-patterns.mdexamples/handler-patterns.mdexamples/llm-test-patterns.mdexamples/orchestkit-e2e-tests.mdexamples/orchestkit-test-strategy.mdmetadata.jsonreferences/a11y-testing-tools.mdreferences/aaa-pattern.mdComprehensive patterns for building production test suites. Each category has individual rule files in rules/ loaded on-demand.
| Category | Rules | Impact | When to Use |
|---|---|---|---|
| Unit Testing | 3 | CRITICAL | AAA pattern, parametrized tests, fixture scoping |
| Integration Testing | 3 | HIGH | API endpoints, database tests, component integration |
| E2E Testing | 3 | HIGH | Playwright, AI agents, page objects |
| Pytest Advanced | 3 | HIGH | Custom markers, xdist parallel, plugins |
| API Mocking | 3 | HIGH | MSW 2.x, VCR.py, LLM API mocking |
| Test Data | 3 | MEDIUM | Factories, fixtures, seeding/cleanup |
| Verification | 3 | MEDIUM | Property-based, stateful, contract testing |
| Performance | 3 | MEDIUM | k6 load tests, Locust, test types |
| LLM Testing | 3 | HIGH | Mock responses, DeepEval, structured output |
| Accessibility | 3 | MEDIUM | jest-axe, Playwright axe, CI gates |
| Execution | 2 | HIGH | Parallel runs (xdist/matrix), coverage thresholds/reporting |
| Validation | 2 | HIGH | Zod schema testing, tRPC/Prisma end-to-end type safety |
| Evidence | 1 | MEDIUM | Task completion verification, exit codes, evidence protocol |
Total: 35 rules across 13 categories
# pytest: AAA pattern with fixtures
@pytest.fixture
def user(db_session):
return UserFactory.create(role="admin")
def test_user_can_publish(user, article):
result = article.publish(by=user)
assert result.status == "published"
// Vitest + MSW: API integration test
const server = setupServer(
http.get('/api/users', () => HttpResponse.json([{ id: 1 }]))
);
test('renders user list', async () => {
render(<UserList />);
expect(await screen.findByText('User 1')).toBeInTheDocument();
});
Isolated business logic tests with fast, deterministic execution.
| Rule | File | Key Pattern |
|---|---|---|
| AAA Pattern | rules/unit-aaa-pattern.md | Arrange-Act-Assert with Vitest/pytest |
| Parametrized Tests | rules/unit-parametrized.md | test.each, @pytest.mark.parametrize, indirect |
| Fixture Scoping | rules/unit-fixture-scoping.md | function/module/session scope selection |
Component interactions, API endpoints, and database integration.
| Rule | File | Key Pattern |
|---|---|---|
| API Testing | rules/integration-api.md | Supertest, httpx AsyncClient, FastAPI TestClient |
| Database Testing | rules/integration-database.md | In-memory SQLite, transaction rollback, test containers |
| Component Integration | rules/integration-component.md | React Testing Library, QueryClientProvider |
End-to-end validation with Playwright 1.58+.
| Rule | File | Key Pattern |
|---|---|---|
| Playwright Core | rules/e2e-playwright.md | Semantic locators, auto-wait, flaky detection |
| AI Agents | rules/e2e-ai-agents.md | Planner/Generator/Healer, init-agents |
| Page Objects | rules/e2e-page-objects.md | Page object model, visual regression |
Advanced pytest infrastructure for scalable test suites.
| Rule | File | Key Pattern |
|---|---|---|
| Markers + Parallel | rules/pytest-execution.md | Custom markers, pyproject.toml, xdist loadscope, worker DB isolation |
| Plugins & Hooks | rules/pytest-plugins.md | conftest plugins, factory fixtures, async mode |
Network-level mocking for deterministic tests.
| Rule | File | Key Pattern |
|---|---|---|
| MSW 2.x | rules/mocking-msw.md | http/graphql/ws handlers, server.use() override |
| VCR.py | rules/mocking-vcr.md | Record/replay cassettes, sensitive data filtering |
| LLM API Mocking | rules/llm-mocking.md | Custom matchers, async VCR, CI record modes |
Fixture and factory patterns for test data management.
| Rule | File | Key Pattern |
|---|---|---|
| Factory Patterns | rules/data-factories.md | FactoryBoy, faker, TypeScript factories |
| JSON Fixtures | rules/data-fixtures.md | Fixture composition, conftest loading |
| Seeding & Cleanup | rules/data-seeding-cleanup.md | Database seeding, autouse cleanup, isolation |
Advanced verification patterns beyond example-based testing.
| Rule | File | Key Pattern |
|---|---|---|
| Property-Based | rules/verification-techniques.md | Hypothesis strategies, roundtrip/idempotence |
| Stateful Testing | rules/verification-stateful.md | RuleBasedStateMachine, Schemathesis |
| Contract Testing | rules/verification-contract.md | Pact consumer/provider, broker CI/CD |
Load and stress testing for capacity validation.
| Rule | File | Key Pattern |
|---|---|---|
| k6 Patterns | rules/perf-k6.md | Stages, thresholds, custom metrics |
| Locust | rules/perf-locust.md | HttpUser tasks, on_start auth |
| Test Types | rules/perf-types.md | Load/stress/spike/soak profiles |
Testing patterns for AI/LLM applications.
| Rule | File | Key Pattern |
|---|---|---|
| Mock Responses | rules/llm-mocking.md | AsyncMock, patch model_factory |
| LLM Evaluation | rules/llm-evaluation.md | DeepEval metrics, schema validation, timeout testing |
Automated accessibility testing for WCAG compliance.
| Rule | File | Key Pattern |
|---|---|---|
| A11y Testing | rules/a11y-testing.md | jest-axe, CI gates, PR blocking, component-level validation |
| Playwright axe | rules/a11y-playwright.md | Page-level wcag2aa scanning |
Test execution strategies for parallel runs and coverage collection.
| Rule | File | Key Pattern |
|---|---|---|
| Execution | rules/execution.md | Parallel execution, coverage reporting, CI optimization |
Schema validation testing with Zod, tRPC, and end-to-end type safety.
| Rule | File | Key Pattern |
|---|---|---|
| Zod Schema | rules/validation-zod-schema.md | safeParse testing, branded types, assertNever |
| End-to-End Types | rules/validation-end-to-end.md | tRPC, Prisma, Pydantic, schema rejection tests |
Evidence collection for verifiable task completion.
| Rule | File | Key Pattern |
|---|---|---|
| Evidence Verification | rules/verification-evidence.md | Exit codes, test/build/quality evidence, protocol |
| Decision | Recommendation |
|---|---|
| Unit framework | Vitest (TS), pytest (Python) |
| E2E framework | Playwright 1.58+ with semantic locators |
| API mocking | MSW 2.x (frontend), VCR.py (backend) |
| Test data | Factories over fixtures |
| Coverage targets | 90% business logic, 70% integration, 100% critical paths |
| Performance tool | k6 (JS), Locust (Python) |
| A11y testing | jest-axe + Playwright axe-core |
| Runtime validation | Zod (safeParse at boundaries) |
| E2E type safety | tRPC (no codegen) |
| Branded types | Zod .brand() for ID confusion prevention |
| Evidence minimum | Exit code 0 + timestamp |
| Coverage standard | 70% production, 80% gold |
| Resource | Description |
|---|---|
| scripts/ | Templates: conftest, page objects, MSW handlers, k6 scripts |
| checklists/ | Pre-flight checklists for each testing category |
| references/ | API references: Playwright, MSW 2.x, DeepEval, strategies |
| examples/ | Complete test examples and patterns |
test-standards-enforcer - AAA and naming enforcementrun-tests - Test execution orchestrationgolden-dataset-validation - Golden dataset testingobservability-monitoring - Metrics and monitoringActivates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use for discovering, retrieving, and improving prompts.
Search, retrieve, and install Agent Skills from the prompts.chat registry using MCP tools. Use when the user asks to find skills, browse skill catalogs, install a skill for Claude, or extend Claude's capabilities with reusable AI agent components.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.