CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/kotest-tests

Configures and runs Kotest - Kotlin-native test framework with multiple specification styles (StringSpec, FunSpec, BehaviorSpec, DescribeSpec, ShouldSpec, FreeSpec, FeatureSpec, ExpectSpec, AnnotationSpec); rich matcher library; built-in property-based testing (alternative to jqwik); coroutines support; data-driven testing; isolation modes per-spec or per-test; integrates with Gradle JVM test task. Use when working with Kotlin and wanting Kotlin-idiomatic DSL over JUnit 5's annotation-driven approach. Matchers (shouldBe, shouldContain) are bundled with the runner and are not a drop-in replacement for a standalone JVM assertion library; for assertion-only use paired with JUnit 5 / TestNG / Spock see assertj.

80

Quality

100%

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

100%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The content is lean, executable, and well-structured: numbered steps, copy-paste Kotlin examples, a single well-signaled reference file, an anti-patterns table, and a worked example. It respects Claude's intelligence and keeps detail one level deep.

DimensionReasoningScore

Conciseness

The body is code-forward and assumes Claude's competence — it never explains what a test framework, Gradle, or coroutines are. The 'How to use' list functions as a step-indexed table of contents rather than padding, and the worked example reinforces rather than restates. It is not 2 because there is no concept-explaining filler or unnecessary tutorial prose to tighten.

3 / 3

Actionability

Provides fully executable, copy-paste-ready Kotlin: a build.gradle.kts dependency block with versions and useJUnitPlatform(), StringSpec/FunSpec/BehaviorSpec test examples, checkAll property cases, a coroutine test, withData rows, and the CI command './gradlew test jacocoTestReport'. It is not 2 because the code is concrete and complete rather than pseudocode or abstract description.

3 / 3

Workflow Clarity

An explicit 8-step sequence (Steps 1-8) with a 'How to use' summary mapping sub-tasks to step numbers, plus a worked example and an anti-patterns table. Test authoring is not a destructive/batch operation, so the cap-at-2 validation rule does not apply; the run/coverage step (Step 8) and the worked-example verification serve as the validation checkpoint. It is not 2 because the sequence and checkpoints are explicit.

3 / 3

Progressive Disclosure

SKILL.md is a concise overview that offloads the matcher catalog and isolation-mode table to a single real, one-level-deep reference (references/matchers-and-isolation.md), signaled three times with clear link text. It is not 2 because references are well-signaled, shallow, and the split is appropriate rather than inline monolith or nested pointer chains.

3 / 3

Total

12

/

12

Passed

Description

100%

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 specific, complete, and distinctive, with an explicit 'Use when' trigger and clear differentiation from adjacent JVM tools. Its only weakness is verbosity — enumerating all nine specification styles and the trailing assertion-library caveat add length without proportional trigger value.

DimensionReasoningScore

Specificity

Lists multiple concrete actions and capabilities ('Configures and runs Kotest', 'rich matcher library', 'built-in property-based testing', 'coroutines support', 'data-driven testing', 'isolation modes per-spec or per-test', 'integrates with Gradle JVM test task') rather than vague language. It is somewhat padded by enumerating all 9 spec styles, but the anchor for 3 is met and there is no abstract or buzzword-only language that would drop it to 2.

3 / 3

Completeness

Explicitly answers both what it does (configures/runs Kotest with the listed features) and when to use it ('Use when working with Kotlin and wanting Kotlin-idiomatic DSL over JUnit 5's annotation-driven approach'). It is not 2 because the 'when' is stated explicitly with a trigger clause, not merely implied.

3 / 3

Trigger Term Quality

Covers natural terms a user would say when reaching for this skill ('Kotlin', 'Kotlin-native test framework', 'Kotest', 'property-based testing', 'coroutines', 'Gradle', 'JUnit 5') and provides an explicit 'Use when working with Kotlin and wanting Kotlin-idiomatic DSL' trigger. It does not fall to 2 because the relevant natural vocabulary is well covered, not just technical jargon.

3 / 3

Distinctiveness Conflict Risk

Names a specific framework (Kotest) and explicitly differentiates from JUnit 5, jqwik, and assertj ('not a drop-in replacement for a standalone JVM assertion library; for assertion-only use paired with JUnit 5 / TestNG / Spock see assertj'), giving it a clear niche. It is not 2 because the named framework and the comparison sharpen it beyond a generic overlap-prone description.

3 / 3

Total

12

/

12

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