← ClaudeAtlas

mobilelisted

Patterns mobile natif et cross-platform. Se charge à l'écriture/modification de : .kt, .kts (Kotlin/Android), .swift (iOS), .dart (Flutter), .tsx/.jsx dans un projet React Native/Expo. Détection projet : AndroidManifest.xml, Info.plist, pubspec.yaml, app.json ou app.config.js (Expo), dossiers android/ + ios/ (RN), build.gradle, Podfile. Couvre : Android (Kotlin, Jetpack Compose, XML layouts, Gradle, lifecycle), iOS (SwiftUI, UIKit, SwiftPM, CoreData), Flutter (widgets, Riverpod/Bloc, platform channels), React Native/Expo (hooks, navigation, bridges natifs). Ne se charge PAS quand : discussion, review ou documentation sans écriture de code mobile.
vendeesign/codebloom · ★ 3 · Data & Documents · score 64
Install: claude install-skill vendeesign/codebloom
# Mobile Dev — Patterns natifs et cross-platform Se charge automatiquement quand du code touche Android, iOS, Flutter ou React Native. ## Règles universelles (tous les frameworks) ### Touch targets & Spacing - Touch targets : **48x48dp** minimum (44pt iOS) — primary actions **56x56dp** - Spacing grid : multiples de **8dp** (4, 8, 16, 24, 32, 48) - Primary actions dans la **thumb zone** (moitié basse de l'écran) ### Accessibilité (non-négociable) - Chaque élément interactif a un label accessible (`contentDescription` Android, `accessibilityLabel` iOS/RN) - Ne pas décrire le type d'élément dans le label : "Sauvegarder" pas "Bouton Sauvegarder" - Contraste texte : 4.5:1 (normal), 3:1 (grand texte ≥18sp) - Ne jamais communiquer l'information par la couleur seule - Respecter `prefers-reduced-motion` / `accessibilityReduceMotion` - Support Bold Text et Increase Contrast ### Animation - Animer uniquement `transform` et `opacity` — jamais layout (width, height, margin, padding) - 60fps cible = < 16ms par frame - Désactiver parallax/3D sur `pointer: coarse` (mobile) ### Navigation - Tab bar : 3-5 sections principales, reste visible pendant la navigation - Back swipe toujours fonctionnel - Préserver l'état entre les tabs - **Jamais** de hamburger menu / drawer comme navigation principale --- ## Android (Kotlin / Jetpack Compose) ### Fondation Avant la logique métier : `./gradlew assembleDebug` doit réussir. ### Kotlin — Règles clés - **Null safety** : éviter `!!` (crash