CtrlK
BlogDocsLog inGet started
Tessl Logo

kotlin-patterns

Idiomatic Kotlin patterns, best practices, and conventions for building robust, efficient, and maintainable Kotlin applications with coroutines, null safety, and DSL builders. Use when writing or reviewing Kotlin code and idiomatic structure or null safety is in question.

65

Quality

79%

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 ./skills/kotlin-patterns/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

71%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 comprehensive, highly actionable Kotlin idioms reference with strong Good/Bad code examples, weakened by duplicated examples across sections and a monolithic single-file structure with no progressive disclosure to separate reference files.

Suggestions

De-duplicate the three examples that appear in both 'Examples' and their dedicated sections to tighten token use.

Move the full Gradle dependency catalog and/or DSL builder details into reference files (e.g. references/gradle.md, references/dsl.md) and link from SKILL.md to improve progressive disclosure.

Trim basic restatements like 'Kotlin's type system distinguishes nullable and non-nullable types' that Claude already knows.

DimensionReasoningScore

Conciseness

Prose is mostly lean and code-driven, but three examples are duplicated verbatim across sections (getUserEmail/Elvis, the Result sealed class, and fetchUserWithPosts) and a few lines re-explain basics Claude already knows ('Kotlin's type system distinguishes nullable and non-nullable types').

3 / 5

Actionability

Extensive copy-paste-ready Kotlin code with consistent Good/Bad annotations covers the common idiomatic cases (null safety, sealed types, coroutines, DSLs, Gradle Kotlin DSL) concretely and executably.

5 / 5

Workflow Clarity

A clear 'When to Use' section, well-organized topic sections, and consistent Good/Bad plus an 'Anti-Patterns to Avoid' section provide implicit validation guidance, though it is a patterns catalog rather than a sequenced multi-step workflow with explicit checkpoints.

4 / 5

Progressive Disclosure

All ~700 lines live in a single inlined SKILL.md with no reference files (references/scripts/assets absent); section headers give structure, but detailed catalogs like the Gradle dependency listing and DSL builders could be split out to keep the overview lean.

3 / 5

Total

15

/

20

Passed

Description

87%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, well-structured description that explicitly pairs a concrete 'what' with an explicit 'Use when ...' trigger clause and stays tightly Kotlin-scoped. The main weakness is mild buzzword padding ('robust, efficient, and maintainable') and a few missing natural trigger synonyms.

Suggestions

Drop the generic filler 'robust, efficient, and maintainable' in favor of one more concrete capability (e.g. sealed classes, extension functions) to lift specificity.

Add a couple of natural trigger synonyms such as 'Kotlin idioms', 'coroutines', or '.kt files' to broaden keyword coverage.

DimensionReasoningScore

Specificity

Names the Kotlin domain and several concrete capability areas ('coroutines, null safety, and DSL builders'), though 'patterns, best practices, and conventions' and 'robust, efficient, and maintainable' are generic phrasing rather than discrete actions.

4 / 5

Completeness

It explicitly answers both what ('Idiomatic Kotlin patterns, best practices, and conventions ... with coroutines, null safety, and DSL builders') and when ('Use when writing or reviewing Kotlin code ...') with concrete trigger phrases.

5 / 5

Trigger Term Quality

The 'Use when writing or reviewing Kotlin code and idiomatic structure or null safety is in question' clause supplies natural phrases users would say, but common variations like 'Kotlin idioms', 'coroutines', or '.kt' are absent.

4 / 5

Distinctiveness Conflict Risk

It carves a clear Kotlin-idioms niche with distinct Kotlin-specific triggers, so overlap with generic code-review or other-language skills is minimal.

5 / 5

Total

18

/

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.

Validation14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

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

Warning

metadata_version

'metadata.version' is missing

Warning

Total

14

/

16

Passed

Repository
affaan-m/ECC
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.