CtrlK
BlogDocsLog inGet started
Tessl Logo
PluginPublic

testland/test-data-patterns

Use when choosing how a test suite builds its test data, or when fixtures have drifted into shared mutable state. Explains Test Data Builder, Factory, Object Mother, fixture composition, snapshots and production-data anonymization, and when each fits, before picking a tool.

Quality

85%

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

Overview
Quality
Evals
Security
Files

Quality

Content

75%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.

A highly actionable, well-structured pattern catalog with runnable code in three languages, concrete commands, and strong selection/anti-pattern tables. Its weaknesses are verbosity (definitions and canonical-source background for patterns Claude already knows) and a missing feedback loop after the random-order validation step, plus a monolithic single-file layout that could offload per-pattern detail to reference files.

Suggestions

Trim or collapse the 'Definition' paragraphs and canonical-source attributions for well-known patterns (Builder, Factory, Object Mother) into one-line pointers, keeping the anti-pattern tables and selection guide — the parts Claude cannot derive on its own — as the body's core.

Add a short error-recovery step after the random-order re-run (e.g., what to do when a test fails only in randomized order: how to trace the data dependency and which pattern to switch to), completing the validate → fix → retry loop.

Move per-pattern detail (cross-language equivalents, canonical references, extended examples) into per-pattern files under references/ and keep SKILL.md as the overview plus the pattern-selection guide and cross-cutting anti-patterns.

DimensionReasoningScore

Conciseness

Mostly efficient — the anti-pattern and selection tables are dense with judgment — but it defines patterns Claude already knows ("A Test Data Builder is a class with chainable methods...", "A Factory is a registered, named template...", the Fowler quote) and carries a long References section, so it could be tightened; not level 2 since the padding is confined to definitions rather than pervasive.

3 / 5

Actionability

Fully executable guidance: a runnable TypeScript builder, real FactoryBot and factory_boy code, concrete commands (`pytest --random-order`, `jest --randomize`), a grep-based inventory step, and a per-need decision table covering the common cases.

5 / 5

Workflow Clarity

The four-step catalog process (Inventory → Pick → Check → Hand off) is clearly sequenced with a hard checkpoint ("Stop and fix any production data that is not anonymised before anything else") and a validation step (re-run the suite twice in random order), but there is no error-recovery guidance for what to do when that random-order re-run exposes cross-test data dependence, so it falls short of the feedback-loop anchor.

4 / 5

Progressive Disclosure

Well-sectioned single-file catalog with clearly signaled, one-level-deep references (external URLs and named sibling skills, no nested chains), but ~300 lines of per-pattern detail (definitions, cross-language equivalents, canonical sources) are inlined in SKILL.md when they could be split into per-pattern reference files; fits 'good structure; minor organization gaps'.

4 / 5

Total

16

/

20

Passed

Description

88%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: it names all six patterns it covers, gives an explicit two-scenario 'Use when' trigger in third person, and carves out a clear pre-tool-selection niche. The only weaknesses are a few missing natural trigger variants and mild overlap with a test-isolation sibling skill on the shared-mutable-state trigger.

DimensionReasoningScore

Specificity

The description enumerates all six concrete capabilities ("Explains Test Data Builder, Factory, Object Mother, fixture composition, snapshots and production-data anonymization, and when each fits, before picking a tool") in third person, with no coverage gaps; it exceeds the 'several specific actions; minor gaps' anchor.

5 / 5

Completeness

It explicitly answers both questions: 'what' (explains the six named patterns and when each fits, before picking a tool) and 'when' via a concrete "Use when" clause with two trigger scenarios (choosing how a suite builds test data; fixtures drifted into shared mutable state), matching the level-5 exemplar structure.

5 / 5

Trigger Term Quality

Natural user phrasings are present ("test data", "test suite", "fixtures", "shared mutable state", "snapshots", "anonymization"), but a few common variants users would say are missing (e.g., "flaky tests", "test factories", "setUp/beforeAll state"), so it fits 'good keyword coverage; a few natural terms missing' rather than comprehensive synonym coverage.

4 / 5

Distinctiveness Conflict Risk

The niche (test-data construction pattern selection, explicitly 'before picking a tool') is mostly distinct from tool-configuration skills, but the 'fixtures have drifted into shared mutable state' trigger overlaps a sister test-isolation skill, giving minor overlap risk rather than minimal.

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.

Reviewed

On this page