← ClaudeAtlas

r8-shrink-prolisted

Reviews Android R8 / ProGuard configuration for code-shrinking, optimization, and obfuscation. Covers `-keep` rule discipline, library `consumer-rules.pro` discipline, common reflection-using library rules (Moshi, Room, Hilt, Retrofit, Glide), mapping-file workflow, debugging release-build crashes. Use when reading, writing, or reviewing ProGuard/R8 configuration files.
kelvinkosbab/AppBootstrapAI · ★ 6 · AI & Automation · score 81
Install: claude install-skill kelvinkosbab/AppBootstrapAI
Review Android R8 / ProGuard configuration for correctness, minimal-keep discipline, and release-build resilience. R8 is the default code shrinker in AGP 8.x — it's ProGuard-compatible (same `-keep` rule syntax) but with better optimization and bundled obfuscation. Report only genuine problems; don't add `-keep` rules speculatively. Review process: 1. Frame what R8 is doing using `references/fundamentals.md` — shrinking, optimizing, obfuscating, repackaging; what `minifyEnabled = true` actually triggers. 2. Validate `-keep` rule discipline using `references/keep-rules.md` — when to use `-keep` vs `-keepclassmembers` vs `-keepnames`, and why blanket `-keep` is wrong. 3. For library modules, check `consumer-rules.pro` using `references/consumer-rules.md` — what libraries owe their consumers. 4. Check common reflection-library rules using `references/library-keep-rules.md` — Moshi, Room, Retrofit, Hilt, Glide, kotlinx-serialization. 5. Validate mapping-file workflow using `references/mapping-files.md` — keeping `mapping.txt`, deobfuscating stack traces, Crashlytics integration. 6. Diagnose release-build crashes using `references/common-crashes.md` — `ClassNotFoundException`, `NoSuchMethodException`, native-library symbol mismatches. If doing a partial review, load only the relevant reference files. ## Core Instructions - **R8 is default in AGP 3.4+.** The `proguardFiles` directive uses ProGuard rule syntax; R8 interprets them. There's no separate "use R8" flag — `minifyEnab