CtrlK
BlogDocsLog inGet started
Tessl Logo
PluginPublic

testland/test-data-patterns

Use for any question or task about how tests build their data, including Object Mother vs Test Data Builder, long constructor calls repeated across tests, and shared fixtures that one test changes and ten others break on. Explains Test Data Builder, Factory, Object Mother, fixture composition, snapshots and production-data anonymization, and when each fits, before picking a tool.

Quality

88%

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

82%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 well-built catalog: concrete multi-language code, actionable selection and anti-pattern guidance, and a validated workflow. The main improvement levers are trimming the definitional prose for patterns Claude already knows, adding error-recovery guidance for failed random-order runs, and splitting per-pattern detail into reference files.

Suggestions

Trim or compress the per-pattern "Definition" paragraphs and the Fowler quote — these re-explain well-known patterns and could be replaced by one-line vocabulary cues, reducing the ~300-line body.

Add a short feedback loop after the hand-off step: what to do when the random-order re-run fails (e.g., which isolation pattern to apply and re-run), which would complete the workflow's validation checkpoint.

Move per-language tool equivalences and the long canonical-source list into a references/ file, keeping SKILL.md as the overview plus selection guide.

DimensionReasoningScore

Conciseness

The body is dense with high-signal tables, runnable code, and selection guidance rather than padding, but the per-pattern "**Definition:**" paragraphs and the Fowler quote re-explain patterns (Builder, Factory, Object Mother, snapshot) that Claude already knows, and the single file runs ~300 lines. Minor instances of over-explanation that could be trimmed fits 4 better than 3, since the bulk earns its place.

4 / 5

Actionability

Guidance is fully concrete: a runnable TypeScript builder ("const admin = aUser().withRole(\"admin\").build()"), idiomatic FactoryBot and factory_boy snippets, specific commands ("pytest --random-order", "jest --randomize"), a grep-based inventory step, and a need-to-pattern selection table. Examples are executable and cover the catalog's common cases, matching the 5 anchor.

5 / 5

Workflow Clarity

The four-step sequence (Inventory, Pick, Check, Hand off) is clearly ordered with explicit validation — "re-run the suite twice in random order... to confirm no test depends on another's data" and the anonymisation stop-gate "Stop and fix any production data that is not anonymised before anything else". It falls short of 5 because no error-recovery feedback loop is given for when the random-order run fails.

4 / 5

Progressive Disclosure

No bundle files exist, and the single SKILL.md is well-sectioned with anchor links ("[Pattern-selection guide](#pattern-selection-guide)"), per-pattern canonical-source pointers, a dedicated hand-off section, and a clearly labeled References section. Good structure with minor gaps — some per-pattern detail could be split into references/ files — fits 4 rather than 5's well-signaled one-level-deep file references.

4 / 5

Total

17

/

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 a clear niche, lists the complete catalog of patterns it covers, and provides explicit, symptom-based trigger phrases for both what and when. The only weaknesses are a handful of missing natural trigger synonyms and minor overlap risk with the sibling test-isolation catalog.

DimensionReasoningScore

Specificity

"Explains Test Data Builder, Factory, Object Mother, fixture composition, snapshots and production-data anonymization, and when each fits, before picking a tool" names concrete actions covering the skill's full scope, anchored by specific symptom phrases like "long constructor calls repeated across tests". Coverage is comprehensive with no minor gaps, matching the top anchor rather than the 4 anchor.

5 / 5

Completeness

Both halves are explicit: "Use for any question or task about how tests build their data, including..." answers when with concrete trigger phrases, and "Explains... and when each fits, before picking a tool" answers what. This clearly matches the 5 anchor; the 4 anchor's "when could be more explicit" does not apply since the trigger clause is specific and symptom-based.

5 / 5

Trigger Term Quality

Natural user phrases are well covered ("how tests build their data", "Object Mother vs Test Data Builder", "shared fixtures that one test changes and ten others break on"), but a few common variations such as "test fixtures" generally, "flaky tests", or "setUp boilerplate" are absent. Good keyword coverage with a few natural terms missing fits the 4 anchor, below 5's comprehensive synonym coverage.

4 / 5

Distinctiveness Conflict Risk

The niche is clear — pattern selection upstream of tool configuration — with distinctive triggers like "Object Mother vs Test Data Builder". However, "shared fixtures that one test changes and ten others break on" overlaps the closely related test-isolation skill territory, so minor overlap risk with a sibling skill keeps this at 4 rather than 5.

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