Skip to main content
skill Claude Code CX Codex Cursor GitHub Copilot

r8-analyzer — Claude Code skill: what it does, how to install

Inspects Android build files and R8 keep rules for redundant or package-wide directives. Helps slim down app size during Proguard troubleshooting.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add android/skills --skill r8-analyzer -a claude-code
Open on GitHub

What r8-analyzer does

The skill inspects build.gradle, build.gradle.kts, gradle.properties, and libs.versions.toml. It checks whether android.enableR8.fullMode=false is present and selects an analysis path based on AGP and R8 versions. For AGP 9.3.0 or higher, it executes ./gradlew :app:analyzeReleaseR8Config followed by conversion and analysis Python scripts.

If the build uses older AGP versions but R8 is at least 9.3.7-dev, the quantitative path requires Python and the protobuf package. Otherwise, it falls back to a heuristic evaluation of proguard-rules.pro. The skill strictly limits itself to research and reporting without editing files, so you must apply any keep-rule cleanups yourself.

What it helps with

  • detect redundant keep rules in proguard-rules.pro
  • flag overly broad package-wide R8 directives
  • verify R8 Full Mode configuration in gradle.properties
  • identify keep rules subsumed by library consumer configs

Example prompts for the agent

  • Analyze my R8 keep rules and find redundant entries
  • Inspect proguard-rules.pro and check if Full Mode is disabled
  • Evaluate release R8 configuration and suggest keep rule cleanups

How to install r8-analyzer

1Skills CLI (Vercel)

npx skills add android/skills --skill r8-analyzer -a claude-code

2Manually: put the files in place

~/.claude/skills/r8-analyzer/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/r8-analyzer/

From the same set5

The whole set →

Similar

swift-expert https://github.com/Jeffallan A Swift skill that walks the agent through architecture, SwiftUI state, async/await and actors, with build checks in between. Built for iOS and macOS work. Claude Code CX Codex Cursor +1 4,100installs ios-application-dev MiniMax-OpenSource A reference skill for iOS interfaces: UIKit, SnapKit and SwiftUI, with checklists for layout, Dynamic Type, Dark Mode and accessibility. Claude Code CX Codex Cursor +1 2,100installs tamagui tamagui Teaches coding agents Tamagui v3 flat style grammar and token conventions. It guides cross-platform UI generation for web and native. Claude Code CX Codex Cursor +1 593installs flutter-dev MiniMax-AI A Flutter development guide for widget patterns, Riverpod, Bloc, and GoRouter. Use it when building layouts, navigation, tests, or reviewing performance. Claude Code CX Codex Cursor +1 2,000installs uniwind uni-stack A skill that hands the agent Uniwind's rules and reference files, so it builds and debugs Tailwind CSS v4 interfaces in React Native instead of guessing APIs. Claude Code CX Codex Cursor +1 4,400installs vercel-react-native-skills vercel A rules pack for React Native and Expo work: lists, animations, navigation, native modules. Load it so your agent makes mobile changes the same way every time. Claude Code CX Codex Cursor +1 253,900installs animate-expo emilkowalski Builds React Native and Expo animations using Reanimated and Gesture Handler. Helps keep motion on the UI thread and avoid dropped frames on physical devices. Claude Code CX Codex Cursor +1 135,900installs mobile-native emilkowalski Strips the tells that give a web app away on a phone: sticky hover, tap highlight flash, the 100vh bug. Claude Code CX Codex Cursor +1 84,500installs

Questions about r8-analyzer

How do I install r8-analyzer in Claude Code?

Run npx skills add android/skills --skill r8-analyzer -a claude-code.

What does r8-analyzer do?

It examines Android Gradle configurations and Proguard keep rules to pinpoint redundant or overly broad entries. The output is a raw Markdown report detailing scores and rule impacts without touching your source files.

What are the system requirements for quantitative R8 analysis?

Path B requires R8 version 9.3.7-dev or newer, Python, and the protobuf Python package to convert and analyze proto files.

Source text

SKILL.md · Apache-2.0
---
name: r8-analyzer
description: Analyzes Android build files and R8 keep rules to identify redundancies,
  broad package-wide rules, and rules that subsume library consumer keep rules. Use
  when developers want to optimize their app's size, remove redundant or overly broad
  keep rules, or troubleshoot Proguard configurations.
license: Complete terms in LICENSE.txt
metadata:
  author: Google LLC
  last-updated: '2026-09-22'
  keywords:
  - R8
  - proguard
  - keep rules
  - app size
  - optimization
---

## Step 1. Setup and configuration check

- Inspect `build.gradle`, `build.gradle.kts`, and `gradle.properties`.
- Use [references/CONFIGURATION.md](references/CONFIGURATION.md) to identify missing optimizations.
- **AGP** : If version is lower than 9.0, suggest migration to 9.0 for [build-time performance improvement](references/android/topic/performance/app-optimization/enable-app-optimization.md).
- **Full Mode** : Verify `android.enableR8.fullMode=false` is removed from gradle.properties.

## Step 2. Analysis path selection

- Inspect `build.gradle`, `build.gradle.kts`, and `gradle.properties` and
  `libs.versions.toml` to get the AGP and R8 versions.

- **If AGP \>= 9.3.0** : Proceed to **Path A (Standalone Task)**.

- **If AGP \< 9.3.0 and R8 \>= 9.3.7-dev** : Proceed to **Path B (Quantitative)**.

- If none of the conditions are met, proceed to **Path C (Heuristic)**.

### Path A: Standalone Gradle task (AGP \>= 9.3.0)

- **Step 1: Run standalone task** : Run `./gradlew :app:analyzeReleaseR8Config` to evaluate the R8 configuration. You MUST wait for this command to finish before proceeding.
- **Step 2: Convert to JSON** : The report is generated at `app/build/reports/r8/r8-config-analyzer-release.pb`. You MUST explicitly run the conversion script by executing: `python3 .agents/skills/r8-analyzer/scripts/convert_pb_to_json.py`. Wait for this command to finish.
- **Step 3: Analyze** : You MUST explicitly run the analysis script by executing: `python3 .agents/skills/r8-analyzer/scripts/analyze.py`. This outputs `tmp/keepradius/analysis_result.txt`. Wait for this command to finish.

### Path B: Quantitative data generation (R8 \>= 9.3.7-dev and AGP \< 9.3.0)

- **Step 1: Check requirements** : Python and `protobuf` package are mandatory.
- **Step 2: Generate and analyze** : You MUST run the shell commands described in [references/CONFIGURATION-ANALYZER.md](references/CONFIGURATION-ANALYZER.md) to generate the proto file using R8 configuration analyzer, convert it to JSON and analyze the result.
- **Step 3: Analyze** : You MUST ensure the analysis produces `tmp/keepradius/analysis_result.txt` for scores and rule impact metrics.

### Path C: Heuristic evaluation and recommendation (R8 \< 9.3.7-dev)

*(Use ONLY if quantitative data generation is not possible)*

- **Step 1: Manual evaluation** : Inspect `proguard-rules.pro`.
- **Step 2: Library check** : Compare rules against [references/REDUNDANT-RULES.md](references/REDUNDANT-RULES.md). Suggest **Remove** for bundled rules.
- **Step 3: Custom rule check** : Use [references/KEEP-RULES-IMPACT-HIERARCHY.md](references/KEEP-RULES-IMPACT-HIERARCHY.md) and [references/REFLECTION-GUIDE.md](references/REFLECTION-GUIDE.md) to prioritize and evaluate. Suggest **Refine** for broad rules (for example, package-wide).
- **Step 4: Validation** : Suggest Macrobenchmark tests using [UI Automator](references/android/training/testing/other-components/ui-automator.md) for any proposed changes. Proceed to Step 3.

## Step 3. Report generation

- **Format** : Follow [references/REPORT_FORMAT.md](references/REPORT_FORMAT.md) strictly.
- **Input**: Extract metrics (Scores, Impacts, Example Classes) directly from generated file analysis.txt if using Path A, or from manual findings if using Path B.
- **Output** : Output ONLY the raw Markdown report in the chat. Do NOT output conversational filler (for example, "Here is your report..."). Do NOT provide recommendations, next steps, or any other text outside of the sections defined in [references/REPORT_FORMAT.md](references/REPORT_FORMAT.md) Do NOT mention the path used for analysis of the configuration

## Constraints

- **Strict output limit**: The final output MUST strictly be the Markdown report and nothing else.
- **No code changes**: Research and suggest only; Do not modify files.
- **No redundancy**: Do not explain R8 benefits or reference skill internal files in the report.
- **Focus**: Omit sections (for example, Subsumed Rules, Configuration) if no issues or items are found.

© Google LLC · Apache-2.0 · android/skills

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor