/vitest
Vitest fast unit testing framework powered by Vite with Jest-compatible API. Use when writing tests, mocking, configuring coverage, or working with test filtering and fixtures.
$ npx -y skills add antfu/skills --skill vitest --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/vitest
Context preview
The summary Claude sees to decide when to auto-load this skill.
Vitest fast unit testing framework powered by Vite with Jest-compatible API. Use when writing tests, mocking, configuring coverage, or working with test filtering and fixtures.
SKILL.md
vitest.SKILL.mdname: vitest
description: Vitest fast unit testing framework powered by Vite with Jest-compatible API. Use when writing tests, mocking, configuring coverage, or working with test filtering and fixtures.
metadata:
author: Anthony Fu
version: "2026.6.22"
source: Generated from https://github.com/vitest-dev/vitest, scripts located at https://github.com/antfu/skills
Vitest is a next-generation testing framework powered by Vite. It provides a Jest-compatible API with native ESM, TypeScript, and JSX support out of the box. Vitest shares the same config, transformers, resolvers, and plugins with your Vite app.
**Key Features:**
- Vite-native: Uses Vite's transformation pipeline for fast HMR-like test updates
- Jest-compatible: Drop-in replacement for most Jest test suites
- Smart watch mode: Only reruns affected tests based on module graph
- Native ESM, TypeScript, JSX support without configuration
- Multi-threaded workers for parallel test execution
- Built-in coverage via V8 or Istanbul
- Snapshot testing, mocking, and spy utilities
> The skill is based on Vitest 5.x (beta), generated at 2026-06-22.
Core
| Topic | Description | Reference | |-------|-------------|-----------| | Configuration | Vitest and Vite config integration, defineConfig usage | [core-config](references/core-config.md) | | CLI | Command line interface, commands and options | [core-cli](references/core-cli.md) | | Test API | test/it function, modifiers like skip, only, concurrent | [core-test-api](references/core-test-api.md) | | Describe API | describe/suite for grouping tests and nested suites | [core-describe](references/core-describe.md) | | Expect API | Assertions with toBe, toEqual, matchers and asymmetric matchers | [core-expect](references/core-expect.md) | | Hooks | beforeEach, afterEach, beforeAll, afterAll, aroundEach | [core-hooks](references/core-hooks.md) |
Features
| Topic | Description | Reference | |-------|-------------|-----------| | Mocking | Mock functions, modules, timers, dates with vi utilities | [features-mocking](references/features-mocking.md) | | Snapshots | Snapshot testing with toMatchSnapshot and inline snapshots | [features-snapshots](references/features-snapshots.md) | | Coverage | Code coverage with V8 or Istanbul providers | [features-coverage](references/features-coverage.md) | | Test Context | Test fixtures, context.expect, test.extend for custom fixtures | [features-context](references/features-context.md) | | Concurrency | Concurrent tests, parallel execution, sharding | [features-concurrency](references/features-concurrency.md) | | Filtering | Filter tests by name, file patterns, tags | [features-filtering](references/features-filtering.md) | | Test Tags | Label tests with tags to filter runs and apply shared options | [features-test-tags](references/features-test-tags.md) | | Reporters | Built-in reporters, default selection, CI/output config | [features-reporters](references/features-reporters.md) | | Benchmarking | Write benchmarks with the bench fixture (Tinybench) | [features-benchmarking](references/features-benchmarking.md) |
Advanced
| Topic | Description | Reference | |-------|-------------|-----------| | Vi Utilities | vi helper: mock, spyOn, fake timers, hoisted, waitFor | [advanced-vi](references/advanced-vi.md) | | Environments | Test environments: node, jsdom, happy-dom, custom | [advanced-environments](references/advanced-environments.md) | | Type Testing | Type-level testing with expectTypeOf and assertType | [advanced-type-testing](references/advanced-type-testing.md) | | Projects | Multi-project workspaces, different configs per project | [advanced-projects](references/advanced-projects.md) |
Read more
name: vitest description: Vitest fast unit testing framework powered by Vite with Jest-compatible API. Use when writing tests, mocking, configuring coverage, or working with test filtering and fixtures. metadata: author: Anthony Fu version: "2026.6.22" source: Generated from https://github.com/vitest-dev/vitest, scripts located at https://github.com/antfu/skills
Vitest is a next-generation testing framework powered by Vite. It provides a Jest-compatible API with native ESM, TypeScript, and JSX support out of the box. Vitest shares the same config, transformers, resolvers, and plugins with your Vite app.
**Key Features:**
- Vite-native: Uses Vite's transformation pipeline for fast HMR-like test updates
- Jest-compatible: Drop-in replacement for most Jest test suites
- Smart watch mode: Only reruns affected tests based on module graph
- Native ESM, TypeScript, JSX support without configuration
- Multi-threaded workers for parallel test execution
- Built-in coverage via V8 or Istanbul
- Snapshot testing, mocking, and spy utilities
> The skill is based on Vitest 5.x (beta), generated at 2026-06-22.
Core
| Topic | Description | Reference | |-------|-------------|-----------| | Configuration | Vitest and Vite config integration, defineConfig usage | [core-config](references/core-config.md) | | CLI | Command line interface, commands and options | [core-cli](references/core-cli.md) | | Test API | test/it function, modifiers like skip, only, concurrent | [core-test-api](references/core-test-api.md) | | Describe API | describe/suite for grouping tests and nested suites | [core-describe](references/core-describe.md) | | Expect API | Assertions with toBe, toEqual, matchers and asymmetric matchers | [core-expect](references/core-expect.md) | | Hooks | beforeEach, afterEach, beforeAll, afterAll, aroundEach | [core-hooks](references/core-hooks.md) |
Features
| Topic | Description | Reference | |-------|-------------|-----------| | Mocking | Mock functions, modules, timers, dates with vi utilities | [features-mocking](references/features-mocking.md) | | Snapshots | Snapshot testing with toMatchSnapshot and inline snapshots | [features-snapshots](references/features-snapshots.md) | | Coverage | Code coverage with V8 or Istanbul providers | [features-coverage](references/features-coverage.md) | | Test Context | Test fixtures, context.expect, test.extend for custom fixtures | [features-context](references/features-context.md) | | Concurrency | Concurrent tests, parallel execution, sharding | [features-concurrency](references/features-concurrency.md) | | Filtering | Filter tests by name, file patterns, tags | [features-filtering](references/features-filtering.md) | | Test Tags | Label tests with tags to filter runs and apply shared options | [features-test-tags](references/features-test-tags.md) | | Reporters | Built-in reporters, default selection, CI/output config | [features-reporters](references/features-reporters.md) | | Benchmarking | Write benchmarks with the bench fixture (Tinybench) | [features-benchmarking](references/features-benchmarking.md) |
Advanced
| Topic | Description | Reference | |-------|-------------|-----------| | Vi Utilities | vi helper: mock, spyOn, fake timers, hoisted, waitFor | [advanced-vi](references/advanced-vi.md) | | Environments | Test environments: node, jsdom, happy-dom, custom | [advanced-environments](references/advanced-environments.md) | | Type Testing | Type-level testing with expectTypeOf and assertType | [advanced-type-testing](references/advanced-type-testing.md) | | Projects | Multi-project workspaces, different configs per project | [advanced-projects](references/advanced-projects.md) |
A curated collection of Agent Skills reflecting Anthony Fu's preferences, experience, and best practices, along with usage documentation for the tools.
Repo: antfu/skills
Other skills on antfu-skills.
- /antfu-design
antfu-style design conventions, broadened. UnoCSS-first, class-based semantic tokens with dual light/dark for tooling and devtools UIs, plus design-read, anti-slop, and micro-interaction polish for landing pages and product surfaces. Use when building or refactoring any
Open skill - /antfu
Anthony Fu's opinionated tooling and conventions for JavaScript/TypeScript projects. Use when setting up new projects, configuring ESLint/Prettier alternatives, monorepos, library publishing, or when the user mentions Anthony Fu's preferences.
Open skill - /nitro
Nitro is the framework-agnostic server toolkit (powering Nuxt) for building and deploying web servers anywhere. Use when working with nitro.config, server routes/event handlers, route rules, caching, storage, tasks, websockets, or deploying to Node/Bun/Deno/Cloudflare/Vercel.
Open skill - /nuxt
Nuxt full-stack Vue framework with SSR, auto-imports, and file-based routing. Use when working with Nuxt apps, server routes, useFetch, middleware, or hybrid rendering.
Open skill - /pinia
Pinia official Vue state management library, type-safe and extensible. Use when defining stores, working with state/getters/actions, or implementing store patterns in Vue apps.
Open skill - /pnpm
Node.js package manager with strict dependency resolution. Use when running pnpm specific commands, configuring workspaces via pnpm-workspace.yaml, or managing dependencies with catalogs, patches, overrides, config dependencies, or the global virtual store.
Open skill

