Skip to content
Back to skills

Kotlin Patterns

ASecurity

Use when idiomatic Kotlin patterns, best practices, and conventions for building robust, efficient, and maintainable Kotlin applications with coroutines, null safety, and DSL builders. Only for Kotlin — not for other languages. Triggers on \"kotlin-patterns\", \"kotlin patterns\", \"patterns\".

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 19, 2026
ai-agentspythongokotlintestingrefactoring

Security analysis

A100/100

Pro scans all 10 files and shows the line behind each finding

Scanned September 19, 2026

npx -y skills add majinmagros/magros.ai-skills --skill kotlin-patterns --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Kotlin Patterns?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Kotlin Patterns
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majinmagros-kotlin-patterns/badge)](https://www.skillsdirectory.com/skills/majinmagros-kotlin-patterns)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: kotlin-patterns
description: "Use when idiomatic Kotlin patterns, best practices, and conventions for building robust, efficient, and maintainable Kotlin applications with coroutines, null safety, and DSL builders. Only for Kotlin — not for other languages. Triggers on \"kotlin-patterns\", \"kotlin patterns\", \"patterns\"."
metadata:
  origin: ECC
---

# Kotlin Development Patterns

Idiomatic Kotlin patterns and best practices for building robust, efficient, and maintainable applications.

## When to Use

- Writing new Kotlin code
- Reviewing Kotlin code
- Refactoring existing Kotlin code
- Designing Kotlin modules or libraries
- Configuring Gradle Kotlin DSL builds

## When NOT to Use

- Other languages (use `golang-patterns`, `python-patterns`, etc.)
- Kotlin test strategy specifically (use `kotlin-testing`)
- Ktor/Exposed specifics (use `kotlin-ktor-patterns`, `kotlin-exposed-patterns`)

## How It Works

This skill enforces idiomatic Kotlin conventions across seven key areas: null safety using the type system and safe-call operators, immutability via `val` and `copy()` on data classes, sealed classes and interfaces for exhaustive type hierarchies, structured concurrency with coroutines and `Flow`, extension functions for adding behaviour without inheritance, type-safe DSL builders using `@DslMarker` and lambda receivers, and Gradle Kotlin DSL for build configuration.

## Examples

**Null safety with Elvis operator:**
```kotlin
fun getUserEmail(userId: String): String {
    val user = userRepository.findById(userId)
    return user?.email ?: "unknown@example.com"
}
```

**Sealed class for exhaustive results:**
```kotlin
sealed class Result<out T> {
    data class Success<T>(val data: T) : Result<T>()
    data class Failure(val error: AppError) : Result<Nothing>()
    data object Loading : Result<Nothing>()
}
```

**Structured concurrency with async/await:**
```kotlin
suspend fun fetchUserWithPosts(userId: String): UserProfile =
    coroutineScope {
        val user = async { userService.getUser(userId) }
        val posts = async { postService.getUserPosts(userId) }
        UserProfile(user = user.await(), posts = posts.await())
    }
```

## Contents

| Topic | Reference |
|---|---|
| Core principles (null safety, immutability, data classes) | `references/core-principles.md` |
| Sealed classes and interfaces | `references/sealed-classes.md` |
| Scope functions | `references/scope-functions.md` |

Files in this skill

  • SKILL.md2.4 KB
  • references/core-principles.md2.5 KB
  • references/coroutines.md2.4 KB
  • references/delegation.md1 KB
  • references/dsl-builders.md1.7 KB
  • references/error-collections.md1.6 KB
  • references/extensions.md805 B
  • references/scope-functions.md1005 B
  • references/sealed-classes.md1.3 KB
  • references/sequences-gradle.md2.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…