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.

63

Quality

76%

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

65%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 excels at actionability: it is a comprehensive, executable Kotlin idiom catalog with consistent good/bad contrast. It loses points on token efficiency (verbatim-duplicated examples and a basic-concept explanation) and on structure, since a 700-line monolith with no reference files forgoes progressive disclosure entirely.

Suggestions

Remove the 'Examples' section (or the duplicated later copies): the Elvis null-safety, sealed Result, and fetchUserWithPosts snippets each appear twice verbatim in the body, wasting roughly 50 lines of token budget.

Split bulk reference material into one-level-deep bundle files — e.g., move the Gradle Kotlin DSL dependency listing and the full DSL builder/ServerConfig implementations into a references/ file — keeping SKILL.md as a concise overview with clearly signaled pointers.

Cut explanations of concepts Claude already knows (e.g., 'Kotlin's type system distinguishes nullable and non-nullable types') and either remove the pinned Gradle/plugin version numbers or move them to a clearly dated 'verify latest versions' note so stale versions are obvious.

DimensionReasoningScore

Conciseness

The body is mostly a dense, code-heavy reference with little wasted prose, but the 'Examples' section duplicates three code blocks verbatim that reappear in later sections (the Elvis null-safety example, the sealed Result class, and fetchUserWithPosts), 'Kotlin's type system distinguishes nullable and non-nullable types' explains a concept Claude already knows, and the Gradle section pins time-sensitive version numbers ('kotlin 2.3.10', 'ktor 3.4.0') with no deprecation framing. This is a noticeable-but-not-severe tightening gap, between anchors 2 and 4 and closer to the midpoint.

3 / 5

Actionability

Nearly every section provides copy-paste-ready, executable Kotlin with explicit Good/Bad contrast — sealed hierarchies with exhaustive when, coroutineScope/supervisorScope patterns with CancellationException handling, @DslMarker builders, value classes, Flow operators, and scope-function guidance — fully matching the anchor 5 'specific examples cover the common cases' bar.

5 / 5

Workflow Clarity

This is a pattern catalog rather than a multi-step process skill: there is no sequence of steps and no validation checkpoints, though none are strictly required since it involves no destructive or batch operations. Content is well-organized topically, placing it at the 'sequence present but not a validated workflow' level rather than the explicit-checkpoint structure of anchor 4 or the incoherence of anchor 1.

3 / 5

Progressive Disclosure

No bundle files exist (no references/, scripts/, or assets/), so all ~700 lines live inline in SKILL.md. Section headers provide real structure — above the unstructured anchor 2 — but bulk material that clearly belongs in separate reference files (the full Gradle dependency listing, complete DSL builder implementations) is inlined with no external references at all, matching anchor 3.

3 / 5

Total

14

/

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 description with an explicit and concrete 'Use when' trigger clause tied to natural user phrasing, and a clear Kotlin niche. Its only weakness is generic quality-adjective padding ('robust, efficient, and maintainable') around an otherwise topic-specific capability statement.

DimensionReasoningScore

Specificity

Names concrete technical areas ('coroutines, null safety, and DSL builders') beyond just the domain, but 'building robust, efficient, and maintainable applications' is generic padding and the core verbs remain nominal ('patterns, best practices, and conventions'), so it sits between the 3 and 5 anchors rather than fully matching either.

4 / 5

Completeness

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 and idiomatic structure or null safety is in question') with concrete trigger phrases, matching the anchor 5 example structure exactly rather than the weaker 'when' of anchor 4.

5 / 5

Trigger Term Quality

'writing or reviewing Kotlin code', 'idiomatic structure', and 'null safety' are natural phrases users would say, giving good keyword coverage; a few natural variations are missing (e.g., '.kt files', 'Gradle Kotlin DSL', 'refactoring Kotlin'), which keeps it below the comprehensive anchor 5.

4 / 5

Distinctiveness Conflict Risk

'Kotlin' plus the specific subtopics (coroutines, null safety, DSL builders) establish a clear niche with minimal overlap risk; only trivial overlap exists with generic code-review skills, so it is not the 'minor overlap' case of anchor 4.

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.

Validation — 14 / 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.