agentsclimarketplace

Kotlin best practices

Skill ComeOnOliver/skillshub/skills/HoangNguyen0403/agent-skills-standard/kotlin-best-practices

Core patterns for robust Kotlin code including scope functions and backing properties. Use when writing idiomatic Kotlin, choosing between scope functions (let/apply/run/also/with), encapsulating mutable state with backing properties, or exposing read-only collection interfaces. (triggers: **/*.kt, apply, let, run, also, with, runCatching, backing property, MutableList, internal, private set)From its SKILL.md

Install
npx -y skills add ComeOnOliver/skillshub --skill kotlin-best-practices

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

SKILL.md

1.8 KB, 326 tokens by cl100k_base, as published. Nobody here has run it

Kotlin Best Practices

Priority: P1 (HIGH)

Engineering standards for clean, maintainable Kotlin systems.

Implementation Guidelines

  • Scope Functions:
    • apply: Object configuration (returns object).
    • also: Side effects / validation / logging (returns object).
    • let: Null checks (?.let) or mapping (returns result).
    • run: Object configuration and mapping (returns result).
    • with: Grouping multiple method calls on an object (returns result).
  • Backing Properties: Use _state (private mutable, e.g., private val _state = MutableStateFlow(initial)) exposed as val state = _state.asStateFlow() (public read-only). Pattern: _prop private, prop public.
  • Collections: Expose List/Map (read-only) publicly; keep MutableList internal.
  • Error Handling: Use runCatching for simple error handling over try/catch blocks.
  • Visibility: Default to private or internal. Minimize public surface area.
  • Top-Level: Prefer top-level functions/constants over implementation-less object singletons.

Anti-Patterns

  • No Deep Scope Nesting: Limit let/apply nesting to 2 levels; deeper destroys readability.
  • No Public var: Use private set or backing properties for encapsulation.
  • No Global Mutable State: Avoid mutable top-level variables.

References

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.