CtrlK
BlogDocsLog inGet started
Tessl Logo
PluginPublic

testland/faker-data

Fixes test data that breaks tests - factory values in a shape the code under test rejects (a phone number that is not E.164), fixtures that only pass when the whole suite runs in order, and random values that make an assertion pass or fail depending on the run. Authors test-data factories with Faker: the Python `faker` library, the `@faker-js/faker` JS port, and the `faker-ruby` gem - install per language, the provider catalogue (person / internet / location / date / finance / lorem), locale selection and multi-locale mode, and seed-based determinism for reproducible runs. Scope is generating fresh values for tests that start from nothing, not replacing values inside a dataset that already holds real records - that goes to pii-masking-pipeline-builder. Use when fixtures need realistic values, a stable shape, or a fixed seed.

98

1.04x
Quality

89%

Does it follow best practices?

Impact

99%

1.04x

Average score across 10 eval scenarios

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 solid, actionable reference: executable code across all three supported languages, correct seeding and multi-locale guidance, and a high-value anti-patterns/limitations section. The main gaps are structural - no determinism verification step in the workflow, and all per-language detail inlined in one file rather than progressively disclosed.

Suggestions

Add an explicit verification step to the seeding workflow, e.g., 'run the failing test twice with the same seed to confirm identical generated values before investigating further' - this is the natural checkpoint for the skill's core determinism claim.

Split per-language detail (install, authoring, locale specifics) into references/python.md, references/javascript.md, and references/ruby.md, keeping SKILL.md as a lean overview with one-level-deep, clearly signaled links.

Trim the repeated '(Per [faker-py][py].)' citations to a single note per section (or rely on the References section), and clean up the 'Composing factories' table so routing notes like the mimesis suggestion sit in a dedicated column or footnote.

DimensionReasoningScore

Conciseness

The body is code- and table-heavy with no concept tutorials - it assumes Claude knows what Faker-style libraries are for. Minor trims remain: the "(Per [faker-py][py].)" citation repeats after nearly every section, and the "When to use" bullets partly restate the frontmatter description. Efficient with minor over-explanation fits anchor 4; it is not anchor 5 because those repeated citations and restated bullets do not each earn their place.

4 / 5

Actionability

Install commands, executable usage snippets, seeding, and multi-locale code for all three languages are copy-paste ready, and the anti-patterns table gives concrete fixes (e.g., "Snapshot the *shape* of the data; assert types and patterns"). Fully executable guidance covering the common cases matches anchor 5; there is no pseudocode or missing key detail in the core usage paths.

5 / 5

Workflow Clarity

A clear sequence runs install → author → seed → locale → compose factories, and the anti-patterns/limitations sections provide failure-to-fix guidance ("Pin the version in CI", "Match the locale to the assertion"). It stops short of anchor 5 because no explicit verification step exists - e.g., re-run a test to confirm a seed actually reproduces the same values.

4 / 5

Progressive Disclosure

No bundle files exist, and this single ~250-line file is well-sectioned with clearly signaled cross-skill references (a References section and a link-definition table). Minor organization gaps keep it at anchor 4: per-language install/authoring/locale detail could be split into references/ files, and the "Composing factories" table cell mixes a routing note into a parenthetical. It is not anchor 5 because content is not split into one-level-deep reference files, and not anchor 3 because structure and signaling are genuinely good.

4 / 5

Total

17

/

20

Passed

Description

92%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: concrete third-person capabilities, an explicit 'Use when...' trigger clause, and explicit scope boundaries with routing to sibling skills. The only weakness is modest synonym coverage - common user phrasings like 'fake data', 'dummy data', or 'flaky tests' are not present alongside the library names.

DimensionReasoningScore

Specificity

Lists multiple concrete actions - "Fixes test data that breaks tests", "Authors test-data factories with Faker", "install per language, the provider catalogue... locale selection and multi-locale mode, and seed-based determinism" - with a concrete failure example (a phone number that is not E.164). Coverage spans fixing, authoring, configuring, and determinism, matching the comprehensive anchor; there are no minor gaps that would place it at 4.

5 / 5

Completeness

Explicitly answers both what ("Fixes test data that breaks tests... Authors test-data factories with Faker... seed-based determinism for reproducible runs") and when ("Use when fixtures need realistic values, a stable shape, or a fixed seed") with concrete trigger phrases, plus an explicit scope exclusion. This matches the anchor-5 example structure exactly; at 4 the 'when' would be less explicit or concrete.

5 / 5

Trigger Term Quality

Good natural-term coverage - "test data", "fixtures", "factory", "seed", "realistic values", plus exact library names (`faker`, `@faker-js/faker`, `faker-ruby`) a user would name. Common synonyms like "fake data", "dummy data", "sample data", or "flaky tests" are absent, which is "a few natural terms missing" rather than the comprehensive synonym coverage of the 5 anchor.

4 / 5

Distinctiveness Conflict Risk

Occupies a clear Faker/test-fixture niche with distinct triggers (fixtures, factories, seeds, locale) and explicitly routes the overlapping case to "pii-masking-pipeline-builder". Minimal conflict risk; not 4 because the boundary is stated rather than merely implied.

5 / 5

Total

19

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

referenced_paths_exist

Referenced path issues: 3 missing

Warning

Total

15

/

16

Passed

Reviewed

On this page