Mode d’emploi
- Copiez la commande et examinez le paquet avant de l’installer dans votre environnement agent.
- Consultez le document original pour les outils, identifiants et environnements requis.
- Décrivez les entrées et le livrable souhaité ; comparez la sortie aux sources.
npx skills add https://github.com/prasad-vennam/awesome-android-ai-agent-skills --skill android-code-review-expertAvant de commencer
- L’installation n’inclut ni abonnement au modèle, ni quota API, ni accès aux fichiers.
- Étoiles et installations reflètent l’activité, pas un test indépendant de qualité ou de sécurité.
Rendu depuis le dépôt source en conservant titres, exemples, code, tableaux, liens et images.
Android Code Review Excellence 🧐🛡️
A rigorous framework for AI agents and developers to perform high-quality, professional Android code reviews.
⚡ When to Use
- PR Review: Analyzing a Pull Request for logic, style, and regressions.
- Pre-commit Audit: Self-checking code before pushing.
- Architectural Check: Ensuring new features follow the established team patterns.
- Security Audit: Spotting sensitive data exposure or insecure networking.
- Performance Audit: Detecting potential memory leaks or UI jank.
🏗️ Review Checklist
1. Architecture & Design
- [ ] Clean Architecture: Is logic properly separated into Domain/Data/Presentation?
- [ ] State Flow: Does the ViewModel expose
StateFlow? Is state properly hoisted? - [ ] Dependency Injection: Are dependencies injected via Hilt/Koin? No manual
new Class()for dependencies. - [ ] Manifest Scaffolding: Are required permissions (like
INTERNETfor Coil/Retrofit) actually defined? Is the@HiltAndroidAppclass correctly designated inAndroidManifest.xmlviaandroid:name? - [ ] Type-Safe Navigation: Is the app using Compose
NavHostwith Kotlin Serialization (type-safe routes) instead of anti-pattern manual state swapping? - [ ] Modularity: Is the code placed in the correct module?
2. Jetpack Compose (UI)
- [ ] Recomposition: Are there expensive calculations inside
@Composable? Useremember. - [ ] Previews: Does the new component have
@Previewfor light/dark mode and accessibility? - [ ] Stability: Are domain models marked
@Stableor@Immutable? - [ ] Material 3: Is the code using the theme's
MaterialTheme.colorSchemeinstead of hardcoded hex values? - [ ] Theme Bridge: If XML resources are used (e.g.
res/), is the Material Components XML Bridge correctly set up in themes?
3. Stability & Networking
- [ ] Error Handling: Are network calls wrapped in
Resultortry/catchwith proper UI feedback? - [ ] Coroutine Scopes: Use
viewModelScopefor ViewModels andlifecycleScopefor Fragments/Activities. - [ ] Flow Lifecycle: Is
collectAsStateWithLifecycle()used instead of basecollectAsState()? (Critical for avoiding resource leaks when the app goes into the background). - [ ] Room TypeConverters: If caching domain models with complex definitions (e.g.
LocalDateTime,List<String>), did you verify a@TypeConverteris written and registered on the Database? ROOM WILL CRASH without this.
4. Performance & Memory
- [ ] Memory Leaks: Are there references to
Contextheld in long-lived objects? - [ ] Lazy Lists: Are
keyparameters provided foritems()inLazyColumn/LazyRow? - [ ] Heavy Work: Is heavy computation moved to
Dispatchers.Default?
5. Security & Privacy
- [ ] Sensitive Data: Ensure NO passwords, keys, or PII are logged or stored in plain text.
- [ ] Networking: Is all communication over HTTPS? No
cleartextTrafficallowed. - [ ] Permissions: Is the app requesting minimum necessary permissions?
📜 Reviewer Best Practices
- The "Why", Not Just the "What": Explain the reasoning behind a request (e.g., "Use
rememberhere to prevent re-calculating on every frame"). - Prioritize: Distinguish between "Critical" (security, crashes) and "Nitpick" (formatting, naming).
- Compliment: Acknowledge good code, elegant solutions, and clear documentation.
🧪 Verification Commands (For Agents)
Check Lint
./gradlew lintDebugCheck Style
./gradlew ktlintCheckRun Logic Tests
./gradlew testDebugUnitTest


