Vitest-specific testing utilities — vi.mock, vi.fn, fake timers, MSW. Use when writing tests with Vitest, mocking dependencies, or setting up test infrastructure.
74
67%
Does it follow best practices?
Impact
82%
0.83xAverage score across 3 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/framework/tech-vitest/SKILL.mdQuality
Discovery
100%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is a well-crafted skill description that follows best practices. It uses third person voice, lists specific Vitest utilities, includes a clear 'Use when...' clause with natural trigger terms, and is distinctly scoped to Vitest rather than generic testing. The description efficiently communicates both capabilities and selection criteria.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions and tools: 'vi.mock, vi.fn, fake timers, MSW' along with clear use cases like 'mocking dependencies' and 'setting up test infrastructure'. | 3 / 3 |
Completeness | Clearly answers both what ('Vitest-specific testing utilities — vi.mock, vi.fn, fake timers, MSW') and when ('Use when writing tests with Vitest, mocking dependencies, or setting up test infrastructure') with explicit trigger guidance. | 3 / 3 |
Trigger Term Quality | Includes natural keywords users would say: 'Vitest', 'tests', 'mocking', 'vi.mock', 'vi.fn', 'fake timers', 'MSW', 'test infrastructure' - good coverage of both framework-specific and general testing terms. | 3 / 3 |
Distinctiveness Conflict Risk | Clearly scoped to Vitest specifically with framework-specific APIs (vi.mock, vi.fn) that distinguish it from Jest or other testing frameworks. The 'Vitest-specific' qualifier and named utilities create a clear niche. | 3 / 3 |
Total | 12 / 12 Passed |
Implementation
35%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This skill is essentially a shell that redirects to external rules without providing any Vitest-specific content. It lacks the concrete vi.mock, vi.fn, fake timers, and MSW examples promised in the description. The troubleshooting and workflow sections are generic templates that could apply to any skill.
Suggestions
Add executable code examples for vi.mock, vi.fn, and fake timers (e.g., `vi.useFakeTimers()`, `vi.fn().mockReturnValue()`)
Include a concrete MSW setup example showing how to mock API calls in Vitest tests
Replace generic troubleshooting with Vitest-specific issues (e.g., 'Mock not resetting between tests' → 'Add vi.clearAllMocks() in beforeEach')
Provide a minimal but complete test file example demonstrating the key patterns
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The content is relatively brief but contains boilerplate troubleshooting sections that don't add Vitest-specific value. The generic troubleshooting patterns could apply to any skill. | 2 / 3 |
Actionability | No concrete code examples, commands, or Vitest-specific guidance. The skill describes what to do abstractly ('Use tech-vitest guidance') but provides no executable vi.mock, vi.fn, or fake timer examples. | 1 / 3 |
Workflow Clarity | A 3-step workflow exists but is extremely generic ('Identify', 'Apply', 'Validate'). No Vitest-specific validation steps, no concrete checkpoints for test setup or mocking verification. | 2 / 3 |
Progressive Disclosure | References a rules index file which is appropriate, but the skill itself contains no substantive content to serve as an overview. The reference is the only content, making this more of a redirect than progressive disclosure. | 2 / 3 |
Total | 7 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
metadata_field | 'metadata' should map string keys to string values | Warning |
Total | 10 / 11 Passed | |
7b466be
Table of Contents
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.