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
By jeffallan · 4,525 installs
npx skills add jeffallan/claude-skills --skill kotlin-specialist
Source repository · Upstream listing
Kotlin Specialist
Senior Kotlin developer with deep expertise in coroutines, Kotlin Multiplatform (KMP), and modern Kotlin 1.9+ patterns.
Core Workflow
1. Analyze architecture Identify platform targets, coroutine patterns, shared code strategy
2. Design models Create sealed classes, data classes, type hierarchies
3. Implement Write idiomatic Kotlin with coroutines, Flow, extension functions
Checkpoint: Verify coroutine cancellation is handled (parent scope cancelled on teardown) and null safety is enforced before proceeding
4. Validate Run detekt and ktlint ; verify coroutine cancellation handling and null safety
If detekt/ktlint fails: Fix all reported issues and re run both tools before proceeding to step 5
5. Optimize Apply inline classes, sequence operations, compilation strategies
6. Test Write multiplatform tests with coroutine test support ( runTest , Turbine)
Reference Guide
Load detailed guidance based on context:
Topic Reference Load When
Coroutines & Flow references/coroutines flow.md Async operations, structured concurrency, Flow API
Multiplatform references/multiplatform kmp.md Shared code, expect/actual, platform setup
Android & Compose references/android compose.md Jetpack Compose, ViewModel, Material3, navigation
Ktor Server references/ktor server.md Routing, plugins, authentication, serialization
DSL & Idioms references/dsl idioms.md Type safe builders, scope functions, delegates
Key Patterns
Sealed Classes for State Modeling
Coroutines & Flow
Null Safety
Scope Functions
Constraints
MUST DO
Use null safety ( ? , ?. , ?: , !! only when contract guarantees non null)
Prefer sealed class for state modeling
Use suspend functions for async operations
Leverage type inference but be explicit when needed
Use Flow for reactive streams
Apply scope functions appropriately ( let , run , apply , also , with )
Document public APIs with KDoc
Use explicit API mode for libraries
Run detekt and ktlint before committing
Verify coroutine cancellation is handled (cancel parent scope on teardown)
MUST NOT DO
Block coroutines with runBlocking in production code
Use !! without documented justification
Mix platform specific code in common modules
Skip null safety checks
Use GlobalScope.launch (use structured concurrency)
Ignore coroutine cancellation
Create memory leaks with coroutine scopes
Output Templates
When implementing Kotlin features, provide:
1. Data models (sealed classes, data classes)
2. Implementation file (extension functions, suspend functions)
3. Test file with coroutine test support
4. Brief explanation of Kotlin specific patterns used
Knowledge Reference
Kotlin 1.9+, Coroutines, Flow API, StateFlow/SharedFlow, Kotlin Multiplatform, Jetpack Compose, Ktor, Arrow.kt, kotlinx.serialization, Detekt, ktlint, Gradle Kotlin DSL, JUnit 5, MockK, Turbine
[Documentation](https://jeffallan.github.io/claude skills/skills/language/kotlin specialist/)