mobile-android-design
wshobson/agents
Master Material Design 3 and Jetpack Compose for modern Android app interfaces.
What is mobile-android-design?
Build native Android apps using Material Design 3 (Material You) and Jetpack Compose. Use this skill when designing Android interfaces, implementing Compose UI layouts, or following Google's Material Design guidelines for phones, tablets, and foldables.
- Design Android app interfaces following Material Design 3 standards
- Build Jetpack Compose UI components and layouts
- Implement Android navigation patterns with Navigation Compose
- Create adaptive layouts for phones, tablets, and foldable devices
- Apply Material 3 theming with dynamic colors and dark mode support
- Build accessible Android interfaces with proper touch targets and content descriptions
How to install mobile-android-design
npx skills add https://github.com/wshobson/agents --skill mobile-android-design- Android Studio or compatible IDE
- Kotlin knowledge
- Jetpack Compose library setup
- Android SDK 21 or higher
How to use mobile-android-design
- 1.Review Material Design 3 guidelines and color system for your app
- 2.Set up MaterialTheme in your app's root composable
- 3.Create reusable components using @Composable functions with proper state hoisting
- 4.Use MaterialTheme.colorScheme for all colors to support dark mode automatically
- 5.Implement adaptive layouts with WindowSizeClass for different screen sizes
- 6.Add contentDescription to all interactive elements for accessibility
- 7.Use LazyColumn for long lists and remember for state management
- 8.Test with @Preview annotations using different device configurations
Use cases
- Creating a Material 3-compliant card list component with proper theming
- Designing responsive layouts that adapt to different device sizes and orientations
- Building an accessible navigation system using Navigation Compose
- Implementing dynamic color theming for Android 12+ devices
- Developing a tablet-optimized layout using WindowSizeClass
- Android app developers
- UI/UX designers building for Android
- Mobile engineers implementing Jetpack Compose
- Teams following Material Design guidelines
mobile-android-design FAQ
Set up Material 3 theming and enable dynamic color in your MaterialTheme configuration. The system will automatically apply user-selected colors from their wallpaper on compatible devices.
Use 48dp as the minimum touch target size for all interactive elements to meet accessibility standards.
Use rememberSaveable instead of remember for state that should persist across configuration changes like screen rotation.
Use LazyColumn for long lists to improve performance by only composing visible items. Use Column only for small, fixed-size lists.
Use WindowSizeClass to detect screen size and create adaptive layouts that adjust content arrangement based on available space.
Full instructions (SKILL.md)
Source of truth, from wshobson/agents.
name: mobile-android-design description: Master Material Design 3 and Jetpack Compose patterns for building native Android apps. Use when designing Android interfaces, implementing Compose UI, or following Google's Material Design guidelines.
Android Mobile Design
Master Material Design 3 (Material You) and Jetpack Compose to build modern, adaptive Android applications that integrate seamlessly with the Android ecosystem.
When to Use This Skill
- Designing Android app interfaces following Material Design 3
- Building Jetpack Compose UI and layouts
- Implementing Android navigation patterns (Navigation Compose)
- Creating adaptive layouts for phones, tablets, and foldables
- Using Material 3 theming with dynamic colors
- Building accessible Android interfaces
- Implementing Android-specific gestures and interactions
- Designing for different screen configurations
Detailed section: Core Concepts
Originally a 9201-byte section in this SKILL.md. Moved to references/details.md to fit Codex's 8 KB skill body cap.
Quick Start Component
@Composable
fun ItemListCard(
item: Item,
onItemClick: () -> Unit,
modifier: Modifier = Modifier
) {
Card(
onClick = onItemClick,
modifier = modifier.fillMaxWidth(),
shape = RoundedCornerShape(12.dp)
) {
Row(
modifier = Modifier
.padding(16.dp)
.fillMaxWidth(),
verticalAlignment = Alignment.CenterVertically
) {
Box(
modifier = Modifier
.size(48.dp)
.clip(CircleShape)
.background(MaterialTheme.colorScheme.primaryContainer),
contentAlignment = Alignment.Center
) {
Icon(
imageVector = Icons.Default.Star,
contentDescription = null,
tint = MaterialTheme.colorScheme.onPrimaryContainer
)
}
Spacer(modifier = Modifier.width(16.dp))
Column(modifier = Modifier.weight(1f)) {
Text(
text = item.title,
style = MaterialTheme.typography.titleMedium
)
Text(
text = item.subtitle,
style = MaterialTheme.typography.bodyMedium,
color = MaterialTheme.colorScheme.onSurfaceVariant
)
}
Icon(
imageVector = Icons.Default.ChevronRight,
contentDescription = null,
tint = MaterialTheme.colorScheme.onSurfaceVariant
)
}
}
}
Best Practices
- Use Material Theme: Access colors via
MaterialTheme.colorSchemefor automatic dark mode support - Support Dynamic Color: Enable dynamic color on Android 12+ for personalization
- Adaptive Layouts: Use
WindowSizeClassfor responsive designs - Content Descriptions: Add
contentDescriptionto all interactive elements - Touch Targets: Minimum 48dp touch targets for accessibility
- State Hoisting: Hoist state to make components reusable and testable
- Remember Properly: Use
rememberandrememberSaveableappropriately - Preview Annotations: Add
@Previewwith different configurations
Common Issues
- Recomposition Issues: Avoid passing unstable lambdas; use
remember - State Loss: Use
rememberSaveablefor configuration changes - Performance: Use
LazyColumninstead ofColumnfor long lists - Theme Leaks: Ensure
MaterialThemewraps all composables - Navigation Crashes: Handle back press and deep links properly
- Memory Leaks: Cancel coroutines in
DisposableEffect
Related skills
More from wshobson/agents and the wider catalog.

mobile-ios-design
Master iOS HIG and SwiftUI patterns for native Apple app design.

modern-javascript-patterns
Master ES6+ features and modern JavaScript patterns for clean, efficient code.

monorepo-management
Master Turborepo, Nx, and pnpm workspaces for efficient, scalable multi-package repositories.

mtls-configuration
Configure mutual TLS for zero-trust service-to-service communication with certificate management.

multi-cloud-architecture
Design multi-cloud architectures across AWS, Azure, GCP, and OCI with decision frameworks and service selection patterns.

multi-reviewer-patterns
Coordinate parallel code reviews across multiple dimensions with deduplication, severity calibration, and consolidated reporting.