android-development

Create production-quality Android applications following Google's official architecture guidance and NowInAndroid best practices. Use when building Android apps with Kotlin, Jetpack Compose, MVVM architecture, Hilt dependency injection, Room database, or multi-module projects. Triggers on requests t

By dpconde · 643 installs

npx skills add dpconde/claude-android-skill --skill android-development

Source repository · Upstream listing

Android Development Build Android applications following Google's official architecture guidance, as demonstrated in the NowInAndroid reference app. Quick Reference Task Reference File Project structure & modules [modularization.md](references/modularization.md) Architecture layers (UI, Domain, Data) [architecture.md](references/architecture.md) Jetpack Compose patterns [compose patterns.md](references/compose patterns.md) Gradle & build configuration [gradle setup.md](references/gradle setup.md) Testing approach [testing.md](references/testing.md) Workflow Decision Tree Creating a new project? → Read [modularization.md](references/modularization.md) for project structure → Use templates in assets/templates/ Adding a new feature? → Create feature module with api and impl submodules → Follow patterns in [architecture.md](references/architecture.md) Building UI screens? → Read [compose patterns.md](references/compose patterns.md) → Create Screen + ViewModel + UiState Setting up data layer? → Read data layer section in [architecture.md](references/architecture.md) → Create Repository + DataSource + DAO Core Principles 1. Offline first : Local database is source of truth, sync with remote 2. Unidirectional data flow : Events flow down, data flows up 3. Reactive streams : Use Kotlin Flow for all data exposure 4. Modular by feature : Each feature is self contained with clear boundaries 5. Testable by design : Use interfaces and test doubles, no mocking libraries Architecture Layers Module Types Creating a New Feature 1. Create feature:myfeature:api module with navigation key 2. Create feature:myfeature:impl module with: MyFeatureScreen.kt Composable UI MyFeatureViewModel.kt State holder MyFeatureUiState.kt Sealed interface for states MyFeatureNavigation.kt Navigation setup MyFeatureModule.kt Hilt DI module Standard File Patterns ViewModel Pattern UiState Pattern Screen Pattern Repository Pattern Key Dependencies Build Configuration Use convention plugins in build logic/ for consistent configuration: AndroidApplicationConventionPlugin App modules AndroidLibraryConventionPlugin Library modules AndroidFeatureConventionPlugin Feature modules AndroidComposeConventionPlugin Compose setup AndroidHiltConventionPlugin Hilt setup See [gradle setup.md](references/gradle setup.md) for complete build configuration.