{"enrichment":{"faq":[{"a":"compose-multiplatform-patterns teaches you how to build shared UI across Android, iOS, Desktop, and Web using Compose Multiplatform. The skill covers architectural patterns that let you write composables once and deploy them across platforms, including expect/actual mechanisms for platform-specific UI when needed, slot-based APIs for flexible component design, and best practices for structuring reusable composables that work seamlessly in multiplatform projects.","q":"What are the core compose multiplatform patterns for shared UI?"},{"a":"compose-multiplatform-patterns covers implementing state management by combining ViewModels with StateFlow to create reactive, predictable state flows in Compose applications. You'll learn how to structure your ViewModel to expose StateFlow instances, consume them safely in composables, apply the event sink pattern for user interactions, and use derivedStateOf to compute derived state efficiently without unnecessary recompositions.","q":"How do you implement state management with ViewModel and StateFlow in Compose?"},{"a":"compose-multiplatform-patterns demonstrates type-safe navigation by showing how to implement routing that leverages Kotlin's type system to prevent runtime navigation errors. The skill covers navigation architecture patterns, handling bottom sheets and dialogs within navigation flows, and structuring your navigation graph so that type safety is maintained across all platforms in a Compose Multiplatform project.","q":"How can you set up type-safe routing in Compose Multiplatform or Jetpack Compose?"},{"a":"compose-multiplatform-patterns teaches performance optimization through understanding recomposition skipping, proper use of compose lazy list keys to prevent unnecessary recompositions, correct modifier ordering to avoid layout thrashing, and ensuring your data types are stable and immutable. You'll learn anti-patterns to avoid and how to profile and measure recomposition to identify bottlenecks in your Compose applications.","q":"What techniques optimize Compose recomposition and rendering performance?"},{"a":"compose-multiplatform-patterns covers composable design best practices including creating flexible, reusable components through slot-based APIs, applying Material 3 theming consistently across your UI, and structuring your design system so it works across all Compose Multiplatform targets. You'll learn how to build composables that adapt to different platforms while maintaining a cohesive visual language.","q":"How do you design reusable composables with Material 3 theming?"},{"a":"compose-multiplatform-patterns explains the expect/actual pattern for implementing platform-specific UI when shared code isn't sufficient. This mechanism lets you define expect declarations in common code and provide actual implementations for Android, iOS, Desktop, and Web, enabling you to leverage platform-native capabilities while keeping the majority of your UI logic shared across targets.","q":"What platform-specific UI patterns does Compose Multiplatform support?"}],"shadow_tags":["cross-platform-ui","reactive-state","type-safe-routing","performance-tuning","design-systems","lifecycle-aware","declarative-ui","platform-interop","composition-optimization","material-design"],"summary_rewrite":"Master patterns for building shared UI with Compose Multiplatform and Jetpack Compose across multiple platforms. Covers state management with ViewModels, type-safe navigation, reusable composable design, platform-specific implementations, and recomposition optimization."},"files":[{"bytes":8132,"path":"skills/compose-multiplatform-patterns/SKILL.md","sha256":"09e2469a462de36f39393cb7b53b019909b39f2d488eec0f8ca5627152ccdeec","url":"https://skillfed.io/files/affaan-m/ECC/compose-multiplatform-patterns/c67477f1/SKILL.md"}],"id":"affaan-m/ECC/compose-multiplatform-patterns","links":{"html":"https://skillfed.io/affaan-m/ECC/compose-multiplatform-patterns","md":"https://skillfed.io/affaan-m/ECC/compose-multiplatform-patterns.md","repo":"https://github.com/affaan-m/ECC"},"meta":{"agents_supported":[],"first_seen":"2026-07-28","forks":35692,"language":"JavaScript","last_updated":"2026-07-27","license":"MIT","name":"compose-multiplatform-patterns","publisher":"affaan-m","stars":234207},"relations":{"similar":[{"id":"affaan-m/ECC/kotlin-coroutines-flows"},{"id":"travisjneuman/.claude/android-development"},{"id":"alinaqi/maggy/android-kotlin"},{"id":"fengshao1227/ccg-workflow/mobile"},{"id":"affaan-m/ECC/android-clean-architecture"},{"id":"vitorpamplona/amethyst/android-expert"},{"id":"personamanagmentlayer/pcl/kotlin-expert"},{"id":"skydoves/compose-performance-skills/stabilizing-compose-types"},{"id":"xtone/ai_development_tools/android-ui-guidelines"},{"id":"chrisbanes/skills/compose-state-holder-ui-split"}]},"slug":{"owner":"affaan-m","repo":"ECC","skill":"compose-multiplatform-patterns"},"version":"c67477f1"}
