{"enrichment":{"faq":[{"a":"xml-to-compose-migration guides you through converting Android XML layouts into idiomatic Jetpack Compose code. The skill provides layout mapping tables for common containers like LinearLayout, FrameLayout, and ConstraintLayout, plus widget equivalents (Button, EditText, ImageView, etc.). It covers attribute translation, state migration from LiveData to Compose state, and patterns for both full rewrites and incremental adoption using ComposeView interop.","q":"How do I convert Android XML layout to Jetpack Compose?"},{"a":"xml-to-compose-migration maps traditional Android containers to Compose equivalents: LinearLayout becomes Row or Column depending on orientation, ConstraintLayout converts to Box with modifier constraints, FrameLayout maps to Box, and RecyclerView transforms to LazyColumn or LazyRow. The skill includes detailed mapping tables showing how to translate layout_width, layout_height, gravity, and other XML attributes into Compose modifiers and parameters.","q":"What layout containers can xml-to-compose-migration help me map?"},{"a":"xml-to-compose-migration provides patterns for migrating from View system state management to Compose. It covers converting LiveData and ViewModel patterns to Compose State and StateFlow, replacing DataBinding with Compose's declarative state hoisting, and modernizing ViewBinding usage. The skill guides you through managing state lifecycle in composables and integrating with existing Android architecture components during migration.","q":"How does xml-to-compose-migration handle state migration?"},{"a":"Yes. xml-to-compose-migration supports incremental migration strategies using ComposeView interop, allowing you to adopt Compose gradually while maintaining XML layouts. The skill shows how to embed composables in existing XML-based fragments and activities, manage state across the XML-Compose boundary, and plan phased migration without requiring a complete rewrite of your codebase.","q":"Can I use xml-to-compose-migration for incremental adoption?"},{"a":"xml-to-compose-migration provides conversion guidance for common widgets: EditText becomes TextField or OutlinedTextField, Button maps to Button with onClick lambda, ImageView converts to Image, CardView becomes Card, and RecyclerView transforms to LazyColumn. The skill includes attribute mapping for properties like hint, inputType, src, elevation, and more, helping you translate XML widget definitions into their Compose equivalents.","q":"Does xml-to-compose-migration cover widget conversion?"},{"a":"xml-to-compose-migration helps modernize your UI architecture by replacing ViewBinding with Compose's type-safe declarative syntax, DataBinding with Compose state management, and the entire View system with composables. It guides you away from XML layout inflation and fragment-based UI toward Compose's functional composition model, reducing boilerplate and improving maintainability while supporting interop during transition periods.","q":"What does xml-to-compose-migration replace in modern Android development?"}],"shadow_tags":["ui-modernization","declarative-ui","view-system-migration","state-hoisting","incremental-adoption","android-interop","layout-conversion","compose-patterns"],"summary_rewrite":"This skill guides you through converting Android XML layouts to idiomatic Jetpack Compose code. It provides layout mapping tables for common containers and widgets, attribute translation, and patterns for state migration from LiveData to Compose state. Use it for full rewrites or incremental adoption via ComposeView interop."},"files":[{"bytes":10215,"path":".github/skills/migration/xml-to-compose-migration/SKILL.md","sha256":"e9f1eb49e59f534e8278738ebe7fe1a2c700e3ed086642541d4fd5802a6a54b1","url":"https://skillfed.io/files/new-silvermoon/awesome-android-agent-skills/xml-to-compose-migration/621f058f/SKILL.md"}],"id":"new-silvermoon/awesome-android-agent-skills/xml-to-compose-migration","links":{"html":"https://skillfed.io/new-silvermoon/awesome-android-agent-skills/xml-to-compose-migration","md":"https://skillfed.io/new-silvermoon/awesome-android-agent-skills/xml-to-compose-migration.md","repo":"https://github.com/new-silvermoon/awesome-android-agent-skills"},"meta":{"agents_supported":[],"first_seen":"2026-07-28","forks":87,"language":null,"last_updated":"2026-07-27","license":"Apache-2.0","name":"xml-to-compose-migration","publisher":"new-silvermoon","stars":905},"relations":{"similar":[{"id":"cometchat/cometchat-skills/cometchat-android-v6-kotlin-placement"},{"id":"cometchat/cometchat-skills/cometchat-android-v5-placement"},{"id":"cometchat/cometchat-skills/cometchat-android-v5-components"},{"id":"mapbox/mapbox-agent-skills/mapbox-android-patterns"},{"id":"meta-quest/agentic-tools/hz-android-2d-porting"},{"id":"cometchat/cometchat-skills/cometchat-android-v6-troubleshooting"},{"id":"cometchat/cometchat-skills/cometchat-android-v6-kotlin-components"},{"id":"skydoves/compose-performance-skills/optimizing-lazy-layouts"},{"id":"krutikJain/android-agent-skills/android-viewsystem-foundations"},{"id":"wshobson/agents/mobile-android-design"}]},"slug":{"owner":"new-silvermoon","repo":"awesome-android-agent-skills","skill":"xml-to-compose-migration"},"version":"621f058f"}
