
Android Architecture
- 544 installs
- 910 repo stars
- Updated July 27, 2026
- new-silvermoon/awesome-android-agent-skills
android-architecture is a mobile development skill that teaches Clean Architecture layering, Hilt dependency injection, and modular Android project structure so agents and developers implement features with consistent bo
About
android-architecture is an awesome-android-agent-skills package from new-silvermoon that applies Google's Guide to App Architecture and Clean Architecture to modern Android projects. The skill structures apps into three primary layers—UI presentation, domain, and data—with dependencies flowing inward toward core logic. It covers Hilt dependency injection, module boundaries, and refactoring guidance when agents or developers set up or reorganize Android codebases. Reach for android-architecture when asked about project structure, module setup, dependency injection, or scaling feature work across teams and coding agents. The README instructs strict inward dependency flow so presentation never reaches data sources directly.
- Layered module boundaries
- Scalable feature packaging
- Separation of UI and domain
- Testable screen flows
- Agent-friendly project layout
Android Architecture by the numbers
- 544 all-time installs (skills.sh)
- +16 installs in the week ending Aug 4, 2026 (Skillselion tracking)
- Ranked #296 of 1,039 Mobile Development skills by installs in the Skillselion catalog
- Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/new-silvermoon/awesome-android-agent-skills --skill android-architectureAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 544 |
|---|---|
| repo stars | ★ 910 |
| Last updated | July 27, 2026 |
| Repository | new-silvermoon/awesome-android-agent-skills ↗ |
How do you structure Clean Architecture on Android?
Design scalable Android app structure with clear layers, modules, and boundaries so agents and developers implement features consistently.
Who is it for?
Android developers and agents setting up or refactoring apps with Clean Architecture, modularization, and Hilt dependency injection.
Skip if: iOS, Flutter, or backend-only projects with no Android module structure or Hilt dependency injection needs.
When should I use this skill?
The user asks about Android project structure, module setup, Clean Architecture layers, or Hilt dependency injection.
What you get
Layered module layout, Hilt DI graph, UI-domain-data boundaries, and inward dependency rules for Android projects.
- layered module structure
- Hilt DI configuration
- architecture boundary rules
By the numbers
- Structures Android apps into 3 primary architecture layers: UI, domain, and data
Files
Android Modern Architecture & Modularization
Instructions
When designing or refactoring an Android application, adhere to the Guide to App Architecture and Clean Architecture principles.
1. High-Level Layers
Structure the application into three primary layers. Dependencies must strictly flow inwards (or downwards) to the core logic.
- UI Layer (Presentation):
- Responsibility: Displaying data and handling user interactions.
- Components: Activities, Fragments, Composables, ViewModels.
- Dependencies: Depends on the Domain Layer (or Data Layer if simple). Never depends on the Data Layer implementation details directly.
- Domain Layer (Business Logic) [Optional but Recommended]:
- Responsibility: Encapsulating complex business rules and reuse.
- Components: Use Cases (e.g.,
GetLatestNewsUseCase), Domain Models (pure Kotlin data classes). - Pure Kotlin: Must NOT contain any Android framework dependencies (no
android.*imports). - Dependencies: Depends on Repository Interfaces.
- Data Layer:
- Responsibility: Managing application data (fetching, caching, saving).
- Components: Repositories (implementations), Data Sources (Retrofit APIs, Room DAOs).
- Dependencies: Depends only on external sources and libraries.
2. Dependency Injection with Hilt
Use Hilt for all dependency injection.
- @HiltAndroidApp: Annotate the
Applicationclass. - @AndroidEntryPoint: Annotate Activities and Fragments.
- @HiltViewModel: Annotate ViewModels; use standard
constructorinjection. - Modules:
- Use
@Moduleand@InstallIn(SingletonComponent::class)for app-wide singletons (e.g., Network, Database). - Use
@Bindsin an abstract class to bind interface implementations (cleaner than@Provides).
3. Modularization Strategy
For production apps, use a multi-module strategy to improve build times and separation of concerns.
- :app: The main entry point, connects features.
- :core:model: Shared domain models (Pure Kotlin).
- :core:data: Repositories, Data Sources, Database, Network.
- :core:domain: Use Cases and Repository Interfaces.
- :core:ui: Shared Composables, Theme, Resources.
- :feature:[name]: Standalone feature modules containing their own UI and ViewModels. Depends on
:core:domainand:core:ui.
4. Checklist for implementation
- [ ] Ensure
Domainlayer has no Android dependencies. - [ ] Repositories should default to main-safe suspend functions (use
Dispatchers.IOinternally if needed). - [ ] ViewModels should interact with the UI layer via
StateFlow(seeandroid-viewmodelskill).
Related skills
How it compares
Pick android-architecture when establishing Android module and DI structure rather than gameplay assets or Java backend persistence.
FAQ
Which architecture patterns does android-architecture enforce?
android-architecture enforces Google's Guide to App Architecture and Clean Architecture with three layers: UI presentation, domain, and data. Dependencies must flow inward toward core logic.
Does android-architecture cover dependency injection?
android-architecture covers Hilt dependency injection alongside module setup and project structure. Use it when configuring DI graphs or refactoring Android app boundaries.