Marketplace
coroutines-kotlin
Master Kotlin coroutines with suspend functions, flows, channels, and structured concurrency for building async applications.
$ 安裝
git clone https://github.com/spjoshis/claude-code-plugins /tmp/claude-code-plugins && cp -r /tmp/claude-code-plugins/plugins/kotlin-development/skills/coroutines-kotlin ~/.claude/skills/claude-code-plugins// tip: Run this command in your terminal to install the skill
SKILL.md
name: coroutines-kotlin description: Master Kotlin coroutines with suspend functions, flows, channels, and structured concurrency for building async applications.
Kotlin Coroutines
Master asynchronous programming in Kotlin with coroutines, flows, and structured concurrency.
Core Concepts
Basic Coroutine
fun main() = runBlocking {
launch {
delay(1000L)
println("World!")
}
println("Hello")
}
Suspend Functions
suspend fun fetchUser(id: String): User {
delay(1000) // Simulating network call
return User(id, "John Doe")
}
fun main() = runBlocking {
val user = fetchUser("123")
println(user)
}
Async/Await
suspend fun loadData(): Data = coroutineScope {
val user = async { fetchUser() }
val posts = async { fetchPosts() }
Data(user.await(), posts.await())
}
Flow
fun simpleFlow(): Flow<Int> = flow {
for (i in 1..3) {
delay(100)
emit(i)
}
}
fun main() = runBlocking {
simpleFlow().collect { value ->
println(value)
}
}
Channels
fun main() = runBlocking {
val channel = Channel<Int>()
launch {
for (x in 1..5) channel.send(x * x)
channel.close()
}
for (y in channel) println(y)
}
Best Practices
- Use structured concurrency
- Handle exceptions properly
- Use flows for streams
- Leverage coroutine scope
- Use dispatchers appropriately
- Avoid GlobalScope
- Test coroutines properly
Resources
Repository

spjoshis
Author
spjoshis/claude-code-plugins/plugins/kotlin-development/skills/coroutines-kotlin
1
Stars
0
Forks
Updated4d ago
Added1w ago