mobile-android-design — Claude Code skill
This skill guides native Android UI work with Material Design 3 and Jetpack Compose. Use it for screens, navigation, adaptive layouts, and accessibility checks.
/plugin marketplace add wshobson/agents
/plugin install ui-design@claude-code-workflowsWhat mobile-android-design does
mobile-android-design gives an agent practical patterns for Android UI built with Jetpack Compose and Material Design 3. It covers Navigation Compose, layouts for phones, tablets, and foldables, dynamic color, Android-specific gestures, and accessible interactions. The skill includes a Kotlin composable example for a list card and guidance on applying Material theme values.
Its recommendations include WindowSizeClass, contentDescription, 48dp touch targets, state hoisting, and rememberSaveable. It also addresses recomposition issues, state loss after configuration changes, long lists, navigation crashes, and coroutine cleanup in DisposableEffect. The skill works with Claude Code, Codex, and Cursor. Install it when an agent is building or reviewing Compose UI; it adds little for an XML-only Android project.
What it helps with
- design an Android screen with Material Design 3
- build an adaptive layout for phones and tablets
- configure Compose theming with dynamic color
- add accessible touch targets and content descriptions
- debug state loss or unnecessary recomposition
Example prompts for the agent
- Design a profile screen in Jetpack Compose with Material Design 3 for phones and tablets.
- Review this composable for state, accessibility, and recomposition problems.
- Add Navigation Compose for `Home` and `Details`, including deep-link handling.
How to install mobile-android-design
1Plugin marketplace
/plugin marketplace add wshobson/agents/plugin install ui-design@claude-code-workflowsThis installs the whole ui-design plugin with all its skills
2Skills CLI (Vercel)
npx skills add wshobson/agents --skill mobile-android-design -a claude-code3Manually: put the files in place
~/.claude/skills/mobile-android-design/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/mobile-android-design/
1Skills CLI (Vercel)
npx skills add wshobson/agents --skill mobile-android-design -a codex2Manually: put the files in place
.agents/skills/mobile-android-design/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add wshobson/agents --skill mobile-android-design -a cursor2Manually: put the files in place
.cursor/skills/mobile-android-design/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install wshobson/agents mobile-android-design2Manually: put the files in place
.github/skills/mobile-android-design/SKILL.mdPlatform CLI
gemini skills install https://github.com/wshobson/agents --path plugins/ui-design/skills/mobile-android-designManually: put the files in place
.devin/skills/mobile-android-design/SKILL.mdThe legacy .windsurf/skills/ path still works
Claude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set213
The whole set →Similar
Questions about mobile-android-design
How do I install mobile-android-design in Claude Code?
Run npx skills add wshobson/agents --skill mobile-android-design -a claude-code. The skill file is placed at ~/.claude/skills/mobile-android-design/SKILL.md.
What does mobile-android-design do?
It guides Android interface work with Jetpack Compose and Material Design 3. It covers theming, navigation, adaptive layouts, accessibility, and common Compose issues.
Does the skill support adaptive Android layouts?
Yes. It covers phone, tablet, and foldable layouts and recommends WindowSizeClass for responsive behavior.
Source text
SKILL.md · MIT
---
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
```kotlin
@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
1. **Use Material Theme**: Access colors via `MaterialTheme.colorScheme` for automatic dark mode support
2. **Support Dynamic Color**: Enable dynamic color on Android 12+ for personalization
3. **Adaptive Layouts**: Use `WindowSizeClass` for responsive designs
4. **Content Descriptions**: Add `contentDescription` to all interactive elements
5. **Touch Targets**: Minimum 48dp touch targets for accessibility
6. **State Hoisting**: Hoist state to make components reusable and testable
7. **Remember Properly**: Use `remember` and `rememberSaveable` appropriately
8. **Preview Annotations**: Add `@Preview` with different configurations
## Common Issues
- **Recomposition Issues**: Avoid passing unstable lambdas; use `remember`
- **State Loss**: Use `rememberSaveable` for configuration changes
- **Performance**: Use `LazyColumn` instead of `Column` for long lists
- **Theme Leaks**: Ensure `MaterialTheme` wraps all composables
- **Navigation Crashes**: Handle back press and deep links properly
- **Memory Leaks**: Cancel coroutines in `DisposableEffect`
© Seth Hobson · MIT · wshobson/agents