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

android-lint-and-quality

Use when setting up static analysis, enforcing coding standards, or configuring Detekt/KtLint for Android.

View source

How to use

  1. Copy the installation command and review the source package before installing it in your own agent environment.
  2. Check the source document for required tools, credentials and supported hosts.
  3. Describe your input and desired deliverable; review the output against the source material.
npx skills add https://github.com/prasad-vennam/awesome-android-ai-agent-skills --skill android-lint-and-quality

Before you start

  • Installation does not include a model subscription, API allowance or permission to access your files.
  • Repository stars and installation counts describe activity, not an independent quality or security test.
Original skill document

Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.

Android Code Quality & Linting 🧹🛡️

Professional strategies for enforcing team standards and preventing technical debt through automated static analysis.

⚡ When to Use

  • Code Review Readiness: Automatically checking Pull Requests for common errors.
  • Enforcing Style: Ensuring all developers follow the same Kotlin formatting.
  • Complex Bug Prevention: Using custom Lint rules to catch project-specific issues.
  • CI/CD Automation: Failing builds on logic or style violations.
  • Gradual Refactoring: Deprecating legacy methods and encouraging migration.

🏗️ The 3 Layers of Analysis

1. Android Lint (Built-in)

  • Rules: Catch memory leaks, missing accessibility labels, and incorrect resource usages.
  • Customization: Use lint-rules module to write your own rules specific to your app architecture.

2. Detekt (Core Logic Static Analysis)

  • Benefit: Checks for code smells (Long methods, deep nested loops, cognitive complexity).
  • Gradle Task: ./gradlew detekt

3. KtLint (Formatting)

  • Benefit: Focuses purely on coding style (Indentation, line length, spacing).
  • Rule: Follow the Official Android Kotlin Style Guide.
  • Gradle Task: ./gradlew ktlintCheck / ./gradlew ktlintFormat

🚀 Quality Enforcement Checklist

  • [ ] Fail Fast: Set abortOnError = true in Gradle to ensure bad code never stays in the repo.
  • [ ] Custom Rules: For example: "No Log.d allowed in production" or "All ViewModels must inherit from BaseViewModel".
  • [ ] Baseline Files: Use baseline.xml to ignore existing issues in older code and only enforce rules on new changes.

🛠️ Configuration Example

kotlin
// build.gradle.kts
lint {
    isWarningsAsErrors = true
    isAbortOnError = true
    xmlReport = true
    htmlReport = true
}

detekt {
    buildUponDefaultConfig = true
    allRules = false
    config = files("$projectDir/config/detekt.yml")
}

📐 Team Policy Best Practices

  • Pre-commit Hooks: Use Git Hooks to run KtLint locally before pushing.
  • CI Report Annotation: Configure CI (e.g., GitHub Actions) to comment directly on PR lines with Lint/Detekt findings.
  • Quality Gates: Maintain a score using tools like SonarQube or Codecov.

🧪 Testing Your Quality Setup

  • Lint Tests: Use LintDetectorTest to verify that your custom rules actually catch what they should.
  • Baseline Evolution: Regularly review and clean up baseline files to pay down technical debt.

🔗 Related Resources

Related by task

from this repository

More skills

All skills