CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

vitest-testing-skill

Set up Vitest 2.x with TypeScript for unit and component testing using test/describe/it, vi.fn/vi.mock/vi.spyOn, component testing with Testing Library, coverage (v8/istanbul), workspace config, and snapshot testing.

Quality

74%

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

Fix and improve this skill with Tessl

tessl review fix ./testing/vitest-testing-skill/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

65%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 strong, code-dense reference that gives Claude everything needed to scaffold and write Vitest tests, with no wasted explanation. Its weaknesses are structural rather than substantive: the setup workflow is implicit with no verification step, and the single-file monolith forgoes progressive disclosure that would keep the main SKILL.md lean.

Suggestions

Add an explicit setup workflow with a verification checkpoint, e.g. '1. Install (commands above) 2. Create vitest.config.ts and test/setup.ts 3. Run npx vitest run — confirm the example test passes before writing more tests.'

Move secondary topics (MSW HTTP mocking, vitest.workspace.ts multi-project config, docker-compose test database) into references/ files (e.g. references/msw.md, references/workspaces.md, references/test-db.md) and link them from a short 'Advanced' section, keeping SKILL.md to core setup and patterns.

Fix the two non-executable examples — import/define 'formatUserDisplay' in the snapshot example and 'scheduleTask' in the timer example — and add 'npm install -D msw' to the scaffold commands so every shown step runs as written.

DimensionReasoningScore

Conciseness

The body is dense and code-forward with essentially no padding — no explanations of what testing is or how libraries work; nearly every line is config, code, or a command. Minor trims are possible (two alternative config blocks, editorial asides like 'making it the natural testing choice for Vite projects'), placing it just below the leanest anchor.

4 / 5

Actionability

Nearly all guidance is copy-paste ready: complete vitest.config.ts, setup.ts, working test examples, and a full command cheat-sheet. Small gaps hold it below fully executable: the snapshot example calls 'formatUserDisplay' and the timer example calls 'scheduleTask' without imports or definitions, and the MSW section omits 'npm install -D msw' from the scaffold commands.

4 / 5

Workflow Clarity

The setup sequence (prerequisites → install → project structure → config → setup file → tests → commands) is implicitly readable from section order, but it is never stated as a workflow and there is no validation checkpoint (e.g., 'run npx vitest run after setup to confirm the example test passes'). Steps present, checkpoints missing or implicit — a clear anchor-3 fit, not 4 which requires most checkpoints present.

3 / 5

Progressive Disclosure

Section headers are clear and the file is navigable, but it is a ~530-line monolith with zero bundle files — MSW mocking, workspace config, and test-database setup are clearly separable topics inlined in the main file. This matches 'some structure but content that should be separate is inline'; it is not a 2 because the internal organization is genuinely good.

3 / 5

Total

14

/

20

Passed

Description

75%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 specific, well-scoped description that clearly communicates what the skill does with concrete Vitest API names and minimal conflict risk. Its main weakness is the absence of any 'Use when...' trigger clause, which both caps completeness and slightly weakens natural triggering. Adding an explicit trigger sentence would move it to the top tier.

Suggestions

Append an explicit trigger clause such as: 'Use when setting up or writing tests for a Vite/Vitest project, migrating tests from Jest, or when the user mentions Vitest, unit tests, component tests, or snapshot testing.'

Add one or two natural synonyms users say ('Vite', 'mocking tests', 'test coverage') to broaden trigger-term coverage beyond the current set.

DimensionReasoningScore

Specificity

The description enumerates multiple concrete capabilities — 'Set up Vitest 2.x with TypeScript', 'vi.fn/vi.mock/vi.spyOn', 'coverage (v8/istanbul)', 'workspace config, and snapshot testing' — giving comprehensive coverage of the skill's scope with concrete API names rather than generic verbs. The only minor gaps (hook testing, MSW mocking, covered in the body) are below the level that would drop it to the 'minor gaps in coverage' anchor.

5 / 5

Completeness

The 'what' is clearly and comprehensively answered, but there is no 'Use when...' clause or equivalent explicit trigger guidance anywhere in the description. Per the judging guidelines, a missing explicit trigger clause caps completeness at 3.

3 / 5

Trigger Term Quality

Good natural keyword coverage: 'Vitest', 'TypeScript', 'unit and component testing', 'Testing Library', 'snapshot testing' are all phrases a user would naturally say. A few natural variations are missing ('Vite', 'test files', 'migrating from Jest'), keeping it just below the comprehensive-synonyms anchor.

4 / 5

Distinctiveness Conflict Risk

The description is anchored to a clear niche: it names 'Vitest 2.x' and Vitest-specific APIs ('vi.fn/vi.mock/vi.spyOn') in the opening clause, so it would not plausibly trigger for Jest, Playwright, or generic testing skills. Conflict risk is minimal.

5 / 5

Total

17

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (534 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

14

/

16

Passed

Repository

achreftlili/deep-dev-skills

Path

testing/vitest-testing-skill/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.