Agent skill

Gradle Build Performance

by Moustachauve in Moustachauve/WLED-Android

Debug and optimize Android/Gradle build performance. An agent skill from Moustachauve/WLED-Android.

Apache-2.0Auto-check passedDevOps & Cloud

Install Gradle Build Performance

skills CLI
$ npx skills add Moustachauve/WLED-Android --skill gradle-build-performance -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Moustachauve/WLED-Android gradle-build-performance --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Moustachauve/WLED-Android.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/gradle-build-performance .claude/skills/gradle-build-performance && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
gradle-build-performance
GitHub stars
169
Used in
3 other repos
Token cost
~2k tokens
SKILL.md length
575 words
Files
1
Skills in repo
17
Repo updated
First seen
Licence
Apache-2.0

At a glance

Debug and optimize Android/Gradle build performance. An agent skill from Moustachauve/WLED-Android.

  • Works in 12 steps: Enable Configuration Cache → Enable Build Cache → Enable Parallel Execution → …
  • Builds are slow
  • SKILL.md covers When to Use, Example Prompts, Workflow and Quick Diagnostics, plus 4 more sections
  • Reaches gradle.com

What it does

Gradle Build Performance is an agent skill from Moustachauve/WLED-Android. Debug and optimize Android/Gradle build performance. Use when builds are slow, investigating CI/CD performance, analyzing build scans, or identifying compilation bottlenecks.

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in DevOps & Cloud, covering CI/CD. It works with Gradle and Android. The repository describes itself as: Native Android application for WLED. The licence is Apache-2.0.

When your agent uses it

  • Builds are slow
  • Investigating CI/CD performance
  • Analyzing build scans
  • Identifying compilation bottlenecks

Example prompts

  • “/gradle-build-performance”

Workflow steps

12 steps, taken from the step headings in SKILL.md.

  1. Enable Configuration Cache
  2. Enable Build Cache
  3. Enable Parallel Execution
  4. Increase JVM Heap
  5. Use Non-Transitive R Classes
  6. Migrate kapt to KSP
  7. Avoid Dynamic Dependencies
  8. Optimize Repository Order
  9. Use includeBuild for Local Modules
  10. Enable Incremental Annotation Processing
  11. Avoid Configuration-Time I/O
  12. Use Lazy Task Configuration

What it can do on your machine

Read from SKILL.md and the folder at commit 7e164a8. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are kotlin, properties and bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • gradle.com

    Also links to:

    • developer.android.com
    • docs.gradle.org
    • scans.gradle.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Gradle Build Performance loads about 2k tokens when it runs. Until then it costs about 50 tokens; SKILL.md has 575 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~50
When it runs · the whole SKILL.md, loaded when a task matches
~2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Moustachauve/WLED-Android at commit 7e164a8, republished under its Apache-2.0 licence (© Moustachauve). 575 words, ~2,033 tokens.

Download SKILL.mdSave it as .claude/skills/gradle-build-performance/SKILL.md (or your agent's skills folder).
name
gradle-build-performance
description
Debug and optimize Android/Gradle build performance. Use when builds are slow, investigating CI/CD performance, analyzing build scans, or identifying compilation bottlenecks.

Gradle Build Performance

When to Use

  • Build times are slow (clean or incremental)
  • Investigating build performance regressions
  • Analyzing Gradle Build Scans
  • Identifying configuration vs execution bottlenecks
  • Optimizing CI/CD build times
  • Enabling Gradle Configuration Cache
  • Reducing unnecessary recompilation
  • Debugging kapt/KSP annotation processing

Example Prompts

  • "My builds are slow, how can I speed them up?"
  • "How do I analyze a Gradle build scan?"
  • "Why is configuration taking so long?"
  • "Why does my project always recompile everything?"
  • "How do I enable configuration cache?"
  • "Why is kapt so slow?"

Workflow

  1. Measure Baseline — Clean build + incremental build times
  2. Generate Build Scan — ./gradlew assembleDebug --scan
  3. Identify Phase — Configuration? Execution? Dependency resolution?
  4. Apply ONE optimization — Don't batch changes
  5. Measure Improvement — Compare against baseline
  6. Verify in Build Scan — Visual confirmation

Quick Diagnostics

Generate Build Scan
bash
./gradlew assembleDebug --scan
Profile Build Locally
bash
./gradlew assembleDebug --profile
# Opens report in build/reports/profile/
Build Timing Summary
bash
./gradlew assembleDebug --info | grep -E "^\:.*"
# Or view in Android Studio: Build > Analyze APK Build

Build Phases

PhaseWhat HappensCommon Issues
Initializationsettings.gradle.kts evaluatedToo many include() statements
ConfigurationAll build.gradle.kts files evaluatedExpensive plugins, eager task creation
ExecutionTasks run based on inputs/outputsCache misses, non-incremental tasks
Identify the Bottleneck
Build scan → Performance → Build timeline
  • Long configuration phase: Focus on plugin and buildscript optimization
  • Long execution phase: Focus on task caching and parallelization
  • Dependency resolution slow: Focus on repository configuration

12 Optimization Patterns

1. Enable Configuration Cache

Caches configuration phase across builds (AGP 8.0+):

properties
# gradle.properties
org.gradle.configuration-cache=true
org.gradle.configuration-cache.problems=warn
2. Enable Build Cache

Reuses task outputs across builds and machines:

properties
# gradle.properties
org.gradle.caching=true
3. Enable Parallel Execution

Build independent modules simultaneously:

properties
# gradle.properties
org.gradle.parallel=true
4. Increase JVM Heap

Allocate more memory for large projects:

properties
# gradle.properties
org.gradle.jvmargs=-Xmx4g -XX:+UseParallelGC
5. Use Non-Transitive R Classes

Reduces R class size and compilation (AGP 8.0+ default):

properties
# gradle.properties
android.nonTransitiveRClass=true
6. Migrate kapt to KSP

KSP is 2x faster than kapt for Kotlin:

kotlin
// Before (slow)
kapt("com.google.dagger:hilt-compiler:2.51.1")

// After (fast)
ksp("com.google.dagger:hilt-compiler:2.51.1")
7. Avoid Dynamic Dependencies

Pin dependency versions:

kotlin
// BAD: Forces resolution every build
implementation("com.example:lib:+")
implementation("com.example:lib:1.0.+")

// GOOD: Fixed version
implementation("com.example:lib:1.2.3")
8. Optimize Repository Order

Put most-used repositories first:

kotlin
// settings.gradle.kts
dependencyResolutionManagement {
    repositories {
        google()      // First: Android dependencies
        mavenCentral() // Second: Most libraries
        // Third-party repos last
    }
}
9. Use includeBuild for Local Modules

Composite builds are faster than project() for large monorepos:

kotlin
// settings.gradle.kts
includeBuild("shared-library") {
    dependencySubstitution {
        substitute(module("com.example:shared")).using(project(":"))
    }
}
10. Enable Incremental Annotation Processing
properties
# gradle.properties
kapt.incremental.apt=true
kapt.use.worker.api=true
11. Avoid Configuration-Time I/O

Don't read files or make network calls during configuration:

kotlin
// BAD: Runs during configuration
val version = file("version.txt").readText()

// GOOD: Defer to execution
val version = providers.fileContents(file("version.txt")).asText
12. Use Lazy Task Configuration

Avoid create(), use register():

kotlin
// BAD: Eagerly configured
tasks.create("myTask") { ... }

// GOOD: Lazily configured
tasks.register("myTask") { ... }

Common Bottleneck Analysis

Show full SKILL.md (244 more words)Show less
Slow Configuration Phase

Symptoms: Build scan shows long "Configuring build" time

Causes & Fixes:

CauseFix
Eager task creationUse tasks.register() instead of tasks.create()
buildSrc with many dependenciesMigrate to Convention Plugins with includeBuild
File I/O in build scriptsUse providers.fileContents()
Network calls in pluginsCache results or use offline mode
Slow Compilation

Symptoms: :app:compileDebugKotlin takes too long

Causes & Fixes:

CauseFix
Non-incremental changesAvoid build.gradle.kts changes that invalidate cache
Large modulesBreak into smaller feature modules
Excessive kapt usageMigrate to KSP
Kotlin compiler memoryIncrease kotlin.daemon.jvmargs
Cache Misses

Symptoms: Tasks always rerun despite no changes

Causes & Fixes:

CauseFix
Unstable task inputsUse @PathSensitive, @NormalizeLineEndings
Absolute paths in outputsUse relative paths
Missing @CacheableTaskAdd annotation to custom tasks
Different JDK versionsStandardize JDK across environments

CI/CD Optimizations

Remote Build Cache
kotlin
// settings.gradle.kts
buildCache {
    local { isEnabled = true }
    remote<HttpBuildCache> {
        url = uri("https://cache.example.com/")
        isPush = System.getenv("CI") == "true"
        credentials {
            username = System.getenv("CACHE_USER")
            password = System.getenv("CACHE_PASS")
        }
    }
}
Gradle Enterprise / Develocity

For advanced build analytics:

kotlin
// settings.gradle.kts
plugins {
    id("com.gradle.develocity") version "3.17"
}

develocity {
    buildScan {
        termsOfUseUrl.set("https://gradle.com/help/legal-terms-of-use")
        termsOfUseAgree.set("yes")
        publishing.onlyIf { System.getenv("CI") != null }
    }
}
Skip Unnecessary Tasks in CI
bash
# Skip tests for UI-only changes
./gradlew assembleDebug -x test -x lint

# Only run affected module tests
./gradlew :feature:login:test

Android Studio Settings

File → Settings → Build → Gradle
  • Gradle JDK: Match your project's JDK
  • Build and run using: Gradle (not IntelliJ)
  • Run tests using: Gradle
File → Settings → Build → Compiler
  • Compile independent modules in parallel: ✅ Enabled
  • Configure on demand: ❌ Disabled (deprecated)

Verification Checklist

After optimizations, verify:

  • Configuration cache enabled and working
  • Build cache hit rate > 80% (check build scan)
  • No dynamic dependency versions
  • KSP used instead of kapt where possible
  • Parallel execution enabled
  • JVM memory tuned appropriately
  • CI remote cache configured
  • No configuration-time I/O

References

© Moustachauve, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .github/skills/gradle-build-performance of Moustachauve/WLED-Android.

Open the folder on GitHubat commit 7e164a8

Used in 3 other repositories

We found 4 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 3 other GitHub owners. This page covers the copy in Moustachauve/WLED-Android, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Gradle Build Performance next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Gradle Build Performance compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Gradle Build Performance this skillMoustachauve/WLED-Android1693 repos~2kAutomated safety check: PassApache-2.0
Enforcing Stability In CIrosuH/EasyWatermark1.9k1 repos~4kAutomated safety check: PassApache-2.0
Gradle Build Performancercosteira79/android-skills153—~720Automated safety check: PassMIT
Gplay Gradle Buildhanamizuki/solopreneur152—~1.2kAutomated safety check: PassMIT
Android Cicddavila7/claude-code-templates33k—~2.2kAutomated safety check: PassMIT
GitHub Workflowsamirisback/automated-build-android-app-with-github-action346—~550Automated safety check: PassApache-2.0

Similar skills

  • Enforcing Stability In CI

    rosuH/EasyWatermark

    A skill your agent uses to set up a CI gate that fails the build when Compose stability silently regresses, using the skydoves/compose-stability-analyzer Gradle plugin (primary) or the…

    1.9k GitHub starsUsed in 1 repo~4k tokens
    DevOps & CloudAuto-check passed
  • Gradle Build Performance

    rcosteira79/android-skills

    A skill your agent uses when Android/Gradle builds are slow — diagnosing bottlenecks with build scans, enabling configuration cache, migrating kapt to KSP, fixing cache misses, and optimizing CI/CD…

    153 GitHub stars~720 tokensUpdated 21 days ago
    DevOps & CloudAuto-check passed
  • Gplay Gradle Build

    hanamizuki/solopreneur

    Build, sign, and package Android apps with Gradle before uploading to Google Play.

    152 GitHub stars~1.2k tokensUpdated 14 days ago
    DevOps & CloudAuto-check passed
  • Android Cicd

    davila7/claude-code-templates

    Automated Android CI/CD pipeline to Google Play — supports TWA, React Native, Flutter, and native Android.

    33k GitHub stars~2.2k tokensUpdated yesterday
    MobileAuto-check passed
  • GitHub Workflows

    amirisback/automated-build-android-app-with-github-action

    Manage and automate Android CI/CD workflows using GitHub Actions in this repository.

    346 GitHub stars~550 tokensUpdated 26 days ago
    DevOps & CloudAuto-check passed
  • Capturing Preview Screenshots In CI

    skydoves/android-testing-skills

    A skill your agent uses to render every Jetpack Compose @Preview as a screenshot on a real Android device or emulator and publish a browsable HTML catalog from CI.

    334 GitHub stars~4.5k tokensUpdated 4 mo ago
    MobileAuto-check: notes

More from Moustachauve/WLED-Android

All 17 skills in this repo
  • Compose Performance Audit

    Moustachauve/WLED-Android

    Audit and improve Jetpack Compose runtime performance from code review and architecture.

    169 GitHub starsUsed in 3 repos~1.7k tokens
    Auto-check passed
  • Compose UI

    Moustachauve/WLED-Android

    Best practices for building UI with Jetpack Compose, focusing on state hoisting, detailed performance optimizations, and theming.

    169 GitHub starsUsed in 3 repos~676 tokens
    Auto-check passed
  • Kotlin Concurrency Expert

    Moustachauve/WLED-Android

    Kotlin Coroutines review and remediation for Android. An agent skill from Moustachauve/WLED-Android.

    169 GitHub starsUsed in 3 repos~1.4k tokens
    Auto-check passed
  • Coil Compose

    Moustachauve/WLED-Android

    Expert guidance on using Coil for image loading in Jetpack Compose.

    169 GitHub starsUsed in 2 repos~789 tokens
    Auto-check passed
  • XML To Compose Migration

    Moustachauve/WLED-Android

    Convert Android XML layouts to Jetpack Compose. An agent skill from Moustachauve/WLED-Android.

    169 GitHub starsUsed in 2 repos~2.6k tokens
    Auto-check passed
  • Android Emulator Skill

    Moustachauve/WLED-Android

    Production-ready scripts for Android app testing, building, and automation.

    169 GitHub starsUsed in 1 repo~911 tokens
    Auto-check passed

Works with

Categories

Questions about Gradle Build Performance

What does Gradle Build Performance do?

Debug and optimize Android/Gradle build performance. An agent skill from Moustachauve/WLED-Android. Gradle Build Performance is an agent skill from Moustachauve/WLED-Android. Debug and optimize Android/Gradle build performance.

When should I use Gradle Build Performance?

Gradle Build Performance fits situations like: builds are slow; investigating CI/CD performance; analyzing build scans; identifying compilation bottlenecks.

How do I install Gradle Build Performance in Claude Code?

Run `npx skills add Moustachauve/WLED-Android --skill gradle-build-performance -a claude-code`. Or copy the skill folder (.github/skills/gradle-build-performance in Moustachauve/WLED-Android) into .claude/skills/gradle-build-performance in your project. Claude Code loads it when a task matches its description.

How do I install Gradle Build Performance in Codex?

Run `npx skills add Moustachauve/WLED-Android --skill gradle-build-performance -a codex`. Or copy the skill folder (.github/skills/gradle-build-performance in Moustachauve/WLED-Android) into .agents/skills/gradle-build-performance in your project. Codex loads it when a task matches its description.

Can I use Gradle Build Performance in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Moustachauve/WLED-Android --skill gradle-build-performance -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/gradle-build-performance, .gemini/skills/gradle-build-performance, .github/skills/gradle-build-performance and .opencode/skills/gradle-build-performance in your project.

What does Gradle Build Performance need to run?

SKILL.md names no scripts, command-line tools or credentials: Gradle Build Performance is instructions for the agent only.

Does Gradle Build Performance access the network?

SKILL.md names 4 domains. In commands or code: gradle.com; the agent is likely to contact it when it follows the instructions. As links in the text: developer.android.com, docs.gradle.org and scans.gradle.com. This is read from the text; nothing was executed.

Is Gradle Build Performance safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Gradle Build Performance use?

Gradle Build Performance is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Gradle Build Performance use?

About 2k tokens (SKILL.md is roughly 8.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Gradle Build Performance?

Skills that share tags, products or a category with Gradle Build Performance: Enforcing Stability In CI (rosuH/EasyWatermark, 1.9k stars), Gradle Build Performance (rcosteira79/android-skills, 153 stars), Gplay Gradle Build (hanamizuki/solopreneur, 152 stars) and Android Cicd (davila7/claude-code-templates, 33k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Gradle Build Performance?

Moustachauve (a GitHub user) maintains it in Moustachauve/WLED-Android, which has 169 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on October 10, 2026.

Source: Moustachauve/WLED-Android on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.