CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

kotlin-specialist

Provides idiomatic Kotlin implementation patterns including coroutine concurrency, Flow stream handling, multiplatform architecture, Compose UI construction, Ktor server setup, and type-safe DSL design. Use when building Kotlin applications requiring coroutines, multiplatform development, or Android with Compose. Invoke for Flow API, KMP projects, Ktor servers, DSL design, sealed classes, suspend function, Android Kotlin, Kotlin Multiplatform.

71

Quality

89%

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 well organized: a validated workflow with a fix-and-retry loop, a clean one-level-deep reference table backed by real files, and concrete code. Its main inefficiency is spending significant space on basic Kotlin (null-safety operators, scope-function semantics) and a filler technology-name list that Claude already knows, which is the primary scoring drag.

Suggestions

Trim the Null Safety and Scope Functions sections to bare constraint bullets (or move them into references/dsl-idioms.md) — they teach basic Kotlin operators and scope-function semantics Claude already knows.

Delete the "Knowledge Reference" paragraph; a bare list of 16 technology names adds no actionable guidance.

Remove or isolate the "Kotlin 1.9+" version pin (it appears twice) into a dedicated version/old-patterns note so time-sensitive details don't drift.

DimensionReasoningScore

Conciseness

The workflow, reference table, and constraints are lean, but roughly a third of the body teaches basic Kotlin Claude already knows — the Null Safety section ("val displayName = user?.profile?.name ?: \"Anonymous\""), the Scope Functions section with explanatory comments ("apply — configure an object, returns receiver"), and the filler "Knowledge Reference" paragraph listing 16 technology names. The repeated time-sensitive "Kotlin 1.9+" version pin (not in a deprecated/old-patterns section) also penalizes per the guidelines. This is more than the 'minor instances' of anchor 4, fitting anchor 3's 'some unnecessary explanation or could be tightened'.

3 / 5

Actionability

Guidance is mostly executable: complete, compilable Kotlin classes (sealed UiState hierarchy, UserRepository with flow builder and StateFlow), concrete tool commands ("Run detekt and ktlint", "runTest, Turbine"), and a 4-item output template. Minor gaps keep it below anchor 5: snippets call undefined helpers (showSpinner(), showUser(), api.fetchUser), and workflow steps like "Apply inline classes, sequence operations" are directives rather than runnable commands.

4 / 5

Workflow Clarity

The 6-step Core Workflow is clearly sequenced with an explicit validation gate and feedback loop — "*If detekt/ktlint fails:* Fix all reported issues and re-run both tools before proceeding to step 5" — plus an inline checkpoint in step 3 ("Verify coroutine cancellation is handled... and null safety is enforced") and the MUST DO / MUST NOT constraint lists acting as checklists. This matches the anchor-5 pattern of explicit validation, error-recovery loops, and checklists.

5 / 5

Progressive Disclosure

The body is a genuine overview: a Reference Guide table maps five topics to real files with clear "Load When" conditions, and all five referenced paths (references/coroutines-flow.md, multiplatform-kmp.md, android-compose.md, ktor-server.md, dsl-idioms.md) exist in the bundle. References are one level deep, clearly signaled, with only concise key-pattern examples kept inline — matching the anchor-5 clear-overview structure.

5 / 5

Total

17

/

20

Passed

Description

95%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 clearly states capabilities, gives an explicit 'Use when' clause with concrete natural trigger terms and synonyms, and carves out a distinct Kotlin niche. The only weakness is that capabilities are expressed as one 'Provides patterns including...' list of noun phrases rather than distinct concrete actions, leaving minor coverage gaps.

DimensionReasoningScore

Specificity

The description lists six concrete capability areas ("coroutine concurrency, Flow stream handling, multiplatform architecture, Compose UI construction, Ktor server setup, and type-safe DSL design"), but they are nominalized under a single verb ("Provides... patterns including") rather than distinct concrete actions, and coverage gaps exist (testing, null safety, and linting from the body are absent). This sits above anchor 4's "several specific actions" bar in breadth but below anchor 5's distinct multi-action comprehensiveness.

4 / 5

Completeness

It explicitly answers both questions: the "what" is "Provides idiomatic Kotlin implementation patterns including coroutine concurrency, Flow stream handling... type-safe DSL design", and the "when" is a concrete "Use when building Kotlin applications requiring coroutines, multiplatform development, or Android with Compose" plus an explicit invoke list. This matches the anchor-5 pattern of clear what AND when with concrete trigger phrases.

5 / 5

Trigger Term Quality

The "Use when... / Invoke for..." sentences provide comprehensive natural trigger terms with synonyms: "coroutines", "KMP projects" and "Kotlin Multiplatform", "Jetpack Compose", "Ktor servers", "Flow API", "Android Kotlin", "sealed classes", "suspend function". These are exactly the phrases a Kotlin user would naturally say; only a file-extension form (.kt) is missing, which does not undermine coverage.

5 / 5

Distinctiveness Conflict Risk

The niche is clear (Kotlin language specialist) with technology-specific triggers (Kotlin, Compose, Ktor, KMP, Flow) that no generic or adjacent skill (e.g., a general Android or Java skill) would claim as strongly. Conflict risk is minimal.

5 / 5

Total

19

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

Jeffallan/claude-skills

Path

skills/kotlin-specialist/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.