CtrlK
BlogDocsLog inGet started
Tessl Logo
PluginPublic

testland/jqwik-testing

Use when a Java or Kotlin project needs property-based tests: invariants, round-trip properties or edge cases example tests miss. Sets up jqwik on JUnit 5: @Property, @ForAll, Arbitraries, custom @Provide generators and shrinking, alongside normal unit tests.

Quality

86%

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

78%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-structured, code-first skill body with excellent progressive disclosure and a clear step sequence. Its main weaknesses are two API inaccuracies that break copy-paste executability (the nonexistent @Statistics annotation and the wrong global-config filename) and a missing failure-handling loop in the workflow.

Suggestions

Remove the `@Statistics` annotation from the Step 6 example — jqwik collects statistics via `Statistics.collect()` alone (verified against the jqwik user guide; only `@StatisticsReport` exists, and it controls report formatting), so the example as written will not compile.

Fix the global configuration guidance in Step 7: current jqwik reads @Property defaults from `junit-platform.properties` (legacy `jqwik.properties`), not `jqwik.config.properties` — and verify the exact property key names against the jqwik configuration docs.

Add a short failure-recovery note to Step 8 (e.g., on failure, inspect the shrunk counterexample and rerun with the reported seed via `@Property(seed = ...)`) to close the workflow's feedback loop.

DimensionReasoningScore

Conciseness

The body is code-first and lean: each step is a short example plus 1-3 sentences of jqwik-specific API detail Claude cannot be assumed to know, with detail tables delegated to the reference. Minor trimmable tokens remain — the "(more than Hypothesis's 100 or proptest's 256)" cross-library aside and the repeated "Per [jqwik-home]" attribution phrases — so it is efficient-with-minor-trimmings rather than 'every token earns its place'.

4 / 5

Actionability

Most examples are complete and copy-paste ready (Maven/Gradle snippets with pinned version, @Property/@ForAll example, @Provide custom arbitrary, Combinators usage, config table, mvn/gradle test commands). Two gaps keep it below fully-executable: Step 6 annotates the property with `@Statistics`, which does not exist in jqwik's API (collection is via `Statistics.collect()`; only `@StatisticsReport` exists, for formatting), so that example will not compile; and Step 7 names the global config file `jqwik.config.properties`, but jqwik reads defaults from `junit-platform.properties` (legacy `jqwik.properties`).

4 / 5

Workflow Clarity

A clear 8-step sequence (install → basic property → constraints → custom generators → catalog → statistics → configuration → CI) where the final step supplies a runnable verification command (`mvn test` / `gradle test`). Not a 5 because there is no error-recovery feedback loop — no guidance on what to do when a property fails (read the shrunk counterexample, rerun with the reported seed), even though Step 7's seed mechanism provides the pieces.

4 / 5

Progressive Disclosure

Well-signaled one-level-deep structure: the body keeps getting-started material inline and consistently delegates the constraint-annotation table, full Arbitraries catalog, anti-patterns, limitations, and version note to references/jqwik-reference.md, which exists and contains exactly those sections with no nested references. The References section at the bottom aids navigation. Verified against the actual bundle: the referenced path is real.

5 / 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: concrete, third-person capability list paired with an explicit 'Use when' clause containing natural trigger phrases. Keyword coverage and disambiguation from sibling property-based-testing skills are the only areas with room to improve.

DimensionReasoningScore

Specificity

"Sets up jqwik on JUnit 5: @Property, @ForAll, Arbitraries, custom @Provide generators and shrinking" lists multiple concrete actions covering the skill's full scope (setup, annotations, generators, shrinking), matching the comprehensive anchor rather than the several-actions-with-gaps anchor. Voice is third person ("Sets up"), so no person penalty applies.

5 / 5

Completeness

Explicitly answers both questions with concrete trigger phrases: "Use when a Java or Kotlin project needs property-based tests: invariants, round-trip properties or edge cases example tests miss" (when) and the full "Sets up jqwik..." capability list (what). Matches the top anchor's what+when structure; not the level below, where 'when' would be less explicit.

5 / 5

Trigger Term Quality

Natural phrases users would say are present: "property-based tests", "invariants", "round-trip properties", "edge cases example tests miss", plus "Java or Kotlin" and "jqwik". Falls short of the comprehensive anchor because common synonyms like "property testing", "generative testing", or "QuickCheck-style" are absent.

4 / 5

Distinctiveness Conflict Risk

The Java/Kotlin + jqwik + JUnit 5 framing carves a clear niche, but the generic "property-based tests" trigger overlaps with closely related sibling skills (hypothesis-testing, quickcheck-testing — the body itself notes JUnit-QuickCheck as a JVM alternative). Minor overlap risk with closely related skills fits anchor 4; minimal-conflict anchor 5 would require sharper disambiguation from those siblings.

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