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.
58
67%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./tests/ext_conformance/artifacts/agents-wshobson/javascript-typescript/skills/javascript-testing-patterns/SKILL.mdQuality
Discovery
92%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 (multiple testing frameworks, test types, and methodologies) and provides explicit trigger guidance with a 'Use when...' clause. The trigger terms are natural and comprehensive, covering both framework names and testing concepts. The only minor weakness is the broad scope which could potentially overlap with more specialized testing 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 frameworks for various test types with mocking, fixtures, and TDD) and 'when' (explicit 'Use when writing JavaScript/TypeScript tests, setting up test infrastructure, or implementing TDD/BDD workflows'). | 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 | While it specifies JavaScript/TypeScript testing frameworks clearly, the broad scope ('comprehensive testing strategies') and terms like 'end-to-end testing' could overlap with skills focused on Cypress, Playwright, or other E2E-specific tools. The mention of specific frameworks (Jest, Vitest) helps but the breadth introduces some conflict risk. | 2 / 3 |
Total | 11 / 12 Passed |
Implementation
42%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 JavaScript testing patterns, which is its primary strength. However, it is severely over-long and verbose, explaining many patterns Claude already knows (basic unit tests, simple CRUD operations, trivial hooks). The monolithic structure with no progressive disclosure makes it a poor fit for a SKILL.md that should be a concise overview pointing to detailed references.
Suggestions
Reduce the SKILL.md to a concise overview (~100 lines) covering framework setup, key patterns summary, and critical gotchas, then split detailed patterns into separate referenced files (e.g., MOCKING_PATTERNS.md, INTEGRATION_TESTING.md, FRONTEND_TESTING.md).
Remove trivially obvious examples (calculator tests, basic CRUD tests) and focus on patterns Claude is less likely to know correctly — complex mocking setups, database test lifecycle management, and timer/async edge cases.
Add an explicit TDD workflow with validation checkpoints: 1) Write failing test → 2) Verify it fails → 3) Implement → 4) Verify it passes → 5) Refactor → 6) Re-run tests.
Remove the 15-item best practices list — these are generic testing principles Claude already knows. Replace with project-specific conventions or common pitfalls that are non-obvious.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Extremely verbose at ~600+ lines. Includes many patterns Claude already knows (basic calculator tests, simple CRUD tests, trivial hook tests). The 15-item best practices list is generic knowledge. Much of this could be condensed to key patterns and gotchas rather than exhaustive examples of basic testing. | 1 / 3 |
Actionability | All code examples are fully executable TypeScript with complete implementations and corresponding test files. Config files are copy-paste ready, mocking patterns show real imports and setup, and integration tests include database setup/teardown. | 3 / 3 |
Workflow Clarity | The skill presents patterns clearly but lacks an explicit workflow for setting up testing from scratch or a TDD cycle. There are no validation checkpoints (e.g., 'run tests to verify setup before proceeding'). The content is organized by pattern type but doesn't guide through a sequential process. | 2 / 3 |
Progressive Disclosure | Monolithic wall of content with no references to external files. Everything is inline — config examples, unit tests, integration tests, frontend tests, fixtures, snapshots, and best practices all in one massive document. This would benefit enormously from splitting into separate files (e.g., MOCKING.md, INTEGRATION.md, FRONTEND.md) with a concise overview. | 1 / 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 |
|---|---|---|
skill_md_line_count | SKILL.md is long (1022 lines); consider splitting into references/ and linking | Warning |
Total | 10 / 11 Passed | |
b09ec7f
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.