vitorpamplona avatar

Kotlin Multiplatform

This is specifically built for the Amethyst KMP project but the patterns are solid for any Kotlin Multiplatform codebase. It walks through the abstraction decision tree (should this be commonMain, jvmAndroid, or expect/actual?) with real examples from crypto, JSON parsing, and navigation. The jvmAndroid pattern is interesting: it's a custom source set that shares JVM libraries like Jackson between Android and Desktop, which saves duplication but won't work for iOS or web. Most useful when you're staring at code wondering if it belongs in the common module or needs platform splits. The decision tree alone is worth keeping around.

skills.sh installs
1.6K
GitHub stars
1.6K
last updated
Aug 21, 2026

Install

$ npx -y skills add vitorpamplona/amethyst --skill kotlin-multiplatform --agent claude-code

Installs into .claude/skills of the current project.

Files

Kotlin Multiplatform and Gradle in Amethyst

Module roles, the "share vs keep native" rule and the CLI-safe boundary are in AGENTS.md (Architecture, Feature Workflow). Package placement inside commons / commonsUI is in commons/ARCHITECTURE.md ("Where does my code go?", "Source sets") and commonsUI/ARCHITECTURE.md ("Platform slots"). Read those first; this skill adds the source-set mechanics and the build traps.

Modules

settings.gradle.kts includes 13: amethyst, nappletHost, benchmark, baselineprofile, geode, commons, commonsUI, nestsClient, marmotQuic, desktopApp, cli, relayBench, marmotBench. Quartz is the external libs.quartz (vitorpamplona/quartz) and QUIC the external libs.quic (vitorpamplona/quic-kmp); -PquartzDir=../quartz / -PquicKmpDir=../quic-kmp build a local checkout instead (an included build, so quic's own quartz dependency follows).

Source sets

Sponsors

Details

Repository
github.com/vitorpamplona/amethyst
Categories
DevOps & CI/CD, Productivity & Planning, Rust, Mobile Development, Java & JVM
First seen
May 16, 2026

More from vitorpamplona/amethyst

All 2
1quodsoler avatarue-cpp-foundationsquodsoler/unreal-engine-skillsUse when writing Unreal Engine C++ code involving UPROPERTY, UFUNCTION, UCLASS, TArray, TMap, delegates, FString, garbage collection, or smart pointers. Also us1.6Kskills.sh installs
2himself65 avatardiscord-readerhimself65/finance-skillsRead Discord for financial research using opencli (read-only). Use this skill whenever the user wants to read Discord channels, search for messages in trading s1.6Kskills.sh installs
3K-Dense-AI avatarpacsomaticK-Dense-AI/scientific-agent-skillsOperator toolkit for nf-core/pacsomatic matched tumor-normal workflows from BAM inputs. Use this skill when the user needs to validate run inputs, generate pacs1.6Kskills.sh installs
4railwayapp avatarservicerailwayapp/railway-skillsThis skill should be used when the user asks about service status, wants to rename a service, change service icons, link services, or create services with Docke1.6Kskills.sh installs
5refoundai avatarevaluating-new-technologyrefoundai/lenny-skillsHelp users evaluate emerging technologies. Use when someone is assessing new tools, making build vs buy decisions, evaluating AI vendors, or deciding on technic1.6Kskills.sh installs
6nexscope-ai avatarecommerce-growth-strategynexscope-ai/ecommerce-skillsE-commerce growth strategy advisor. Diagnoses current business health using unit economics (CAC, LTV, AOV, contribution margin), identifies the highest-impact g1.6Kskills.sh installs