> kotlin-language
Write idiomatic Kotlin 1.9+ with null safety, sealed classes, and expression syntax. Use when working with Kotlin null safety, data classes, sealed interfaces, extension functions, or migrating Java code to Kotlin. (triggers: **/*.kt, **/*.kts, val, var, ?., ?:, !!, data class, sealed, when, extension, lazy, lateinit, object)
curl "https://skillshub.wtf/HoangNguyen0403/agent-skills-standard/kotlin-language?format=md"Kotlin Language Patterns
Priority: P0 (CRITICAL)
Modern, idiomatic Kotlin standards for safety and conciseness.
Implementation Guidelines
- Immutability: Use
valby default. Only usevarif mutation is required locally. - Null Safety: Use
?for nullable types. Use safe call?.and Elvis?:over!!. - Expressions: Prefer expression bodies
fun foo() = ...for one-liners. Useif/tryas expressions. - Classes: Use
data classfor DTOs. Usesealed interface/classfor state hierarchies (e.g.,Success,Error,Loading). Access members as a computed property rather than a function. - Extension Functions: Prefer over utility classes (
StringUtil). Keep private/internal if module-specific. - Named Arguments: Use for clarity, especially with booleans or multiple same-type params.
- String Templates: Use
"$var"over concatenation. Use"""for multiline strings (SQL/JSON).
Anti-Patterns
- No !! Operator: Never use in production; prefer safe calls or requireNotNull.
- No Java-isms: Use properties not get/set; prefer top-level functions over companion object statics.
- No Lateinit Abuse: Prefer nullable types or lazy delegates instead.
- No Silenced Errors: Never swallow exceptions without logging or handling.
References
> related_skills --same-repo
> common-store-changelog
Generate user-facing release notes for the Apple App Store and Google Play Store by collecting git history, triaging user-impacting changes, and drafting store-compliant changelogs. Enforces character limits (App Store ≤4000, Google Play ≤500), tone, and bullet format. Use when generating release notes, app store changelog, play store release, what's new, or version release notes for any mobile app. (triggers: generate changelog, app store notes, play store release, what's new, release notes, ve
> golang-tooling
Go developer toolchain — gopls LSP diagnostics, linting, formatting, and vet. Use when setting up Go tooling, running linters, or integrating gopls with Claude Code. (triggers: gopls, golangci-lint, golangci.yml, go vet, goimports, staticcheck, go tooling, go lint)
> common-ui-design
Design distinctive, production-grade frontend UI with bold aesthetic choices. Use when building web components, pages, interfaces, dashboards, or applications in any framework (React, Next.js, Angular, Vue, HTML/CSS). (triggers: build a page, create a component, design a dashboard, landing page, UI for, build a layout, make it look good, improve the design, build UI, create interface, design screen)
> common-owasp
OWASP Top 10 audit checklist for Web Applications (2021) and APIs (2023). Load during any security review, PR review, or codebase audit touching web, mobile backend, or API code. (triggers: security review, OWASP, broken access control, IDOR, BOLA, injection, broken auth, API review, authorization, access control)