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.

53

Quality

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

SKILL.md
Quality
Evals
Security

Quality

Content

65%

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

The content is highly actionable with concrete, executable Kotlin examples and clear Good/Bad contrasts, but it is a long monolithic file with some duplicated examples and no external reference structure or validation-gated workflow, limiting conciseness and progressive-disclosure scores.

Suggestions

Move large topical blocks (coroutines/Flow, DSL builders, Gradle Kotlin DSL) into separate reference files linked from a concise overview in SKILL.md to improve progressive disclosure.

Remove duplicated examples (the Result sealed class and getUserEmail Elvis example each appear twice) to tighten conciseness.

If any destructive or batch workflow (e.g. migration refactors) is intended, add an explicit validate-then-proceed sequence with checkpoints to lift workflow clarity.

DimensionReasoningScore

Conciseness

The body is mostly lean code examples with brief labels, but at ~700 lines it includes redundancy (the Result sealed class and getUserEmail example each appear twice) and mild over-explanation, so it could be tightened rather than earning the 'every token earns its place' anchor.

2 / 3

Actionability

It provides abundant executable, copy-paste-ready Kotlin with explicit Good/Bad contrasts across null safety, coroutines, DSLs, and Gradle Kotlin DSL, matching the 'fully executable code, specific examples' anchor.

3 / 3

Workflow Clarity

Content is organized into clear numbered principles and topical sections, but this is a reference/patterns skill with no multi-step workflow or validation checkpoints; it meets the 'steps listed but checkpoints missing or implicit' anchor rather than a sequenced feedback-loop workflow.

2 / 3

Progressive Disclosure

No bundle files exist (references/, scripts/, assets/ absent) and all ~700 lines of reference material live in one monolithic SKILL.md that could be split (e.g. coroutines, DSL, Gradle into separate files), matching the 'content that should be separate is inline' anchor; the under-50-line exception does not apply.

2 / 3

Total

9

/

12

Passed

Description

57%

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 names a clear Kotlin niche and several relevant sub-domains, but relies on abstract action language and omits an explicit "Use when..." trigger clause, which caps completeness. It is distinctive but only partially specific and trigger-complete.

Suggestions

Add an explicit trigger clause, e.g. 'Use when writing, reviewing, or refactoring Kotlin code, or designing Kotlin modules and Gradle Kotlin DSL builds.'

Replace abstract phrasing ("patterns, best practices, and conventions") with concrete actions like 'enforces null safety, structured concurrency, sealed hierarchies, and type-safe DSL builders'.

Surface common natural trigger terms users would say ('idiomatic Kotlin', 'Kotlin code review', 'refactor Kotlin') that currently live only in the body.

DimensionReasoningScore

Specificity

Names the Kotlin domain and several specific areas ("coroutines, null safety, and DSL builders"), but the stated actions are abstract ("patterns, best practices, and conventions", "building...applications") rather than concrete operations, so it sits at the 'names domain and some actions' anchor rather than listing multiple specific concrete actions.

2 / 3

Completeness

It clearly states what the skill covers, but there is no "Use when..." clause or equivalent explicit trigger guidance; per the rubric guideline a missing trigger clause caps completeness at 2.

2 / 3

Trigger Term Quality

Includes natural terms a Kotlin user would say ("Kotlin", "coroutines", "null safety", "DSL builders"), but misses common variations like "idiomatic Kotlin", "Kotlin code review", or "refactoring Kotlin" that appear only in the body, so coverage is partial.

2 / 3

Distinctiveness Conflict Risk

The Kotlin-specific niche with concrete sub-domains (coroutines, null safety, DSL builders) is clearly distinguishable and unlikely to trigger for a non-Kotlin skill.

3 / 3

Total

9

/

12

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 (712 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
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.