CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

vitest

Set up Vitest testing in any project — detects type (Cloudflare Workers, React, Node, library), generates vitest.config.ts, test setup, utilities, and a sample test. Covers mocking patterns, coverage config, workspace setup, Jest migration. Use whenever the user mentions adding tests, setting up Vitest, configuring tests, migrating from Jest, fixing testing infrastructure, or asks 'how do I test this'.

Quality

88%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

77%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A highly actionable, well-sequenced setup skill with excellent validation and error-recovery guidance — the core workflow is copy-paste ready throughout. Its weaknesses are length-driven: a large Mocking Reference section restates standard Vitest API knowledge inline, and the whole skill is one monolithic file rather than splitting reference material (mocking, Jest migration, monorepo setup) into separate reference files.

Suggestions

Move the Mocking Reference, Jest Migration, and Workspace Setup sections into separate reference files (e.g., references/mocking.md, references/jest-migration.md) and replace them with one-line pointers from the main workflow, keeping SKILL.md focused on the setup steps.

Trim or cut the Mocking Reference examples of standard Vitest APIs (vi.spyOn, fake timers, snapshot testing, describe.each) — Claude already knows these; keep only project-specific guidance like where to place the examples file.

Trim explanatory asides such as the sentence elaborating what '@testing-library/jest-dom/vitest' registers; the import plus a short note is enough.

DimensionReasoningScore

Conciseness

The setup workflow itself is lean and code-forward, but the ~100-line 'Mocking Reference' section restates standard Vitest APIs (vi.mock, vi.spyOn, fake timers, snapshots, describe.each) that Claude already knows, and asides like 'That single import adds all the custom matchers... and registers the Vitest expect.extend automatically' over-explain. This is more than the 'minor instances' of the score-4 anchor, matching 'mostly efficient but includes some unnecessary explanation'.

3 / 5

Actionability

Every step is copy-paste ready: per-type install commands, complete vitest.config.ts files for each environment, concrete sample tests for Hono routes, React components, and utility functions, package.json scripts, and an error→fix diagnostic table. This matches 'fully executable; copy-paste ready code or commands; specific examples cover the common cases'.

5 / 5

Workflow Clarity

Eight numbered steps run Detect→Configure→Scaffold→Wire up, ending in an explicit validation checkpoint (Step 8: run 'pnpm test:run', with an error→fix table for common failures) plus the closing feedback loop 'The tests should pass on first run. If they don't, fix them before finishing.' Clear sequence with explicit validation and error recovery matches the top anchor.

5 / 5

Progressive Disclosure

The file has good internal structure (clear section headers, horizontal rule separations), which rules out the score-2 'no section headers' anchor, but it is a ~455-line monolith with no bundle files: the Mocking Reference, Jest Migration, and Workspace Setup sections (~150 lines of post-setup reference material) are inlined where separate reference files belong. This matches 'some structure but could be better organized... content that should be separate is inline'.

3 / 5

Total

16

/

20

Passed

Description

92%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: concrete capability list, explicit what-and-when, and a clearly bounded Vitest niche. The only weakness is slightly incomplete trigger-term coverage — a few common phrasings like 'unit tests' or 'test coverage' are absent.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — 'detects type (Cloudflare Workers, React, Node, library), generates vitest.config.ts, test setup, utilities, and a sample test' plus 'mocking patterns, coverage config, workspace setup, Jest migration' — comprehensive coverage matching the top anchor. It exceeds the score-4 anchor because coverage of capabilities is comprehensive rather than having minor gaps.

5 / 5

Completeness

It explicitly answers both questions: the 'what' (detects project type, generates vitest.config.ts, test setup, utilities, sample test, covers mocking/coverage/workspace/Jest migration) and the 'when' via a concrete 'Use whenever the user mentions...' clause with multiple trigger phrases — an exact match for the top anchor.

5 / 5

Trigger Term Quality

Natural phrases like 'adding tests', 'setting up Vitest', 'configuring tests', 'migrating from Jest', 'fixing testing infrastructure', and 'how do I test this' map well to what users would actually say. A few common variations are missing (e.g., 'unit tests', 'writing tests', 'test coverage'), so it falls short of the synonym-level completeness of the score-5 anchor.

4 / 5

Distinctiveness Conflict Risk

The Vitest-specific niche is clear, and the triggers are distinct (Vitest, Jest migration, testing infrastructure). It would not plausibly trigger for an unrelated skill, matching the 'clear niche with distinct triggers; minimal conflict risk' anchor.

5 / 5

Total

19

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

jezweb/claude-skills

Path

plugins/dev-tools/skills/vitest/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.