.claude/skills/android-compose-uiux/SKILL.md
This skill should be used when the user asks to "improve the UI", "fix the design", "make it look better", "improve UX", "improve the layout", "review the screen", "audit the interface", "make it more child-friendly", "improve accessibility", "fix spacing", "add animation", "improve colors", "redesign", "polish the app", or discusses visual design, user experience, Jetpack Compose styling, Material Design 3, component design, touch targets, readability, or anything related to how the app looks and feels.
npx skillsauth add mikhwan89/MiltonLearnMandarin android-compose-uiuxInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill guides all UI/UX work in the MiltonLearnMandarin Android app — a Jetpack Compose + Material Design 3 app built for children aged 5 and up.
MaterialTheme.colorScheme.* tokens — never hardcode colours except for semantic feedback (green for correct, red for wrong).MaterialTheme.typography.* for text styles.Card, Surface, Button, OutlinedButton, IconButton from Material 3.shape = RoundedCornerShape(...) consistently — prefer 12–16dp for cards, 50% for badges/pills.ElevatedCard or shadowElevation to create visual hierarchy.Color(0xFF4CAF50) green.Color(0xFFF44336) red.Color(0xFFFFC107) amber, Color(0xFFBDBDBD) grey for empty.Color(0xFF4CAF50) green, bold.ToneUtils — respect these for consistency.MaterialTheme.colorScheme.*.animateFloatAsState / animateColorAsState for smooth state transitions.infiniteRepeatable + RepeatMode.Reverse) are used for speaking character emoji and perfect-score results — keep this pattern.spring(dampingRatio = Spring.DampingRatioMediumBouncy) for "pop" effects on correct answers.playSuccessSound() for correct answers, playWrongSound() for wrong.16.dp for screen edges, 12.dp inside cards, 8.dp between elements.Arrangement.spacedBy(...) in Column/Row instead of individual Spacers where items repeat.fillMaxWidth() on all cards and buttons.Box + Alignment.BottomCenter for overlay panels (options panel over conversation).characterEmoji prominently).isSpeaking animation).secondaryContainer colour, left-aligned.primaryContainer colour, right-aligned.ToneUtils).shadowElevation = 8.dp.primaryContainer.FeedbackCard appears with explanation after any selection.ConfettiEffect) for perfect scores only.When reviewing or improving screens, check for these:
contentDescription.colorScheme tokens).animateColorAsState on interactive elements instead of instant colour change.CircularProgressIndicator.height = 56.dp, fillMaxWidth, prominent colour.remember expensive computations.key = ... on LazyColumn items for stable identity.Modifier.padding before Modifier.fillMaxSize (order matters).fillMaxWidth() on all form-like elements.QuizOptionButton handles colour animation) before introducing new ones.When working on UI/UX, the most relevant files are:
| File | What it contains |
|------|-----------------|
| app/src/main/java/com/ikhwan/mandarinkids/MainActivity.kt | HomeScreen, ScenarioCard, navigation |
| app/src/main/java/com/ikhwan/mandarinkids/RolePlayScreen.kt | Conversation flow, options panel |
| app/src/main/java/com/ikhwan/mandarinkids/ConversationBubble.kt | Chat bubble, word detail dialog |
| app/src/main/java/com/ikhwan/mandarinkids/QuizScreen.kt | Quiz layout, QuizOptionButton |
| app/src/main/java/com/ikhwan/mandarinkids/FeedbackCard.kt | Answer feedback |
| app/src/main/java/com/ikhwan/mandarinkids/QuizResultsScreen.kt | Results, stars, XP, confetti |
| app/src/main/java/com/ikhwan/mandarinkids/ui/theme/Theme.kt | MD3 theme setup |
| app/src/main/java/com/ikhwan/mandarinkids/ui/theme/Color.kt | Colour palette |
| app/src/main/java/com/ikhwan/mandarinkids/ToneUtils.kt | Pinyin tone colour logic |
development
This skill should be used when the user asks to "add a new scenario", "create a scenario", "write a scenario", "build a new lesson", "add new content", "write new dialogues", "create a new role-play", "add a new topic", "build a lesson about [topic]", or anything involving creating or editing scenario JSON files for the MiltonLearnMandarin app.
testing
Create, edit, improve, or audit AgentSkills. Use when creating a new skill from scratch or when asked to improve, review, audit, tidy up, or clean up an existing skill or SKILL.md file. Also use when editing or restructuring a skill directory (moving files to references/ or scripts/, removing stale content, validating against the AgentSkills spec). Triggers on phrases like "create a skill", "author a skill", "tidy up a skill", "improve this skill", "review the skill", "clean up the skill", "audit the skill".
testing
Host security hardening and risk-tolerance configuration for OpenClaw deployments. Use when a user asks for security audits, firewall/SSH/update hardening, risk posture, exposure review, OpenClaw cron scheduling for periodic checks, or version status checks on a machine running OpenClaw (laptop, workstation, Pi, VPS).
testing
Create, edit, improve, or audit AgentSkills. Use when creating a new skill from scratch or when asked to improve, review, audit, tidy up, or clean up an existing skill or SKILL.md file. Also use when editing or restructuring a skill directory (moving files to references/ or scripts/, removing stale content, validating against the AgentSkills spec). Triggers on phrases like "create a skill", "author a skill", "tidy up a skill", "improve this skill", "review the skill", "clean up the skill", "audit the skill".