kotlin-functions
Installation
SKILL.md
Kotlin function ownership
Core principle
Put a function on the smallest accurate semantic owner. Extension syntax changes call shape, not ownership.
Reject primitive, common, and library-owned extensions by default: they create false ownership, domain pollution, noisy completion/imports, and collisions.
Procedure
Apply in order.
1. Name the semantic owner
Name the operation and the concept that owns it. If ownership is unclear, stop before selecting syntax.
2. Reject a misleading receiver early
For String, primitives, collections, Flow, framework, or third-party receivers, require all: