Delivers Vitest best practices for test setup, async patterns, vi.* mocking, snapshots, and performance. Use when writing, debugging, or reviewing Vitest tests.
npx claudepluginhub joshuarweaver/cascade-code-general-misc-1 --plugin pproenca-dot-skills-1This skill uses the workspace's default tool permissions.
Comprehensive performance optimization and best practices guide for Vitest testing framework. Contains 44 rules across 8 categories, prioritized by impact to guide test writing, refactoring, and code review.
Applies Acme Corporation brand guidelines including colors, fonts, layouts, and messaging to generated PowerPoint, Excel, and PDF documents.
Builds DCF models with sensitivity analysis, Monte Carlo simulations, and scenario planning for investment valuation and risk assessment.
Calculates profitability (ROE, margins), liquidity (current ratio), leverage, efficiency, and valuation (P/E, EV/EBITDA) ratios from financial statements in CSV, JSON, text, or Excel for investment analysis.
Comprehensive performance optimization and best practices guide for Vitest testing framework. Contains 44 rules across 8 categories, prioritized by impact to guide test writing, refactoring, and code review.
Reference these guidelines when:
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Async Patterns | CRITICAL | async- |
| 2 | Test Setup & Isolation | CRITICAL | setup- |
| 3 | Mocking Patterns | HIGH | mock- |
| 4 | Performance | HIGH | perf- |
| 5 | Snapshot Testing | MEDIUM | snap- |
| 6 | Environment | MEDIUM | env- |
| 7 | Assertions | LOW-MEDIUM | assert- |
| 8 | Test Organization | LOW | org- |
async-await-assertions - Await async assertions to prevent false positivesasync-return-promises - Return promises from test functionsasync-fake-timers - Use fake timers for time-dependent codeasync-waitfor-polling - Use vi.waitFor for async conditionsasync-concurrent-expect - Use test context expect in concurrent testsasync-act-wrapper - Await user events to avoid act warningsasync-error-handling - Test async error handling properlysetup-beforeeach-cleanup - Clean up state in afterEach hookssetup-restore-mocks - Restore mocks after each testsetup-avoid-shared-state - Avoid shared mutable state between testssetup-beforeall-expensive - Use beforeAll for expensive one-time setupsetup-reset-modules - Reset modules when testing module statesetup-test-factories - Use test factories for complex test datamock-vi-mock-hoisting - Understand vi.mock hoisting behaviormock-spyon-vs-mock - Choose vi.spyOn vs vi.mock appropriatelymock-implementation-not-value - Use mockImplementation for dynamic mocksmock-msw-network - Use MSW for network request mockingmock-avoid-overmocking - Avoid over-mockingmock-type-safety - Maintain type safety in mocksmock-clear-between-tests - Clear mock state between testsperf-pool-selection - Choose the right pool for performanceperf-disable-isolation - Disable test isolation when safeperf-happy-dom - Use happy-dom over jsdom when possibleperf-sharding - Use sharding for CI parallelizationperf-run-mode-ci - Use run mode in CI environmentsperf-bail-fast-fail - Use bail for fast failure in CIsnap-inline-over-file - Prefer inline snapshots for small valuessnap-avoid-large - Avoid large snapshotssnap-stable-serialization - Ensure stable snapshot serializationsnap-review-updates - Review snapshot updates before committingsnap-describe-intent - Name snapshot tests descriptivelyenv-per-file-override - Override environment per file when neededenv-setup-files - Use setup files for global configurationenv-globals-config - Configure globals consistentlyenv-browser-api-mocking - Mock browser APIs not available in test environmentassert-specific-matchers - Use specific matchers over generic onesassert-edge-cases - Test edge cases and boundariesassert-one-assertion-concept - Test one concept per testassert-expect-assertions - Use expect.assertions for async testsassert-toequal-vs-tobe - Choose toBe vs toEqual correctlyorg-file-colocation - Colocate test files with source filesorg-describe-nesting - Use describe blocks for logical groupingorg-test-naming - Write descriptive test namesorg-test-skip-only - Use skip and only appropriatelyRead individual reference files for detailed explanations and code examples:
test-tdd skilltest-msw skilltypescript skillFor the complete guide with all rules expanded: AGENTS.md