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 clearly articulates specific capabilities (testing frameworks, test types, techniques), includes abundant natural trigger terms that developers would use, and provides an explicit 'Use when...' clause. It is well-scoped to the JS/TS testing ecosystem, minimizing conflict risk with other 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 testing tools and language ecosystem makes it highly distinguishable from general coding skills or other testing-related skills for different languages. | 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 highly actionable, executable code examples covering a broad range of testing patterns, which is its primary strength. However, it is excessively verbose for a skill file—much of the content (basic calculator tests, simple CRUD class tests, trivial mocking patterns) represents knowledge Claude already possesses and wastes significant context window space. The best practices section is a generic list that adds little value, and the workflow guidance for actually implementing TDD or setting up test infrastructure is weak.
Suggestions
Drastically reduce inline code examples to only non-obvious patterns (e.g., dependency injection mocking, module mocking with vi.mock). Remove trivial examples like calculator tests and basic class CRUD tests that Claude can generate without guidance.
Remove the 'When to Use This Skill' section and the generic 'Best Practices' list—these are things Claude already knows and consume tokens without adding value.
Add an explicit TDD workflow with validation steps, e.g., '1. Write failing test → 2. Run `npm test` to confirm failure → 3. Implement minimal code → 4. Run tests to confirm pass → 5. Refactor'.
Move the bulk of code examples to the referenced advanced-testing-patterns.md file and keep SKILL.md as a concise overview with only the most project-specific or non-obvious patterns inline.
| 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 presents patterns clearly but lacks explicit workflow sequencing for multi-step processes like setting up a test suite from scratch or implementing TDD. There are no validation checkpoints (e.g., 'run tests to verify setup before proceeding'). The best practices list is a flat enumeration rather than a guided workflow. | 2 / 3 |
Progressive Disclosure | References to advanced-testing-patterns.md are well-signaled and one level deep, which is good. However, the main file is still a monolithic wall of code (~400+ lines) with patterns that could have been split out more aggressively. The inline content is too heavy for an overview file while the referenced content covers important topics like integration testing and frontend testing. | 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 | |
91fe43e
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.