Tooluck logoTooluck
Skill repository

maxrave-dev /

kotlin-footguns

Battle-tested agent skills mapping the footguns of Kotlin, Compose Multiplatform and the desktop JVM — mined from a production music app, not from documentation.

Stars
2.2k
Skills
11
License
GPL-3.0
Last commit
Oct 29, 2026
install.sh
# every skill in this repo, via the skills CLI
npx skills add maxrave-dev/kotlin-footguns

# or, for Claude Code, copy one skill folder into

~/.claude/skills/ (all projects)

.claude/skills/ (this project)

View maxrave-dev/kotlin-footguns on GitHub
Inside this pack

11 skills in kotlin-footguns

Each skill is a SKILL.md file your agent loads when a task matches its description.
  1. 01
    compose-screens-footguns

    Compose screen and interaction traps: navigation, adaptive layout, window insets, pagers, toolbars, sheets, list drag and selection, sliders, text fields, settings UI, one-shot effects. Use when layout, gestures or navigation misbehave.

    View skill
  2. 02
    compose-visuals-footguns

    Compose look-and-feel traps: theme and colour tokens, artwork palettes, gradients and scrims, shimmer, glass and particle effects, animation, image loading, charts and stats displays (percent changes, shares, buckets). Use when a visual bands, pops, freezes or misleads.

    View skill
  3. 03
    data-layer-footguns

    Room/SQLite, DataStore and repository traps: migrations, NOT IN with NULLs, LIKE escaping, delete order, local-time bucketing, imports, caching, paging. Use before writing a query or migration, or when data comes back wrong.

    View skill
  4. 04
    desktop-and-build-footguns

    Desktop JVM and build traps: JNA natives, bundling, memory, packaging, code signing, R8, deep links, Gradle and CI releases. Use when a desktop build fails packaged, signed, on another OS or arch, or in CI.

    View skill
  5. 05
    engineering-method-footguns

    Debugging-method traps: run the discriminating experiment first, read build logs bottom-up, treat an empty actual as unwritten, audit shared handles before removing a feature, read commit history critically. Use when a fix is not converging.

    View skill
  6. 06
    footgun-scan

    Scan a Kotlin or Compose Multiplatform diff for known footgun shapes and open the matching trap to confirm each hit. Use before committing, when reviewing a Kotlin change, or to audit a codebase.

    View skill
  7. 07
    kmp-architecture-footguns

    Kotlin Multiplatform structure and language traps: module splits, expect/actual, Koin and ViewModel scoping, layers, version catalogs, erased overloads, Char and string-resource formatting limits. Use when shaping modules or DI, when a format specifier renders verbatim, or code misbehaves on one platform.

    View skill
  8. 08
    media-playback-footguns

    Media player traps on Media3/ExoPlayer and desktop engines: crossfade, audio focus, fades, loudness, DSP, queues and shuffle, position restore, service lifecycle, group listening. Use when playback state, queue or audio levels go wrong.

    View skill
  9. 09
    remote-api-footguns

    Remote API traps in Kotlin Multiplatform: Ktor clients, defensive parsing, Resource envelopes, OK responses that dropped your data, auth callbacks, retry backoff, downloads, websockets, clock sync. Use when calls succeed but data never lands.

    View skill
  10. 10
    state-and-background-footguns

    Reactive state and background-work traps: StateFlow conflation, flatMapLatest, job lifecycles, ViewModel bases, WorkManager, backups, crash reporting, logging, Glance widgets. Use when state lags or flips, or work runs twice or never.

    View skill
  11. 11
    webview-footguns

    WebView traps across device classes: startup that freezes low-RAM phones, a killed renderer that takes the app with it, devices with no usable provider, AndroidView lifecycle and cookies. Use when a web screen freezes, vanishes or crashes only on some devices.

    View skill

Skills can include instructions and scripts that your agent will run. Read the SKILL.md and any bundled files before installing. Tooluck lists public GitHub data and does not audit this code.

Keep exploring

Similar skill repositories

Newsletter

Join the Community

Subscribe to our newsletter for the latest news and updates