kotlin-expert
Advanced Kotlin patterns for AmethystMultiplatform. Flow state management (StateFlow/SharedFlow), sealed hierarchies (classes vs interfaces), immutability (@Immutable, data classes), DSL builders (type-safe fluent APIs), inline functions (reified generics, performance). Use when
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Advanced Kotlin patterns for AmethystMultiplatform. Flow state management (StateFlow/SharedFlow), sealed hierarchies (classes vs interfaces), immutability (@Immutable, data classes), DSL builders (type-safe fluent APIs), inline functions (reified generics, performance). Use when working with: (1) State management patterns (StateFlow/SharedFlow/MutableStateFlow), (2) Sealed classes or sealed interfaces, (3) @Immutable annotations for Compose, (4) DSL builders with lambda receivers, (5) inline/reified functions, (6) Kotlin performance optimization. Complements kotlin-coroutines agent (async patterns) - this skill focuses on Amethyst-specific Kotlin idioms.
How to use
Zainstaluj skill kotlin-expert w swoim środowisku Claude/Copilot, wskazując repozytorium https://github.com/vitorpamplona/amethyst/tree/main/.claude/skills/kotlin-expert. Skill będzie dostępny jako kontekst do analizy kodu Kotlina w projektach Amethyst.
Użyj skill-u gdy pracujesz nad zarządzaniem stanem aplikacji – opisz swój problem związany ze StateFlow, SharedFlow lub MutableStateFlow, a skill zasugeruje odpowiednie wzorce i implementacje na bazie kodu Amethyst.
Gdy definiujesz hierarchie typów, poproś skill o porady dotyczące sealed classes vs sealed interfaces – otrzymasz konkretne przykłady z projektu, kiedy użyć którego podejścia.
Jeśli optymalizujesz wydajność komponentów Compose, zapytaj o @Immutable annotations i data classes – skill pokaże, jak prawidłowo oznaczać klasy, aby uniknąć niepotrzebnych rekomputacji.
Przy budowaniu DSL-ów z type-safe fluent API-ami poproś o przykłady lambda receivers i method chaining – skill dostarczy wzorce z TagArrayBuilder i podobnych konstruktorów z Amethyst.
Dla zaawansowanych optymalizacji (inline functions, reified type parameters) opisz swój przypadek użycia, a skill zaproponuje rozwiązania z OptimizedJsonMapper i podobnych komponentów, wyjaśniając, kiedy inline rzeczywiście poprawia wydajność.