CommunityCodierung & Entwicklunggithub.com

Drjacky/claude-android-ninja

Agent-Fähigkeit für die Android-Entwicklung mit Kotlin und Jetpack Compose, die modulare Architektur, Navigation3, Gradle-Konventionen, Abhängigkeitsverwaltung und bewährte Testmethoden abdeckt.

Was ist claude-android-ninja?

Diese Fähigkeit ist für KI-Agenten (wie Claude Code, Cursor, Codex) konzipiert und ermöglicht die Erstellung und Verwaltung von Android-Apps mit Kotlin, Jetpack Compose und modernen Bibliotheken. Sie optimiert Arbeitsabläufe wie das Einrichten von Projekten, das Erstellen von UI-Komponenten, das Verwalten von Abhängigkeiten und das Testen durch einen strukturierten Entscheidungsbaum und Referenzen. Zu den wichtigsten unterstützten Bereichen gehören MVVM-Architektur, modulare Projektstrukturen, Navigation3, Material 3-Theming, Leistungsoptimierung und Codequalität. Entwickler können diese Fähigkeit nutzen, um Aufgaben wie die Implementierung von ViewModels, Repositories, Compose-Bildschirmen oder das Erstellen von Build-Konfigurationen mit Konventionen-Plugins zu automatisieren und so sicherzustellen, dass Code modernen Android-Standards wie Offline-First und dynamischen Farben entspricht.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
Part ofMobile
npx skills add Drjacky/claude-android-ninja

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Android Kotlin Compose Entwicklung

Verwenden Sie dies beim Erstellen von Android-Apps mit Kotlin, Jetpack Compose, MVVM, Hilt, Room 3, DataStore, Paging 3 oder Multi-Modul-Projekten. Wird ausgelöst bei Anfragen zum Erstellen von Android-Projekten, Bildschirmen, ViewModels, Repositories, Feature-Modulen oder bei Fragen zu Android-Architekturmustern.

Kurzübersicht

AufgabeReferenzdatei
Projektstruktur & Modulemodularization.md
Architekturebenen (Domain, Data, UI, Common, ...)architecture.md
Compose-Muster, Material Motion, Animation, Modifikatoren, Stabilitätcompose-patterns.md
Barrierefreiheit, TalkBack, Label-Kopien, Live-Regionen, Espresso a11y-Prüfungenandroid-accessibility.md
Benachrichtigungen, Vordergrunddienste, Medien/Audio, PiP, Sharesheetandroid-notifications.md
Datensynchronisation & Offline-First-Musterandroid-data-sync.md
Material 3 Theming, Abstandstokens, Kategorie-Passung, dynamische Farbenandroid-theming.md
Navigation3, adaptive Navigation, Qualitätsstufen für große Bildschirmeandroid-navigation.md
Kotlin-Best-Practices, View-Lebenszyklus-Interopkotlin-patterns.md
Coroutines-Best-Practicescoroutines-patterns.md
Gradle, Produkt-Flavors, BuildConfig, Build-Performancegradle-setup.md
Testansatztesting.md
Internationalisierung & Lokalisierungandroid-i18n.md
Symbole, adaptive Launcher-Spezifikationen, benutzerdefinierte Zeichnungenandroid-graphics.md
Laufzeitberechtigungenandroid-permissions.md
Kotlin-Delegationsmusterkotlin-delegation.md
Absturzberichterstattungcrashlytics.md
StrictMode-Leitplankenandroid-strictmode.md
Multi-Modul-Abhängigkeitendependencies.md
Codequalität (Detekt)code-quality.md
Codeabdeckung (JaCoCo)android-code-coverage.md
Sicherheit, Play Integrity (Standard/Classic), Server-Dekodierung, requestHash/nonce, abgestufte Richtlinie, Behebung; Credential Manager; lokale Root-Prüfungen als Ergänzungandroid-security.md
Entwurfsmusterdesign-patterns.md
Leistung, Play Vitals, optionales CI-Reporting (Play Developer Reporting API), Startzeit, Neuzusammenstellung, Ruckeln, Akkuandroid-performance.md
Debugging, Logcat-Ebenen, ANR, Gradle-Fehlermuster, R8, Speicherlecksandroid-debugging.md
Migrationsleitfäden (XML, RxJava, Navigation, Compose, Room 2→3)migration.md

Workflow-Entscheidungsbaum

Neues Projekt erstellen? → Beginnen Sie mit assets/settings.gradle.kts.template für Einstellungen und Modul-Einbindungen
→ Beginnen Sie mit assets/libs.versions.toml.template für den Versionskatalog
→ Kopieren Sie alle Dateien aus assets/convention/ nach build-logic/convention/src/main/kotlin/
→ Erstellen Sie build-logic/settings.gradle.kts (siehe assets/convention/QUICK_REFERENCE.md)
→ Fügen Sie includeBuild("build-logic") zum root settings.gradle.kts hinzu
→ Fügen Sie Plugin-Einträge zu gradle/libs.versions.toml hinzu (siehe assets/convention/QUICK_REFERENCE.md) → Kopieren Sie assets/proguard-rules.pro.template nach app/proguard-rules.pro → Lesen Sie modularization.md für Struktur und Modultypen
→ Verwenden Sie gradle-setup.md für Build-Dateien und Build-Logik

Gradle/Build-Dateien konfigurieren? → Verwenden Sie gradle-setup.md für Modul-build.gradle.kts-Muster
→ Verwenden Sie gradle-setup.md → "Build-Performance" für Optimierungsworkflow, Diagnose und Engpassbehebung
→ Kopieren Sie Konventions-Plugins aus assets/convention/ nach build-logic/ in Ihrem Projekt
→ Siehe assets/convention/QUICK_REFERENCE.md für Einrichtungsanweisungen und Beispiele
→ Kopieren Sie assets/proguard-rules.pro.template nach app/proguard-rules.pro für R8-Regeln

Codequalität / Detekt einrichten? → Verwenden Sie code-quality.md für die Einrichtung des Detekt-Konventions-Plugins
→ Beginnen Sie mit assets/detekt.yml.template für Regeln und aktivieren Sie Compose-Regeln

Abhängigkeiten hinzufügen oder aktualisieren? → Folgen Sie dependencies.md
→ Aktualisieren Sie assets/libs.versions.toml.template, wenn die Abhängigkeit fehlt

Neues Feature/Modul hinzufügen? → Folgen Sie der Modulbenennung in modularization.md
→ Implementieren Sie die Präsentation im Feature-Modul
→ Folgen Sie dem Abhängigkeitsfluss: Feature → Core/Domain → Core/Data

UI-Bildschirme/Komponenten erstellen? → Lesen Sie compose-patterns.md für Bildschirmarchitektur, Zustand, Komponenten, Modifikatoren
→ Verwenden Sie compose-patterns.md -> Zustandsverwaltung -> "Lade- und Aktualisierungsbenutzererfahrung" für stabiles Layout während des Ladens und Aktualisierens (vermeiden Sie Vollbild-Spinner, die den Kontext löschen)
→ Verwenden Sie android-theming.md für Material 3-Farben, Typografie und Formen
→ Stimmen Sie Kotlin-Code immer mit kotlin-patterns.md ab
→ Erstellen Sie Screen + ViewModel + UiState im Feature-Modul
→ Verwenden Sie nach Möglichkeit gemeinsame Komponenten aus core/ui

Zustand und Ereignisse verwalten? → Verwenden Sie StateFlow für Zustand; Channel + receiveAsFlow() für strikte einmalige UI-Befehle; SharedFlow für Multicast- oder Wiederholungsereignisse (siehe coroutines-patterns.md) → Überstehen Sie Prozessabbrüche mit SavedStateHandle (siehe compose-patterns.md)

App-Design (Farben, Typografie, Formen) einrichten? → Folgen Sie android-theming.md für Material 3-Theming und dynamische Farben
→ Verwenden Sie semantische Farbrollen aus MaterialTheme.colorScheme (niemals hartcodierte Farben); paaren Sie jede Füllung mit ihrem on*-Partner - siehe Farbpaarungsregeln
→ Deklarieren Sie den vollständigen M3-Farbsatz in Color.kt (Surface-Container, Dim/Bright, *Fixed/*FixedDim), damit dynamische Farb- und Kontrastvarianten konsistent bleiben - siehe Vollständige Farbrollenreferenz und Surface-Container-Hierarchie
→ Drücken Sie Tiefe zuerst durch Container-Ton aus, verwenden Sie Schatten nur für Komponenten, die über beliebigem Inhalt schweben - siehe Tonale Elevation vs. Schatten
→ Verwenden Sie outline für interaktive Rahmen/Fokus, outlineVariant für dekorative Trennlinien - siehe outline vs. outlineVariant
→ Unterstützen Sie helle/dunkle Designs mit Benutzereinstellungsumschaltung
→ Aktivieren Sie dynamische Farben (Material You) für API 31+, harmonisieren Sie Marken-/erweiterte Farben mit primary - siehe Markenfarbenharmonisierung
→ Beachten Sie den Systemkontrast-Schieberegler unter Android 14+ (API 34), indem Sie mittlere/hohe Kontrastschema-Varianten ausliefern und UiModeManager.getContrast() lesen - siehe Benutzerkontrastpräferenz
→ Für regionale Farbpaletten-Überschreibungen (destruktive Bereiche, Medien-Toolbars) verwenden Sie ein verschachteltes MaterialTheme mit colorScheme.copy(...) - siehe Bereichsspezifische Designs
→ Wählen Sie Card / OutlinedCard / ElevatedCard nach Oberflächentrennung, nicht nach Wichtigkeit, und überschreiben Sie Formen auf Token-Ebene - siehe Kartenvarianten und Komponentenform-Standardwerte

Kotlin-Code schreiben? → Folgen Sie immer kotlin-patterns.md
→ Stellen Sie sicher, dass die Praktiken mit architecture.md, modularization.md und compose-patterns.md übereinstimmen

Daten-/Domain-Ebenen einrichten? → Lesen Sie architecture.md
→ Hilt @Binds, Bereiche und DI-Anti-Patterns: architecture.md -> Domain-Ebene -> "Dependency Injection Setup"
→ Erstellen Sie Repository-Schnittstellen in core/domain
→ Erstellen Sie Implementierungen in core/data mit Room 3/Retrofit/DataStore → Verwenden Sie DataStore für einfache Schlüssel-Wert-Paare, Room 3 für komplexe relationale Daten (suspend / Flow DAOs, SQLiteDriver)

Listen und Scrollen implementieren? → Verwenden Sie LazyColumn/LazyRow mit stabilen Schlüsseln und contentType (siehe compose-patterns.md) → Für große Datensätze verwenden Sie Paging 3 (siehe compose-patterns.md -> "Paging 3")

Navigation handhaben? → Verwenden Sie Navigation3 für adaptive Navigation (siehe android-navigation.md) → Vermeiden Sie Navigations-Anti-Patterns (siehe android-navigation.md -> "Navigation Anti-Patterns")

Leistung optimieren? → Folgen Sie der Leistungscheckliste in android-performance.md → Wenn der Benutzer nach automatischen Play Console Vitals fragt (CI/Slack, keine Play Console UI), verwenden Sie android-performance.md → Optional: Play Vitals-Beobachtbarkeit (Play Developer Reporting API) → Verwenden Sie BasicTextField2 für hochfrequente Texteingabe

Testen? → Lesen Sie testing.md für Testphilosophie und -muster → Verwenden Sie Turbine zum Testen von Flow-Emissionen (siehe testing.md -> "Testing Flow Emissions with Turbine") → Erstellen Sie Reposit

…

(Der vollständige Inhalt wurde gekürzt, aber die Übersetzung folgt der Struktur des Originals.)

Verwandte Skills