lenorebreakneck630
UserBuild 40 Android and KMP skill docs for Claude Code to boost Kotlin, Compose, and multiplatform engineering
Categories
Indexed Skills (43)
android-analytics-logging
Analytics, logging, and observability patterns for Android/KMP - event design, screen tracking, structured logs, crash reporting boundaries, redaction, and environment-aware telemetry. Use this skill whenever adding analytics events, logging app behavior, instrumenting user flows, or deciding what should go to logs versus metrics versus crash reports. Trigger on phrases like "analytics", "logging", "telemetry", "screen tracking", "event tracking", "crash reporting", "observability", or "redaction".
android-app-startup-bootstrap
App startup and bootstrap patterns for Android - App Startup library Initializer<T> with dependency ordering, lazy vs eager initialization strategy, Baseline Profiles with Macrobenchmark and profileinstaller, SplashScreen API with animated icons, Application class best practices, and a cold-start checklist to eliminate strict-mode violations and synchronous I/O from the main thread. Use this skill whenever optimizing app startup time, setting up the splash screen, configuring the App Startup library, generating Baseline Profiles, or deciding what belongs in Application.onCreate(). Trigger on phrases like "app startup", "cold start", "splash screen", "SplashScreen API", "Baseline Profile", "App Startup library", "Initializer", or "startup time".
android-auth-security
Authentication and app security patterns for Android/KMP - login/logout flows, session ownership, token refresh, secure local storage, guarded navigation, and secret handling. Use this skill whenever adding sign-in, session restore, token refresh, protected APIs, logout, or handling secrets and user credentials. Trigger on phrases like "login", "signup", "token refresh", "session", "logout", "auth guard", "secure storage", "biometric", or "secret management".
android-background-location-geofencing
Background location and geofencing patterns for Android - FusedLocationProviderClient setup, foreground vs background location permission flows, foreground service for continuous tracking, GeofencingClient with broadcast receivers, battery-aware accuracy strategies, and graceful permission denial handling. Use this skill whenever implementing continuous location tracking, geofence entry/exit events, or any feature requiring ACCESS_BACKGROUND_LOCATION. Trigger on phrases like "background location", "geofence", "location tracking", "FusedLocationProvider", "ACCESS_BACKGROUND_LOCATION", "location foreground service", or "track location".
android-build-logic-gradle
Gradle build logic patterns for Android/KMP - convention plugins, version catalogs, module consistency, build performance, and scalable project configuration. Use this skill whenever organizing shared Gradle setup, adding convention plugins, standardizing module configs, or deciding where build rules should live in a modular Android repository. Trigger on phrases like "Gradle", "build logic", "convention plugin", "version catalog", "build-logic", "module config", or "shared build setup".
android-ci-cd-release
Android CI/CD and release patterns - build validation, test pipelines, signing, versioning, flavors, Play rollout, release automation, and secrets handling. Use this skill whenever setting up GitHub Actions or other CI, preparing signed builds, managing release tracks, or automating checks for pull requests and production releases. Trigger on phrases like "CI", "CD", "GitHub Actions", "release", "signing", "versioning", "Play Console", "flavors", or "build pipeline".
android-compose-ui
Compose UI patterns for Android/KMP - stability, recomposition, side effects, lazy lists, animations, previews, accessibility, modifier extensions, and design system composables. Use this skill whenever writing or reviewing composables, optimizing recomposition, adding animations, creating previews, writing custom modifiers, structuring a design system, or making any Compose UI decision beyond the MVI/ViewModel layer. Trigger on phrases like "composable", "recomposition", "LaunchedEffect", "Modifier", "LazyColumn", "preview", "animation", "design system", "stability", "contentDescription", "graphicsLayer", "slot API", or "Compose performance".
android-coroutines-flow
Coroutines and Flow patterns for Android/KMP - dispatcher ownership, StateFlow vs SharedFlow, combine/mapLatest/debounce, cancellation, sharing, and collection in ViewModels and Compose. Use this skill whenever writing async code, exposing streams from repositories, transforming Flow, coordinating parallel work, or reviewing coroutine scope usage. Trigger on phrases like "Flow", "StateFlow", "SharedFlow", "coroutines", "dispatcher", "launch", "async", "combine", "mapLatest", "debounce", "retryWhen", or "collectLatest".
android-crash-reporting
Crash reporting and ANR detection for Android - Firebase Crashlytics setup, non-fatal exception boundaries, custom keys and log lines, user identity rules, ANR detection, ViewModel crash boundaries, and debug vs release configuration. Use this skill whenever adding crash reporting, recording non-fatal errors, adding diagnostic context to crashes, setting up Crashlytics, or tuning crash triage workflows. Trigger on phrases like "crash reporting", "Crashlytics", "Firebase Crashlytics", "non-fatal", "ANR", "crash boundary", "recordException", "crash log", "custom key", "crash triage".
android-data-layer
Data layer patterns for Android/KMP - data sources, repositories, DTOs, mappers, Room entities, Ktor HttpClient, safe call helpers, token storage, and offline-first. Use this skill whenever writing or reviewing a data source or repository, creating DTOs or Room entities, writing mappers, setting up the Ktor HttpClient, handling network errors, or implementing token refresh. Trigger on phrases like "create a repository", "create a data source", "add a DAO", "Ktor client", "write a mapper", "DTO", "Room entity", "network call", "token storage", or "offline-first".
android-datastore-preferences
DataStore and preferences patterns for Android/KMP - user settings, typed preference models, serialization, migrations from SharedPreferences, corruption handling, and repository boundaries. Use this skill whenever storing app settings, feature flags, lightweight local state, or replacing SharedPreferences. Trigger on phrases like "DataStore", "preferences", "Proto DataStore", "settings", "user preferences", "SharedPreferences migration", or "local settings persistence".
android-di-koin
Koin dependency injection setup for Android/KMP - module definitions per layer, ViewModel injection, assembling modules in :app, and koinViewModel() in composables. Use this skill whenever setting up Koin, defining a DI module, providing a repository or ViewModel, injecting a dependency, or wiring modules in the Application class. Trigger on phrases like "set up Koin", "add a Koin module", "inject a dependency", "DI module", "koinViewModel", "provide a ViewModel", "startKoin", or "single/viewModel/factory".
android-dynamic-feature-modules
Dynamic feature modules for Android - on-demand vs install-time vs fast-follow delivery, build.gradle setup with com.android.dynamic-feature plugin, SplitInstallManager request and state monitoring, navigation to dynamic feature destinations, install failure handling, local testing with bundletool, and SplitInstallManager fakes for tests. Use this skill whenever splitting app features into on-demand modules, reducing base APK size, using Play Feature Delivery, or navigating to dynamically installed code. Trigger on phrases like "dynamic feature", "on-demand module", "Play Feature Delivery", "SplitInstallManager", "dynamic delivery", "install on demand", "modular APK", "feature split".
android-error-handling
Generic Result wrapper, error types, and extension helpers for Android/KMP - Result<T, E>, DataError, EmptyResult, map, onSuccess, onFailure. Use this skill whenever defining error types, creating a Result wrapper, handling success/failure flows, mapping errors, or working with typed errors anywhere in the app (not just data layer — also validation, auth, domain logic). Trigger on phrases like "Result wrapper", "error handling", "DataError", "onSuccess", "onFailure", "EmptyResult", "map result", "error type", "validation error", or "typed errors".
android-feature-flags
Feature flag patterns for Android - typed local flags with DataStore persistence, Firebase Remote Config fetch/activate lifecycle, wrapping remote config behind a FeatureFlagRepository interface, flag-gated navigation, environment-specific defaults, A/B testing user bucketing with exposure logging, and flag lifecycle naming conventions to prevent sprawl. Use this skill whenever adding feature toggles, kill switches, remote experiments, or A/B tests. Trigger on phrases like "feature flag", "remote config", "Firebase Remote Config", "A/B test", "feature toggle", "kill switch", "flag-gated", or "experiment".
android-file-storage-sharing
File storage and sharing patterns for Android - scoped storage rules, app-specific storage with getExternalFilesDir and cacheDir, MediaStore API for images/video/audio/downloads, Storage Access Framework with ActivityResultContracts.OpenDocument and CreateDocument, FileProvider setup with provider_paths.xml for sharing content:// URIs via Intent.ACTION_SEND, DownloadManager for large background downloads, and safe handling of content:// vs file:// URIs. Use this skill whenever saving, reading, or sharing files, integrating with system file pickers, downloading large files, or configuring FileProvider for URI sharing. Trigger on phrases like "save file", "read file", "share file", "FileProvider", "MediaStore", "scoped storage", "download", "SAF", "content URI", "pick file", or "open document".
android-foldables-adaptive-ui
Adaptive UI and foldable support patterns for Android/Compose - WindowSizeClass for layout decisions, ListDetailPaneScaffold for two-pane layouts, NavigationSuiteScaffold for adaptive navigation, FoldingFeature detection for hinge and table-top postures, and resizable emulator testing. Use this skill whenever building tablet, foldable, or large-screen layouts, or adapting navigation patterns based on available space. Trigger on phrases like "foldable", "tablet layout", "adaptive UI", "WindowSizeClass", "two-pane", "ListDetailPaneScaffold", "NavigationSuiteScaffold", "navigation rail", or "large screen".
android-image-loading-coil
Coil image loading patterns for Android/Compose - async images, placeholders, sizing, caching, transformations, and list performance. Use this skill whenever loading remote or local images, optimizing image-heavy screens, handling loading/error states, or deciding how images should be displayed in Compose. Trigger on phrases like "Coil", "AsyncImage", "image loading", "placeholder", "image cache", "transformations", or "loading avatars/photos".
android-in-app-purchases
In-app purchase patterns for Android using Play Billing Library 6+ - BillingClient connection lifecycle, one-time products and subscriptions, purchase flow with PurchasesUpdatedListener, server-side verification, acknowledging and consuming purchases, pending purchase handling, and exposing entitlement state via a repository-backed Flow. Use this skill whenever implementing consumable items, one-time purchases, subscription flows, or purchase restoration. Trigger on phrases like "in-app purchase", "IAP", "Play Billing", "subscription", "BillingClient", "purchase flow", "entitlement", "consumable", or "one-time product".
android-instrumentation-testing
Instrumentation and end-to-end testing for Android - Espresso, UI Automator, Compose test rules, Hilt test injection, navigation end-to-end, IdlingResource for async ops, and running tests on Firebase Test Lab. Use this skill whenever writing tests that run on a device or emulator, testing full user flows across multiple screens, replacing Hilt modules in tests, or setting up a device test matrix in CI. Trigger on phrases like "instrumentation test", "Espresso", "UI test", "UI Automator", "end-to-end test", "HiltAndroidTest", "createAndroidComposeRule", "integration test on device", "Firebase Test Lab", or "IdlingResource".
android-kmp-ktor-serialization
Ktor HTTP client + kotlinx.serialization for shared KMP networking — client setup in commonMain, platform engines, request/response helpers, typed errors. Use when building a shared network layer, adding API calls to KMP, or serializing JSON in commonMain. Trigger on: "Ktor KMP", "shared networking", "kotlinx.serialization KMP", "multiplatform HTTP", "commonMain API".
android-kmp-shared-module
KMP shared module setup — expect/actual, commonMain/androidMain/iosMain source sets, what belongs in shared vs platform. Use when adding KMP support, creating a shared module, splitting Android code for multiplatform, or working with expect/actual declarations. Trigger on: "KMP", "multiplatform", "shared module", "commonMain", "expect/actual", "iOS shared", "kotlin multiplatform".
android-kmp-sqldelight
SQLDelight as the KMP-native database — schema files, generated queries, coroutines extension, platform drivers, migrations. Use as the Room replacement when targeting KMP. Trigger on: "SQLDelight", "KMP database", "multiplatform Room", "shared database", "sqldelight KMP".
android-kmp-viewmodel
Sharing ViewModel logic across Android and iOS in KMP — CommonViewModel base, StateFlow in shared code, platform wrappers for iOS consumption. Use when building shared presentation logic, moving ViewModel to commonMain, or exposing Flow to Swift. Trigger on: "shared ViewModel", "KMP ViewModel", "commonMain ViewModel", "StateFlow iOS", "KMP presentation".
android-localization-accessibility
Localization and accessibility patterns for Android/Compose - string resources, pluralization, RTL, semantics, screen reader support, focus order, and inclusive UI review. Use this skill whenever adding user-facing copy, localizing screens, improving accessibility, or reviewing whether a Compose UI works well across languages and assistive technologies. Trigger on phrases like "localization", "translations", "RTL", "TalkBack", "semantics", "accessibility", "plural", or "screen reader".
android-maps-location-ui
Android maps and location UI patterns - map screens, markers, camera state, location permission integration, geospatial UI state, and user-friendly place interactions. Use this skill whenever building map-based screens, showing nearby results, controlling map camera state, or combining location permissions with spatial UI. Trigger on phrases like "map", "marker", "camera position", "nearby places", "location UI", "geospatial", or "map screen".
android-media-playback-camera
Media playback and camera patterns for Android - Media3/ExoPlayer player lifecycle, PlayerView in Compose via AndroidView, CameraX Preview/ImageCapture/VideoCapture use cases, ProcessCameraProvider lifecycle binding, saving captured media to MediaStore with scoped storage, and background audio with MediaSessionService. Use this skill whenever implementing video or audio playback, integrating a camera preview, capturing photos or video, or playing audio in the background. Trigger on phrases like "video player", "ExoPlayer", "Media3", "camera", "CameraX", "capture photo", "record video", "media playback", or "background audio".
android-module-structure
Module layout, dependency rules, and Gradle convention plugins for Android and Kotlin Multiplatform (KMP) projects. Use this skill whenever setting up a new Android/KMP project, deciding where a new module should live, asking "how should I structure this", creating a new feature module, adding a core submodule, configuring Gradle convention plugins, working with version catalogs, or making any decision about project-level architecture. Trigger on phrases like "set up the project", "add a module", "create a feature", "how should I structure", "project structure", "convention plugin", "build-logic", or "where does X live".
android-navigation
Type-safe Compose Navigation for Android/KMP - route objects, feature nav graphs, cross-feature callbacks, and wiring in :app. Use this skill whenever setting up navigation, defining routes, adding a new screen to a nav graph, navigating between features, or wiring nav graphs in the app module. Trigger on phrases like "set up navigation", "add a route", "navigate between screens", "nav graph", "NavController", "type-safe nav", "cross-feature navigation", or "NavGraphBuilder".
android-network-monitoring
Network connectivity monitoring for Android - ConnectivityManager with NetworkCallback, wrapping network state in a Flow, offline banner UI, network-aware retry, WiFi vs cellular detection, and fake NetworkMonitor for tests. Use this skill whenever detecting connectivity loss, showing an offline indicator, triggering re-fetch when connectivity returns, or gating downloads to WiFi. Trigger on phrases like "network monitor", "offline detection", "ConnectivityManager", "NetworkCallback", "connectivity", "offline banner", "no internet", "network state", "detect wifi", "connectivity change".
android-notifications-push
Push notification and local notification patterns for Android - FCM setup, FirebaseMessagingService, notification channels, NotificationCompat.Builder, deep-link on tap via PendingIntent and NavDeepLinkBuilder, foreground vs background delivery, POST_NOTIFICATIONS permission on Android 13+, data-only vs notification messages, grouping, and badges. Use this skill whenever adding push notifications, configuring Firebase Cloud Messaging, showing local notifications, handling notification taps, or creating notification channels. Trigger on phrases like "push notification", "FCM", "Firebase messaging", "notification channel", "local notification", "notification tap", "POST_NOTIFICATIONS", "data message", or "notification badge".
android-obfuscation-r8
R8 obfuscation and code shrinking for Android - R8 vs ProGuard, proguard-rules.pro patterns, keep rules for serialization (Gson/Moshi/kotlinx.serialization) and reflection-heavy libraries (Retrofit, Room, Koin, Firebase), mapping file management for crash deobfuscation, testing the release build, and debugging R8 issues with -printusage and -whyareyoukeeping. Use this skill whenever configuring shrinking/obfuscation, diagnosing release-only crashes, writing keep rules for a new library, or preparing a release build. Trigger on phrases like "ProGuard", "R8", "obfuscation", "minification", "keep rules", "proguard-rules", "release build crash", "mapping file", "shrinking", "minifyEnabled", or "-keep".
android-paging-offline-sync
Paging and offline sync patterns for Android - Paging 3, remote mediators, paged UI state, cache-backed loading, and large dataset strategies. Use this skill whenever loading long lists, adding infinite scroll, combining Room with network pagination, or deciding how to sync large datasets efficiently. Trigger on phrases like "paging", "PagingData", "RemoteMediator", "infinite scroll", "paginated list", or "offline sync for lists".
android-performance-profiling
Android performance and profiling patterns - startup analysis, baseline profiles, recomposition tracking, jank reduction, memory checks, and measurement-first optimization. Use this skill whenever diagnosing slow startup, dropped frames, excessive recomposition, memory pressure, or deciding how to profile before optimizing. Trigger on phrases like "performance", "profiling", "startup", "baseline profile", "jank", "recomposition", "memory leak", or "slow screen".
android-permissions-device-apis
Runtime permissions and device API patterns for Android - permission requests, rationale flows, activity results, camera, location, notifications, and capability-based feature access. Use this skill whenever adding access to device capabilities or platform services that require runtime permission or launcher-based contracts. Trigger on phrases like "permission", "camera", "location", "notifications", "activity result", "pick image", "request permission", or "device capability".
android-presentation-mvi
MVI presentation layer for Android/KMP - State, Action, Event, ViewModel, Root/Screen composable split, UI models, UiText error mapping, and process death with SavedStateHandle. Use this skill whenever creating or reviewing a ViewModel, defining screen state, actions, or events, structuring composables, mapping errors to UI strings, or handling process death. Trigger on phrases like "add a ViewModel", "create a screen", "MVI", "state", "action", "event", "screen composable", "UiText", "SavedStateHandle", "ObserveAsEvents", or "UI model".
android-room-database
Room database patterns for Android - database module boundaries, entities, DAOs, transactions, relations, migrations, converters, and offline-first persistence. Use this skill whenever adding Room entities or DAOs, changing schemas, writing queries, creating migrations, or deciding where shared database code should live. Trigger on phrases like "Room", "DAO", "entity", "migration", "type converter", "transaction", "query", "database module", or "offline-first persistence".
android-screenshot-testing
Screenshot and visual regression testing for Android/Compose - Roborazzi setup, golden image workflow, record vs verify modes, CI integration, dark mode and RTL variants, and Compose preview screenshot tests. Use this skill whenever adding visual regression coverage, setting up Roborazzi, managing golden images in CI, testing dark mode or font-scale variants, or deciding between screenshot, unit, and manual tests. Trigger on phrases like "screenshot test", "Roborazzi", "Paparazzi", "golden image", "visual regression", "snapshot test", "preview test", "record mode", "visual diff", or "screenshot CI".
android-security-encryption
Android security and encryption patterns - encrypted local storage, biometrics, keystore usage, secret boundaries, secure backups, and handling sensitive user data. Use this skill whenever storing sensitive local data, protecting secrets, adding biometric unlock, or deciding whether data needs encryption at rest. Trigger on phrases like "encryption", "Keystore", "biometric", "secure storage", "encrypted preferences", "sensitive data", or "protect local data".
android-testing
Testing patterns for Android/KMP - ViewModel unit tests with JUnit5, Turbine, AssertK, UnconfinedTestDispatcher, fake repositories, SavedStateHandle, and Compose UI tests. Use this skill whenever writing or reviewing tests for ViewModels, repositories, use cases, or Compose screens. Trigger on phrases like "write a test", "unit test the ViewModel", "test a repository", "Turbine", "fake repository", "UnconfinedTestDispatcher", "runTest", "ComposeTestRule", or "JUnit5".
android-text-input-forms
Text input and form patterns for Android/Compose - TextField vs OutlinedTextField, typed form state models, submit-time and change-time validation, KeyboardOptions and KeyboardActions, FocusRequester for focus traversal, password field toggles, multi-field scrollable forms, and mapping server-side validation errors through UiText. Use this skill whenever building login, registration, settings, or any multi-field input screen. Trigger on phrases like "form", "TextField", "input validation", "keyboard", "imeAction", "focus", "password field", "form state", "validation error", "OutlinedTextField", "KeyboardOptions", "FocusRequester", or "IME action".
android-widgets-shortcuts
Android widgets and shortcuts patterns - app widgets, pinned shortcuts, quick actions, update flows, and external app entry points. Use this skill whenever exposing app functionality outside the main app UI through widgets, launcher shortcuts, or other shortcut-style surfaces. Trigger on phrases like "widget", "AppWidget", "shortcut", "pinned shortcut", "quick action", or "launcher entry point".
android-workmanager
WorkManager patterns for Android - background sync, unique work, constraints, retries, periodic jobs, worker injection, and observing work state from the app. Use this skill whenever scheduling deferrable background work, syncing local and remote data, retrying uploads, or running tasks that must survive process death. Trigger on phrases like "WorkManager", "background sync", "periodic work", "retry upload", "constraints", "CoroutineWorker", "enqueueUniqueWork", or "observe work info".
Bio shown is the top-scored skill's repo description as a fallback — real GitHub bios land in a future update.