This skill uses the test-doubles-generator plugin to automatically create mocks, stubs, spies, and fakes for unit testing. It analyzes dependencies in the code and generates appropriate test doubles based on the chosen testing framework, such as Jest, Sinon, or others. Use this skill when you need to generate test doubles, mocks, stubs, spies, or fakes to isolate units of code during testing. Trigger this skill by requesting test double generation or using the `/gen-doubles` or `/gd` command.
90
53%
Does it follow best practices?
Impact
97%
1.00xAverage score across 9 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./backups/skills-migration-20251108-070147/plugins/testing/test-doubles-generator/skills/test-doubles-generator/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 communicates what the skill does (generates mocks, stubs, spies, and fakes for unit testing), how it works (analyzes dependencies, supports multiple frameworks), and when to use it (explicit 'Use this skill when...' clause with natural trigger terms and command shortcuts). It uses proper third-person voice throughout and provides sufficient detail for disambiguation from other skills.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: 'create mocks, stubs, spies, and fakes', 'analyzes dependencies in the code', 'generates appropriate test doubles based on the chosen testing framework'. Also names specific frameworks (Jest, Sinon). | 3 / 3 |
Completeness | Clearly answers both 'what' (creates mocks/stubs/spies/fakes, analyzes dependencies, generates test doubles for various frameworks) and 'when' (explicit 'Use this skill when you need to generate test doubles...' clause plus command triggers). | 3 / 3 |
Trigger Term Quality | Excellent coverage of natural terms users would say: 'mocks', 'stubs', 'spies', 'fakes', 'test doubles', 'unit testing', plus explicit command triggers '/gen-doubles' and '/gd'. These are all terms a developer would naturally use. | 3 / 3 |
Distinctiveness Conflict Risk | Occupies a clear niche focused specifically on test double generation, distinct from general testing skills or code generation skills. The specific plugin name, command triggers, and focused domain (mocks/stubs/spies/fakes) make it unlikely to conflict with other skills. | 3 / 3 |
Total | 12 / 12 Passed |
Implementation
7%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This skill content is essentially a marketing description of what the skill does rather than actionable instructions for Claude. It lacks any executable code examples, concrete output formats, or specific implementation guidance. The content explains concepts Claude already understands and provides no real value beyond what the skill description already conveys.
Suggestions
Replace the abstract 'How It Works' section with concrete steps showing actual commands (e.g., `/gen-doubles dataService.js --framework jest`) and expected output with real mock/stub code examples.
Add at least one complete, executable example showing input code and the exact generated test double output for a specific framework like Jest or Sinon.
Remove the 'Overview', 'When to Use This Skill', and 'Integration' sections entirely—they restate the description and explain concepts Claude already knows.
Add validation guidance: how to verify generated test doubles compile, match the dependency interface, and integrate correctly into existing test suites.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The content is verbose and explains concepts Claude already knows (what mocks, stubs, spies, and fakes are; how dependency analysis works). Sections like 'Overview', 'How It Works', 'When to Use This Skill', and 'Integration' are largely filler that restate the description without adding actionable value. | 1 / 3 |
Actionability | There is no executable code, no concrete commands, no actual generated output examples, and no copy-paste ready snippets. The examples describe what the skill 'will do' in abstract terms rather than showing actual mock/stub code output. The skill describes rather than instructs. | 1 / 3 |
Workflow Clarity | The 'How It Works' section lists three abstract steps (analyze, generate, insert) with no concrete commands, validation checkpoints, or error handling. The examples similarly describe a vague process without showing actual steps Claude should execute or how to verify correctness of generated doubles. | 1 / 3 |
Progressive Disclosure | The content is organized into sections with headers, which provides some structure. However, there are no references to external files, no bundle files exist, and content that could be split (e.g., framework-specific examples) is instead absent entirely rather than being organized elsewhere. | 2 / 3 |
Total | 5 / 12 Passed |
Validation
100%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 11 / 11 Passed
Validation for skill structure
No warnings or errors.
13d35b8
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.