CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

kotlin-testing

Kotlin testing patterns with Kotest, MockK, coroutine testing, property-based testing, and Kover coverage. Follows TDD methodology with idiomatic Kotlin practices. Use when writing Kotlin tests with Kotest or MockK, or testing coroutines and checking coverage.

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

SKILL.md
Quality
Evals
Security

Quality

Content

77%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 body is highly actionable — complete executable code, concrete commands, and a well-validated TDD workflow with feedback loops — and it never wastes tokens explaining concepts Claude already knows. Its weaknesses are structural: an ~820-line monolithic file where reference-like material (matchers, spec styles, Ktor, CI) should be split into one-level-deep reference files, and some duplicated MockK examples that could be trimmed.

Suggestions

Split reference-like sections (Kotest Matchers, Spec Styles, Property-Based Testing, Ktor testApplication, CI/CD) into references/*.md files and keep SKILL.md as an overview with well-signaled one-level-deep links — this addresses both progressive_disclosure and conciseness.

Remove duplication: the FunSpec example already demonstrates mockk<UserRepository>() with coEvery, so the basic MockK section's UserServiceTest repeats the same pattern; keep one canonical version.

Move the version-sensitive Kover plugin version ('0.9.7') and matcher catalog into a reference file so the main body stays lean and version churn doesn't bloat the always-loaded skill.

DimensionReasoningScore

Conciseness

The ~820-line body avoids concept-explaining padding (all signal, mostly code), but bulk reference material — the full matcher catalog, four spec-style tutorials, Ktor setup, and CI YAML — is inlined in SKILL.md, and MockK usage is demonstrated twice (in the FunSpec example and again in the MockK section). This fits 'mostly efficient but could be tightened' rather than 4, given how much content a single context load carries.

3 / 5

Actionability

Every pattern ships complete, executable Kotlin — the TDD walkthrough runs from failing test to passing implementation with real test output, and the gradle commands (`./gradlew test --tests ...`, `koverHtmlReport`, `koverVerify`), Kover Gradle config, and CI YAML are copy-paste ready. Matches the fully-executable anchor.

5 / 5

Workflow Clarity

'How It Works' lays out a 7-step TDD sequence with explicit validation checkpoints ('Run tests (RED) — verify the test fails with the expected error', 'verify PASS', refactor keeping tests green), and the EmailValidator walkthrough demonstrates the fail→implement→pass feedback loop with actual test output. Clear sequence with explicit validation and error-recovery loops.

5 / 5

Progressive Disclosure

No bundle files exist (references/, scripts/, assets/ are all absent), so everything lives inline in one ~820-line SKILL.md. Section headers and the quick-reference anchor links give reasonable navigation, but content that clearly belongs in separate files (matcher catalog, spec-style catalog, Ktor testing, CI integration) is inline with no one-level-deep references — the 'some structure but could be better organized' anchor. Not 4: there is no file-level split at all.

3 / 5

Total

16

/

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: it states concrete capabilities with named tools and an explicit 'Use when…' trigger clause in third person, with no fluff or over-claims. The only weakness is modest keyword variation — it could add common synonyms like 'unit tests' or 'test coverage' to widen natural triggering.

DimensionReasoningScore

Specificity

The description enumerates multiple concrete capabilities — 'Kotlin testing patterns with Kotest, MockK, coroutine testing, property-based testing, and Kover coverage. Follows TDD methodology' — with no vague padding, matching the comprehensive-coverage anchor. Not 4: there are no meaningful gaps in the capability list for the domain.

5 / 5

Completeness

It explicitly answers what (Kotlin testing patterns with Kotest, MockK, coroutine testing, property-based testing, Kover coverage, TDD methodology) and when ('Use when writing Kotlin tests with Kotest or MockK, or testing coroutines and checking coverage') with concrete trigger phrases, exactly matching the top anchor.

5 / 5

Trigger Term Quality

Natural phrases users would say are present ('writing Kotlin tests', 'testing coroutines', 'checking coverage', 'Kotest', 'MockK', 'TDD'), but common variations like 'unit tests', 'test coverage', 'flaky tests', or JUnit migration are absent. This fits 'good keyword coverage; a few natural terms missing' rather than the comprehensive 5 anchor.

4 / 5

Distinctiveness Conflict Risk

A clear Kotlin-testing niche with distinct tool names (Kotest, MockK, Kover) that would rarely trigger for the wrong skill; only negligible overlap with a generic Kotlin skill. Matches the clear-niche anchor.

5 / 5

Total

19

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (826 lines); consider splitting into references/ and linking

Warning

metadata_version

'metadata.version' is missing

Warning

Total

14

/

16

Passed

Repository

affaan-m/ECC

Path

skills/kotlin-testing/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.