mobile-design-android — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited mobile-design-android (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
This skill targets Android 16+ with Material 3 Expressive. For apps targeting older Android versions, fall back to standard Material 3 guidelines — those patterns are well-covered by general AI knowledge.
This skill guides creation of Android interfaces that feel genuinely designed for the platform — avoiding the generic "Material template" aesthetic that plagues AI-generated mobile UI. Every design decision should demonstrate understanding of Material 3 Expressive and the principles that separate professional apps from amateur ones.
The user provides Android UI requirements: a screen, flow, component, or full app interface. They may include context about purpose, audience, or technical constraints.
Before generating any UI, commit to a clear design direction:
CRITICAL: M3 Expressive is not "add bounce to everything." It's a research-backed system where six design tactics — shape variety, rich color, typographic emphasis, strategic containment, fluid spring motion, and component flexibility — work together. The target feel is natural and physical — like pulling a book from a shelf where neighboring books slide slightly, or flicking a notification away and feeling a satisfying haptic rumble. Professional apps deploy these tactics selectively at hero moments. Amateur apps apply them uniformly everywhere.
Focus on:
tween(durationMillis). Springs handle interruption seamlessly by retargeting from current velocity. Use MaterialTheme.motionScheme tokens — never hardcode spring values. Two categories: Spatial specs (bouncy, damping ~0.6) for position, size, rotation, shape. Effects specs (critically damped, damping = 1.0) for color and opacity. Never apply spatial springs to color/opacity — alpha bouncing past 100% looks broken.fastSpatialSpec for small components (switches, buttons). defaultSpatialSpec for partial-screen elements (sheets, drawers). slowSpatialSpec for full-screen transitions. A slow spring on a toggle feels sluggish. A fast spring on a page transition feels frantic.Morph class between RoundedPolygon instances) rather than simple cross-fades.ColorScheme has 48 named roles. Use them. Primary for key actions, secondary and tertiary for supporting hierarchy, the 12 fixed accent colors for elements that must look identical across light/dark themes. 5 surface container levels (surfaceContainerLowest through surfaceContainerHighest) replace opacity-based elevation — use them for layered depth. Defaulting to primary-on-white for everything wastes the system that drives 4× faster element recognition.*Emphasized variants (higher weight) exist for "editorial moments" — headlines, CTAs, key information. Using uniform bodyMedium throughout produces flat layouts. Pair headlineLargeEmphasized for hero content with bodyLarge for supporting text. The contrast between emphasized and baseline creates visual rhythm.SegmentedButton → ButtonGroup (connected buttons with overflow). BottomAppBar → Docked/Floating Toolbar (with integrated FAB). Stacked small FABs → FloatingActionButtonMenu (expandable with ToggleFloatingActionButton). Also: SplitButtonLayout for primary+secondary actions, LoadingIndicator with shape-morphing polygons instead of circular spinners.secondary color, not onSurface. Progress indicators support wavy shape option and configurable track height.dynamicLightColorScheme/dynamicDarkColorScheme on Android 12+. Provide brand-aligned static fallback for older devices. Use Material Color Utilities to harmonize brand accents with the user's dynamic palette.WindowInsets handling. Predictive back gestures show a preview of the destination as users swipe — your in-app transitions must harmonize with this system animation, not fight it.Remove animations — when ANIMATOR_DURATION_SCALE is 0, fall back to snap() or simple fades; switch from Expressive scheme to StandardUiModeManager.getContrast() for high-contrast themestween(300) or any hardcoded tween for interruptible motion — this is the #1 anti-pattern; springs retarget smoothly, tweens snap jarringlyslowSpatialSpec on a toggle switch or fastSpatialSpec on a full-screen transition — match speed to element sizeprimary color while ignoring secondary, tertiary, and all 12 fixed accent rolesbodyMedium everywhere — missing the emphasized variants eliminates the editorial quality that makes Expressive distinctive1.4.0 without checking for Expressive API availability — new components require the alpha trackSegmentedButton or BottomAppBar instead of their replacementsMaterialTheme.motionScheme and hardcoding spring parameters inlineProfessional M3 Expressive apps combine tactics at hero moments: a detail-screen transition that simultaneously morphs shapes via Morph, shifts colors via effects springs, scales elements via spatial springs, and renders the headline in headlineLargeEmphasized. This compound expressiveness at key moments — with restraint everywhere else — is what separates designed apps from defaults.
Observable markers of professional work: custom MotionScheme tuned to brand personality, strategic use of MaterialShapes beyond basic rectangles, the full 48-role color system deployed across visual hierarchy, ButtonGroup and FloatingActionButtonMenu replacing deprecated components, and shape morphing on state transitions rather than simple visibility toggles.
The highest-impact adoption order: motion scheme first (biggest delta for least effort), then shape variety, then expanded color, then new components. Every spring token, shape morph, and emphasized text style is a lever — the craft is knowing which levers to pull and when.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.