android-di-hilt

Wire Android dependency injection with Hilt, scopes, testing overrides, and module ownership boundaries.

Android DI Hilt

When To Use

  • Use this skill when the request is about: android hilt setup, inject viewmodel repository hilt, scope dependency in android.
  • Primary outcome: Wire Android dependency injection with Hilt, scopes, testing overrides, and module ownership boundaries.
  • Handoff skills when the scope expands:
  • android-testing-unit
  • android-networking-retrofit-okhttp

Workflow

  1. Map the request to the current Android stack, module boundaries, and minimum supported API level.
  2. Inspect the existing implementation for implicit assumptions, duplicate helpers, and outdated patterns.
  3. Apply the smallest change that improves correctness, readability, and long-term maintainability.
  4. Validate the result against the relevant showcase app path and repo benchmarks.
  5. Hand off adjacent work to the next specialized skill only after the core foundation is stable.

Guardrails

  • Prefer official Android and Kotlin guidance over custom local conventions when they conflict.
  • Keep public APIs boring and explicit; avoid clever abstractions that hide Android lifecycle costs.
  • Do not mix architectural cleanup with product behavior changes unless the request explicitly needs both.
  • Document any compatibility constraints that will affect old modules or generated code.

Anti-Patterns

  • Sprinkling helpers across modules without a clear ownership boundary.
  • Introducing framework-specific code into pure domain or data layers.
  • Refactoring every adjacent file when only one contract needed to change.
  • Leaving migration notes implied instead of writing them down.

Examples

Happy path

  • Scenario: Inject OrbitTasks repositories and dispatchers with clear Hilt scopes.
  • Command: cd examples/orbittasks-compose && ./gradlew :app:testDebugUnitTest

Edge case

  • Scenario: Swap fake dependencies in the XML fixture for deterministic tests.
  • Command: cd examples/orbittasks-xml && ./gradlew :app:testDebugUnitTest

Failure recovery

  • Scenario: Catch DI-specific prompts before they drift into architecture-clean or networking.
  • Command: python3 scripts/eval_triggers.py --skill android-di-hilt

Done Checklist

  • The implementation path is explicit, minimal, and tied to the right Android surface.
  • Relevant example commands and benchmark prompts have been exercised or updated.
  • Handoffs to adjacent skills are documented when the request crosses boundaries.
  • Official references cover the chosen pattern and the main migration or troubleshooting path.

Official References