Implement comprehensive testing strategies using Jest, Vitest, and Testing Library for unit tests, integration tests, and end-to-end testing with mocking, fixtures, and test-driven development. Use when writing JavaScript/TypeScript tests, setting up test infrastructure, or implementing TDD/BDD workflows.
79
75%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./plugins/javascript-typescript/skills/javascript-testing-patterns/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 strong skill description that covers specific tools, test types, and techniques while providing explicit trigger guidance via a 'Use when...' clause. It uses third person voice correctly and includes a rich set of natural trigger terms that developers would use. The description is concise yet comprehensive, clearly distinguishing itself from other potential skills.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions and tools: 'Jest, Vitest, and Testing Library for unit tests, integration tests, and end-to-end testing with mocking, fixtures, and test-driven development.' This covers specific frameworks, test types, and techniques. | 3 / 3 |
Completeness | Clearly answers both 'what' (implement testing strategies using specific tools for specific test types) and 'when' ('Use when writing JavaScript/TypeScript tests, setting up test infrastructure, or implementing TDD/BDD workflows'). The explicit 'Use when...' clause is present with clear triggers. | 3 / 3 |
Trigger Term Quality | Includes strong natural keywords users would say: 'Jest', 'Vitest', 'Testing Library', 'unit tests', 'integration tests', 'end-to-end testing', 'mocking', 'fixtures', 'TDD', 'BDD', 'JavaScript/TypeScript tests', 'test infrastructure'. These cover a wide range of terms a developer would naturally use. | 3 / 3 |
Distinctiveness Conflict Risk | Clearly scoped to JavaScript/TypeScript testing with specific frameworks (Jest, Vitest, Testing Library). The combination of specific tools and the JS/TS language constraint makes it unlikely to conflict with other skills like general coding, Python testing, or non-testing JS skills. | 3 / 3 |
Total | 12 / 12 Passed |
Implementation
50%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The skill provides comprehensive, executable code examples covering many JavaScript testing patterns, but is far too verbose for a skill file—much of the content (basic unit tests, trivial calculator examples, obvious best practices) is knowledge Claude already possesses. The lack of a clear TDD workflow or sequenced testing process undermines the skill's stated purpose, and the content would benefit significantly from aggressive trimming and better separation of overview vs. reference material.
Suggestions
Drastically reduce inline code examples to only non-obvious patterns (e.g., module mocking, DI testing, fixture factories) and remove trivial examples like calculator tests that Claude can generate without guidance.
Add an explicit TDD workflow with sequenced steps (write failing test → implement → refactor → verify coverage) since TDD is listed as a key use case but never actually described as a process.
Remove or heavily condense the 'Best Practices' list—these are well-known testing principles that Claude already follows, and listing 15 one-liners adds little value.
Move the bulk of mocking patterns and class testing examples to the referenced advanced-testing-patterns.md file, keeping only a concise summary with one representative example per category in the main skill.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Extremely verbose with extensive boilerplate code examples that Claude already knows how to write. The calculator test example, basic class CRUD tests, and trivial patterns like testing `add(2,3)` waste significant tokens. The 'When to Use This Skill' section and best practices list are largely obvious to Claude. | 1 / 3 |
Actionability | All code examples are fully executable TypeScript with proper imports, complete test files, and realistic patterns. Configuration files for Jest and Vitest are copy-paste ready with sensible defaults. | 3 / 3 |
Workflow Clarity | The skill covers many testing patterns but lacks a clear workflow for how to approach testing a new project or feature. There's no sequenced process for TDD despite claiming to cover it, and no validation checkpoints (e.g., run tests, check coverage, fix failures). The content reads as a reference catalog rather than a guided workflow. | 2 / 3 |
Progressive Disclosure | There are appropriate references to 'references/advanced-testing-patterns.md' for integration testing, frontend testing, and advanced patterns. However, the main file is still very long with extensive inline code that could be split out, and the boundary between what's inline vs. referenced feels inconsistent (e.g., full mocking examples inline but integration tests referenced out). | 2 / 3 |
Total | 8 / 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 |
|---|---|---|
skill_md_line_count | SKILL.md is long (538 lines); consider splitting into references/ and linking | Warning |
Total | 10 / 11 Passed | |
27a7ed9
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.