사용 방법
- 설치 명령을 복사하고 자신의 에이전트 환경에 설치하기 전에 소스 패키지를 확인하세요.
- 필요한 도구, 인증 정보, 지원 환경은 원본 문서에서 확인하세요.
- 입력과 원하는 산출물을 설명하고 출처와 결과를 대조하세요.
npx skills add https://github.com/prasad-vennam/awesome-android-ai-agent-skills --skill android-code-review-expert시작 전 확인
- 설치에는 모델 구독, API 한도, 파일 접근 권한이 포함되지 않습니다.
- 별점 수와 설치 수는 활동 지표이며 독립적인 품질·보안 검증이 아닙니다.
원본 저장소의 제목, 예시, 코드, 표, 링크, 이미지를 유지해 표시합니다.
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


