automotive-architecture

Define Android Automotive OS MVVM architecture patterns with CarAppService, Session, Screen, Hilt, and ViewModel.

Updated Mar 6, 2026
One-click install
npx skills add https://github.com/jimloop/custom-claude-package --skill automotive-architecture
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: automotive-architecture
Source: https://github.com/jimloop/custom-claude-package/tree/main/plugins/android-automotive-code/skills/automotive-architecture
Command: npx skills add https://github.com/jimloop/custom-claude-package --skill automotive-architecture

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps developers avoid incorrect Android Automotive OS application structures by providing a clear MVVM architecture approach for CarAppService, Session, Screen, ViewModel, and data layers.

Core Features & Use Cases

  • AAOS Architecture Guidance: Defines recommended layering patterns for embedded car applications using Template-based UI, ViewModel state management, repositories, and data sources.
  • Hilt and ViewModel Integration: Provides dependency injection patterns, lifecycle-aware state handling, and shared ViewModel communication approaches for multiple car screens.
  • Use Case: Build a production-ready Android Automotive application where screens remain focused on UI rendering while business logic and data access are separated into maintainable layers.

Quick Start

Ask the automotive-architecture skill to design or review an Android Automotive OS MVVM application structure using CarAppService, Session, Screen, and ViewModel patterns.

Frequently Asked Questions about automotive-architecture

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I structure an Android Automotive OS application using MVVM?

Structure an Android Automotive OS MVVM application by separating UI rendering using Template-based Screens, managing state with ViewModels, and isolating data access through repositories and data sources. This approach maintains clear boundaries between car UI and business logic.

What is the correct way to use Hilt for dependency injection in an AAOS app?

Use Hilt in an AAOS app to inject dependencies into CarAppService, Session, and ViewModel components. This provides lifecycle-aware state handling and ensures screens remain focused on UI rendering while business logic stays separated into maintainable layers.

Can I use Fragments for UI rendering in Android Automotive OS applications?

Fragments are prohibited for UI rendering in Android Automotive OS applications. You must use Template-based Screens within a Session to render UI, ensuring screens remain focused solely on UI rendering while ViewModels handle state management.

How do I share state between multiple car screens in an AAOS application?

Share state between multiple car screens in an AAOS application using shared ViewModel communication patterns. This lifecycle-aware approach allows multiple Template-based Screens to access and observe business logic and data from a common ViewModel.

Does Android Automotive OS development require specific lifecycle management for CarAppService?

Android Automotive OS development requires structured lifecycle management for CarAppService and Session components. Proper lifecycle handling ensures ViewModels manage state correctly and dependencies injected via Hilt behave predictably across screen transitions.

What's the best way to separate data access layers in an AAOS app?

The best way to separate data access in an AAOS app is to implement repository and data source layers beneath the ViewModel. This ensures ViewModels handle state management while repositories abstract data operations away from the UI.