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.

Quality

73%

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

Fix and improve this skill with Tessl

tessl review fix ./.kiro/skills/kotlin-testing/SKILL.md

The canonical home for this skill is kotlin-testing in affaan-m/ECC

SKILL.md
Quality
Evals
Security

Quality

Content

70%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 highly actionable, code-first skill with an exemplary TDD workflow that includes explicit validation checkpoints and expected outputs. Its weaknesses are length and total lack of progressive disclosure — an 820-line monolith that inlines reference material (matchers catalog, Ktor, CI/CD) Claude either already knows or would only need occasionally.

Suggestions

Split occasionally-needed material (Kotest matchers catalog, Ktor testApplication, CI/CD integration) into references/*.md files and keep SKILL.md as a concise overview with one-level-deep links.

Trim the Core Matchers section to non-obvious matchers; Claude already knows shouldBe/shouldContain-style basics.

Add a Gradle dependencies snippet for Kotest/MockK so the examples are fully copy-paste runnable.

DimensionReasoningScore

Conciseness

The body is code-heavy rather than padded with prose, but sections like the 'Core Matchers' catalog (shouldBe, shouldContain, shouldBeNull, shouldThrow) restate library knowledge Claude already has, matching 'mostly efficient but includes some unnecessary explanation or could be tightened'. Not 4: the matchers catalog and basic Calculator/DescribeSpec examples go beyond minor trimming.

3 / 5

Actionability

Concrete, near-executable Kotlin examples throughout plus specific commands ('./gradlew koverHtmlReport', './gradlew koverVerify', 'test --tests "com.example.UserServiceTest"') and a complete Kover Gradle config — 'mostly executable guidance with minor gaps'. Not 5: no Gradle dependency setup for Kotest/MockK is shown, and many examples depend on project-local classes (Calculator, UserService) that aren't self-contained.

4 / 5

Workflow Clarity

The 7-step How It Works and the step-by-step TDD walkthrough sequence RED→GREEN→REFACTOR with explicit validation checkpoints and expected output ('verify FAIL' with NotImplementedError, then 'verify PASS'), plus a coverage verification step with an 80% threshold and koverVerify — matching 'clear sequence with explicit validation steps; feedback loops'.

5 / 5

Progressive Disclosure

Good section headers and an internal quick-reference index provide navigation, but the ~820-line body inlines everything — matchers reference, Ktor testing, CI/CD YAML — with zero external reference files, matching 'some structure... content that should be separate is inline'. Not 2: the document is well-sectioned with a working anchor-link index rather than a headerless wall of text.

3 / 5

Total

15

/

20

Passed

Description

66%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, third-person description that names a clear domain and the specific tooling ecosystem (Kotest, MockK, Kover, coroutine and property-based testing). Its main weakness is the complete absence of a 'when to use' clause, which caps completeness and leaves trigger guidance implicit.

Suggestions

Add an explicit trigger clause, e.g. 'Use when writing or running Kotlin tests, setting up Kotest or MockK, or configuring Kover coverage.'

Include natural user phrasings such as 'unit testing', 'mocking', and 'test coverage' to broaden trigger-term coverage.

DimensionReasoningScore

Specificity

Names the domain and several concrete items — 'Kotest, MockK, coroutine testing, property-based testing, and Kover coverage' — but these are frameworks/topics rather than enumerated actions, so it stops short of the comprehensive anchor 5 ('Extract text and tables... fill forms, merge documents').

4 / 5

Completeness

The 'what' is clear (Kotlin testing patterns with named tools), but there is no 'Use when...' clause or equivalent trigger guidance; per the judging guidelines a missing 'when' caps completeness at 3. Not 2 because the 'what' half is specific and concrete, not vague.

3 / 5

Trigger Term Quality

Includes natural keywords users would say ('Kotlin testing', 'Kotest', 'MockK', 'Kover coverage', 'TDD') but misses common variations like 'unit testing', 'mocking', or 'JUnit', matching the anchor 'good keyword coverage; a few natural terms missing'.

4 / 5

Distinctiveness Conflict Risk

Tool-specific names (Kotest, MockK, Kover) make it clearly distinguishable from other testing skills, with only minor overlap risk against a general Kotlin-development or JUnit-testing skill. Not 5 because 'Kotlin testing patterns' alone is somewhat broad without the tool names doing the disambiguation.

4 / 5

Total

15

/

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 (825 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

14

/

16

Passed

Repository

affaan-m/ECC

Path

.kiro/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.