CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/fast-check-testing

Authors property-based tests in JavaScript / TypeScript using fast-check - wires `fc.assert(fc.property(arbitrary, ...))`, picks arbitraries (`fc.integer`, `fc.string`, `fc.array`, `fc.tuple`, `fc.record`), uses `.map()` / `.chain()` / `.filter()` to build domain arbitraries, and integrates with Jest / Vitest / Mocha / Jasmine / AVA / Tape. Use when a JS/TS codebase needs PBT to catch edge cases - fast-check has been used to find bugs in major libraries (`query-string`, etc.) and is trusted by Jest, Jasmine, fp-ts, Ramda.

97

Quality

97%

Does it follow best practices?

Impact

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

Overview
Quality
Evals
Security
Files

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.

The skill body is actionable, well-structured, and uses progressive disclosure effectively with a verified bundle. Its main weakness is mild redundancy between the narrative sections and the 'How to use' recap, which could be tightened without losing clarity.

Suggestions

Collapse the overlap between the narrative sections (Basic property, Integrate with the test runner) and the 'How to use' numbered recap so each instruction appears once, trimming the round-trip example that duplicates the basic property.

Consider moving the credential/trust list out of the description into a one-line 'Limitations' or 'Context' note so the description stays purely about capability and triggers.

DimensionReasoningScore

Conciseness

The body is mostly lean with no padded explanations of basic concepts, but the 'How to use' section re-sequences guidance already covered in the narrative sections and the round-trip pattern is demonstrated twice (basic example + worked example), so minor trimming is possible.

4 / 5

Actionability

Provides copy-paste-ready, executable code for the common cases — the canonical Mocha property, a Vitest reverse example, and a full worked codec with `fc.record`/`fc.uuid`/`fc.uniqueArray` — plus install commands and named APIs (`fc.asyncProperty`, `fc.scheduler`, `fc.commands`, `fc.modelRun`).

5 / 5

Workflow Clarity

The 8-step 'How to use' sequence is clearly ordered and includes an explicit verification feedback loop (step 7: re-run all 100 cases and replay the failing seed; if it still fails the fix is incomplete or the property is wrong, so correct and re-run), satisfying the batch-operation validation requirement.

5 / 5

Progressive Disclosure

The body is an overview that points to three real, one-level-deep reference files (arbitraries.md, shrinking-and-reproducibility.md, stateful-and-async.md), each clearly signaled by markdown links and summarized in a References section; content is appropriately split.

5 / 5

Total

19

/

20

Passed

Description

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

The description is third-person, concrete, and explicitly pairs a detailed 'what' with an explicit 'Use when...' trigger clause. Its only weakness is mild credential padding in the tail ('trusted by Jest, Jasmine, fp-ts, Ramda'), but this does not dilute the concrete capability list.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — wiring `fc.assert(fc.property(arbitrary, ...))`, picking specific arbitraries (`fc.integer`, `fc.string`, `fc.array`, `fc.tuple`, `fc.record`), building domain arbitraries via `.map()`/`.chain()`/`.filter()`, and integrating with named runners — giving comprehensive coverage rather than vague language.

5 / 5

Completeness

Explicitly answers both what ('Authors property-based tests... wires... picks... uses... integrates with...') and when ('Use when a JS/TS codebase needs PBT to catch edge cases') with concrete trigger phrasing.

5 / 5

Trigger Term Quality

Covers the natural terms a user would say — 'property-based tests', 'PBT', 'fast-check', 'JavaScript / TypeScript', and all major runner names (Jest/Vitest/Mocha/Jasmine/AVA/Tape) — including the synonym pair 'property-based tests'/'PBT'.

5 / 5

Distinctiveness Conflict Risk

Names a specific library (fast-check), a specific paradigm (property-based testing), and a specific language niche (JS/TS), creating a clear niche with minimal overlap risk against sibling skills.

5 / 5

Total

20

/

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.

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Reviewed

Table of Contents