prasad-vennam/awesome-android-ai-agent-skills

android-code-review-expert

Use when performing a code review for Android pull requests, focusing on architecture, memory safety, and UI excellence.

소스 보기

사용 방법

  1. 설치 명령을 복사하고 자신의 에이전트 환경에 설치하기 전에 소스 패키지를 확인하세요.
  2. 필요한 도구, 인증 정보, 지원 환경은 원본 문서에서 확인하세요.
  3. 입력과 원하는 산출물을 설명하고 출처와 결과를 대조하세요.
npx skills add https://github.com/prasad-vennam/awesome-android-ai-agent-skills --skill android-code-review-expert

시작 전 확인

  • 설치에는 모델 구독, API 한도, 파일 접근 권한이 포함되지 않습니다.
  • 별점 수와 설치 수는 활동 지표이며 독립적인 품질·보안 검증이 아닙니다.
원본 Skill 문서

원본 저장소의 제목, 예시, 코드, 표, 링크, 이미지를 유지해 표시합니다.

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 INTERNET for Coil/Retrofit) actually defined? Is the @HiltAndroidApp class correctly designated in AndroidManifest.xml via android:name?
  • [ ] Type-Safe Navigation: Is the app using Compose NavHost with 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? Use remember.
  • [ ] Previews: Does the new component have @Preview for light/dark mode and accessibility?
  • [ ] Stability: Are domain models marked @Stable or @Immutable?
  • [ ] Material 3: Is the code using the theme's MaterialTheme.colorScheme instead 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 Result or try/catch with proper UI feedback?
  • [ ] Coroutine Scopes: Use viewModelScope for ViewModels and lifecycleScope for Fragments/Activities.
  • [ ] Flow Lifecycle: Is collectAsStateWithLifecycle() used instead of base collectAsState()? (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 @TypeConverter is written and registered on the Database? ROOM WILL CRASH without this.

4. Performance & Memory

  • [ ] Memory Leaks: Are there references to Context held in long-lived objects?
  • [ ] Lazy Lists: Are key parameters provided for items() in LazyColumn/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 cleartextTraffic allowed.
  • [ ] 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 remember here 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

bash
  ./gradlew lintDebug

Check Style

bash
  ./gradlew ktlintCheck

Run Logic Tests

bash
  ./gradlew testDebugUnitTest

🔗 Related Resources

관련 작업

같은 저장소의 Skills

더 많은 Skills

모든 Skills