# Kotlin Fundamentals

> Kotlin language fundamentals - syntax, null safety, data classes, extensions

- Skill: `majiayu000/kotlin-fundamentals` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add majiayu000/kotlin-fundamentals`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/kotlin-fundamentals/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/kotlin-fundamentals

---


# Kotlin Fundamentals Skill

Master Kotlin programming fundamentals with production-ready patterns.

## Topics Covered

### Null Safety
```kotlin
// Safe call + Elvis
val name = user?.name ?: "Anonymous"

// requireNotNull for validation
requireNotNull(user) { "User required" }
```

### Data Classes
```kotlin
data class User(val id: Long, val name: String) {
    init { require(name.isNotBlank()) }
}
```

### Scope Functions
| Function | Context | Returns | Use Case |
|----------|---------|---------|----------|
| `let` | it | Lambda result | Null-safe transforms |
| `apply` | this | Same object | Object configuration |
| `run` | this | Lambda result | Object scope + result |
| `also` | it | Same object | Side effects |

## Troubleshooting

| Issue | Resolution |
|-------|------------|
| NPE despite null check | Check platform types from Java |
| Smart cast fails | Use local variable or let |

## Usage
```
Skill("kotlin-fundamentals")
```

