Agent Skills: Android Architecture Guidelines

Guides Android development with MVI state management, repository pattern, and clean architecture. Activates when implementing Android features, ViewModels, repositories, or data layers.

UncategorizedID: ggz23/android-interview-plugin/android-architecture

Install this agent skill to your local

pnpm dlx add-skill https://github.com/ggz23/android-interview-plugin/tree/HEAD/skills/android-architecture

Skill Files

Browse the full folder contents for android-architecture.

Download Skill

Loading file tree…

skills/android-architecture/SKILL.md

Skill Metadata

Name
android-architecture
Description
Guides Android development with MVI state management, repository pattern, and clean architecture. Activates when implementing Android features, ViewModels, repositories, or data layers.

Android Architecture Guidelines

When implementing Android features, follow these patterns:

State Management (MVI)

  • Use single immutable state object per screen
  • State class should contain: data, isLoading, error, and any UI-relevant fields
  • Actions represent user intents (sealed interface)
  • Events for one-time effects like navigation or toasts (use Channel)

Repository Pattern

  • Interface in domain layer, implementation in data layer
  • Repository is the single source of truth
  • Use suspend functions for one-shot operations (API calls)
  • Use Flow only when observing changes over time (Room, WebSocket)

ViewModel

  • Expose state via StateFlow
  • Handle actions via onAction() method
  • Use viewModelScope for coroutines
  • Never expose MutableStateFlow directly

Data Layer

  • DTOs for API responses (@Serializable)
  • Entities for Room database (@Entity)
  • Domain models for business logic
  • Mappers: toEntity(), toDomain(), toDto()

Dependency Injection

  • Use Hilt for DI
  • Provide APIs via @Provides in NetworkModule
  • Provide DAOs via @Provides in DatabaseModule
  • Bind repositories with @Binds