mobile-android-design

Разбирает Material Design 3 и паттерны Jetpack Compose для нативных приложений Android. Нужен при проектировании интерфейсов Android, реализации Compose UI и следовании гайдлайнам Google.

Установка

$npx skills add https://github.com/wshobson/agents/tree/156b7a5e7a8b93642628a339ee4039c925b34c7f/plugins/ui-design/skills/mobile-android-design

Ставит скилл в текущий проект - CLI спросит, для каких агентов. С флагом -g - в домашнюю папку, для всех проектов. Другие способы

Описание автора

Master Material Design 3 and Jetpack Compose patterns for building native Android apps. Use when designing Android interfaces, implementing Compose UI, or following Google

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

  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

Ещё из wshobson/agents

Все 184
  1. accessibility-complianceв один кликдоступные интерфейсы по WCAG 2.2
  2. ai-debt-detectorв один кликаудит техдолга после кода от ИИ
  3. airflow-dag-patternsв один кликпайплайны на Apache Airflow
  4. angular-migrationв один кликмиграция с AngularJS на Angular
  5. anti-reversing-techniquesв один кликанти-реверс и защита от отладки
  6. api-design-principlesв один кликпроектирование REST и GraphQL API
  7. architecture-decision-recordsв один кликзаписи архитектурных решений (ADR)
  8. architecture-patternsв один кликпаттерны архитектуры бэкенда: Clean и DDD

Похожие скиллы

Мобильные приложения
  1. AvdLee/swiftui-expert-skillAvdLee/SwiftUI-Agent-Skillэкспертные советы по SwiftUI
  2. android-emulator-qaopenai/pluginsпроверка Android-сценариев в эмуляторе
  3. Eronred/aso-skillsEronred/aso-skillsнабор скиллов для ASO и мобильного роста
  4. truongduy2611/app-store-preflight-skillstruongduy2611/app-store-preflight-skillsпроверка iOS-приложения до App Store
  5. conorluddy/ios-simulator-skillconorluddy/ios-simulator-skillуправление iOS Simulator в Claude Code
  6. rorkai/app-store-connect-cli-skillsrorkai/app-store-connect-cli-skillsавтоматизация App Store через asc CLI
  7. ehmo/platform-design-skillsehmo/platform-design-skillsдизайн по Apple HIG, Material 3, WCAG
  8. testmu-ai/appium-skillLambdaTest/agent-skillsавтотесты мобильных приложений на Appium