💻 Développement

android-kotlin-advisor

Développement Android natif avec Kotlin et Jetpack Compose.

⚡ Installation & lancement en 1 commande

Copiez-collez dans votre terminal : le skill s'installe dans ~/.claude/skills et Claude Code se lance directement dessus.

macOS / Linux
curl -fsSL https://raw.githubusercontent.com/khalilbenaz/claude-skills-collection/main/install.sh | sh -s -- android-kotlin-advisor --launch
Windows (PowerShell)
iex "& { $(iwr -useb https://raw.githubusercontent.com/khalilbenaz/claude-skills-collection/main/install.ps1) } android-kotlin-advisor -Launch"

🚀 Déjà installé ?

claude "/android-kotlin-advisor"

Ou tapez /android-kotlin-advisor dans une session Claude Code, ou décrivez simplement votre besoin — le skill se déclenche automatiquement via le skill-router.

🔑 Déclencheurs automatiques

Le skill s'active automatiquement quand votre demande contient :

AndroidKotlinJetpack ComposeAndroid StudioGradleRoomHiltCoroutinesPlay Store

📦 Installation manuelle

git clone https://github.com/khalilbenaz/claude-skills-collection.git cp -r claude-skills-collection/dev-skills/android-kotlin-advisor ~/.claude/skills/

Source : dev-skills/android-kotlin-advisor

📖 Manuel

Android Kotlin Advisor

Workflow

  1. Architecture — Définir l'architecture selon la taille et la complexité : MVVM + Repository (recommandé par Google, ViewModel expose StateFlow, Repository abstrait les sources de données), MVI (état immuable, intentions, reducers — idéal avec Compose), Clean Architecture en multi-module (couches domain/data/presentation séparées, indépendance aux frameworks), avec les modules Gradle feature/:feature-name pour la séparation des fonctionnalités et les builds incrementaux plus rapides.
  2. UI avec Jetpack Compose — Construire les interfaces avec Compose : Composables stateless (paramètre state + lambda events), Material 3 (MaterialTheme, ColorScheme, Typography, dynamic color Android 12+), theming (light/dark mode automatique, custom shapes), navigation-compose (NavHost, NavController, arguments typés, nested graphs), et les animations Compose (AnimatedVisibility, animateContentSize, Crossfade, transition APIs).
  3. State management — Gérer l'état avec les APIs Jetpack modernes : ViewModel (survie aux changements de configuration), StateFlow/SharedFlow (flux de données réactifs, collecte lifecycle-aware avec collectAsStateWithLifecycle), MutableState et remember (état local Compose, recomposition efficace), rememberSaveable (persistance au-delà de la recomposition et de la recréation d'activité), et les UiState data classes sealed pour les états Success/Loading/Error.
  4. Dependency injection — Configurer l'injection de dépendances avec Hilt (basé sur Dagger, annotations @HiltAndroidApp, @AndroidEntryPoint, @Inject, @HiltViewModel — recommandé pour les projets Google-standard), ou Koin (DSL Kotlin, léger, setup simplifié sans génération de code, idéal pour petits projets ou équipes préférant éviter le boilerplate Dagger). Documenter les modules et les scopes (Singleton, ActivityScoped, ViewModelScoped).
  5. Data layer — Implémenter la couche de données : Room (ORM SQLite, @Entity/@Dao/@Database, migrations, Flow queries réactives), DataStore (remplacement de SharedPreferences, Proto DataStore pour les schémas typés, Preferences DataStore pour les cas simples), Retrofit + OkHttp (client REST, interceptors, logging, authentification), Kotlin Serialization (sérialisation JSON typée, kotlinx.serialization) ou Gson/Moshi selon les préférences d'équipe.
  6. Concurrency — Utiliser les Coroutines et Flow Kotlin : CoroutineScope lifecycle-aware (viewModelScope, lifecycleScope), suspend functions pour les opérations asynchrones, Flow pour les streams de données (map, filter, combine, zip), StateFlow/SharedFlow pour l'exposition depuis le ViewModel, Channels pour la communication one-shot (navigation events, snackbars), et la gestion des erreurs avec try/catch, CoroutineExceptionHandler et le structured concurrency.
  7. Testing — Écrire des tests complets : JUnit 4/5 + Truth pour les unit tests (ViewModel, Repository, Use Cases), Compose UI Tests (createComposeRule, onNodeWithText, performClick, assertions sémantiques), Espresso pour les tests d'intégration UI (UIAutomator pour les flux multi-app), MockK (mocking idiomatique Kotlin, coEvery, verify), Turbine (testing des Flow Kotlin, awaitItem, cancelAndIgnoreRemainingEvents), et Hilt Testing pour les tests avec injection.
  8. Build et déploiement — Configurer Gradle avec les Convention Plugins (build-logic/, fichiers .gradle.kts partagés), les build variants (debug/staging/release) et product flavors (free/paid, par environnement), ProGuard/R8 (minification, obfuscation, shrinking des resources), la configuration du keystore de signature (store en dehors du dépôt, CI via variables d'environnement), et la publication Play Store (Internal Testing, Closed Testing, Open Testing, Production) via Play Console ou Fastlane supply.

Règles