CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

test-doubles-first

Select and implement the right test double with a default preference for fakes, stubs, and spies over mocks. Use when writing or refactoring tests, especially when users mention test doubles, mocking strategy, interaction assertions, or flaky tests caused by over-mocking.

Quality

93%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

92%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

An exemplary instruction-only skill body: lean, decision-oriented, and well-structured, with a clear decision procedure, a validation checklist, and clean delegation of templates to real one-level-deep references. The only gap is that executable code lives entirely in the references and a few directives (e.g., port abstraction) remain abstract.

DimensionReasoningScore

Conciseness

The body is pure decision policy with zero concept explanations ("Avoid mock-by-default", "Keep stubs configurable per scenario; do not build mini-systems") and assumes Claude already knows what fakes, stubs, spies, and mocks are. Every section instructs rather than teaches, matching the 'lean and efficient; every token earns its place' anchor.

5 / 5

Actionability

Provides a concrete branchable decision tree, copy-ready naming patterns ("FakeXxxRepo", "FixedClockStub"), and numeric thresholds ("More than 2-3 interaction expectations"), but no inline executable code (templates are delegated to references) and "raise the abstraction of the port" is abstract direction without a how. This lands at 'mostly executable guidance with minor gaps' rather than fully copy-paste ready.

4 / 5

Workflow Clarity

The 4-step decision tree is a clearly sequenced procedure with explicit yes/no branches, and the "Quick PR Smell Check" section is a validation checklist with error-recovery redirections (rename-breaks-test implies over-mocking; fake divergence implies a contract test is needed). Not a destructive or batch operation, so no validation cap applies.

5 / 5

Progressive Disclosure

The body is an overview with a Quick Navigation TOC, and all template/detail content is split into three real, one-level-deep reference files (references/examples.md, references/usage.md, references/quick.md), each introduced with a descriptive pointer of its contents. This matches the 'clear overview with well-signaled one-level-deep references' anchor exactly.

5 / 5

Total

19

/

20

Passed

Description

91%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description that clearly states both capability and trigger context with domain-natural language. Its only weaknesses are the slightly broad "writing or refactoring tests" trigger, which risks overlap with general testing skills, and action coverage that stops just short of comprehensive.

DimensionReasoningScore

Specificity

Names concrete actions ("Select and implement the right test double") and enumerates the full double taxonomy ("fakes, stubs, and spies over mocks"), but coverage has minor gaps (e.g., contract tests, naming conventions are not surfaced). It exceeds anchor 3's '1-2 concrete actions' but falls short of anchor 5's comprehensive action coverage.

4 / 5

Completeness

Explicitly answers what ("Select and implement the right test double with a default preference for fakes, stubs, and spies over mocks") and when with concrete trigger phrases ("Use when writing or refactoring tests, especially when users mention test doubles, mocking strategy, interaction assertions, or flaky tests"). This is a direct match for the anchor 5 example pattern.

5 / 5

Trigger Term Quality

Includes the natural phrases a user would say when needing this skill: "test doubles", "mocking strategy", "interaction assertions", "flaky tests caused by over-mocking", plus stub/spy/fake/mock and "refactoring tests". Coverage is comprehensive with synonyms for the niche, exceeding anchor 4 which expects 'a few natural terms missing'.

5 / 5

Distinctiveness Conflict Risk

The test-double selection niche and its triggers (test doubles, mocking strategy, over-mocking) are distinctive, but the broad clause "Use when writing or refactoring tests" could fire on general test-writing tasks that overlap a generic testing skill. This is 'mostly distinct; minor overlap risk' (anchor 4) rather than anchor 5's minimal conflict risk.

4 / 5

Total

18

/

20

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 — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

saski/arnesto

Path

.agents/skills/test-doubles-first/SKILL.md

Reviewed

Table of Contents

Is this your skill?

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.