AGENT SKILL

android-design

Use when the user asks for an Android app, Compose UI, Material 3, Material You, Material 3 Expressive, Pixel-style app, foldable/adaptive layout, Play Store deliverable, React Native Android, Flutter Android, Compose Multiplatform, or any Android deliverable. Builds Android apps across system-like Compose, branded Compose, React Native, Flutter, and Compose Multiplatform while preserving UX decisions, state coverage, adaptive navigation, Material motion, accessibility, and product-specific visual direction. ALWAYS ask which track first. SKIP when the target is only iOS, Windows, or web-in-browser.

适用职业设计师
使用场景视觉设计
License 许可
Apache-2.0
最近更新
2026-11-11
Stars
★ 1.6k
Forks
468

01 前言 Front Matter

name
android-design
description
Use when the user asks for an Android app, Compose UI, Material 3, Material You, Material 3 Expressive, Pixel-style app, foldable/adaptive layout, Play Store deliverable, React Native Android, Flutter Android, Compose Multiplatform, or any Android deliverable. Builds Android apps across system-like Compose, branded Compose, React Native, Flutter, and Compose Multiplatform while preserving UX decisions, state coverage, adaptive navigation, Material motion, accessibility, and product-specific visual direction. ALWAYS ask which track first. SKIP when the target is only iOS, Windows, or web-in-browser.

03 SKILL.md 正文

android-design — pick the track first

Android has multiple stacks with different visual ceilings. Ask the user which one before any code.

What This Skill Can Do

  • Choose the right Android track: strict Compose/Material, branded Compose, React Native, Flutter, or Compose Multiplatform.
  • Design mobile task flows, onboarding, forms, settings, dashboards, media/product surfaces, foldables, tablets, and adaptive layouts.
  • Preserve UX briefs, state coverage, navigation hierarchy, gesture/back behavior, loading/error/permission states, and accessibility.
  • Apply Material 3 Expressive, dynamic color, edge-to-edge, predictive back, motion schemes, shape, typography, and responsive window-size classes.
  • Add branded originality through content surfaces, composition, typography, and state treatment without breaking Android idioms.

Step 0 (MANDATORY) — Ask the user which track

Which track for this app?

1. System-like native (Jetpack Compose + Material 3 Expressive strict) — feels like Pixel Launcher, Google Calendar, Settings. Best for: utilities, system tools, productivity. Spring physics, shape morphing, wavy progress, dynamic color (Material You). Examples: Read You, Androidify sample, Files by Google.

2. Branded native (Compose + custom Material theme) — native chrome (M3E motion, predictive back, edge-to-edge) but bespoke content surface (custom typography, hero atmospheres, magazine layouts). Visual ceiling: high. Examples: Fitbit redesign, Google Calendar's editorial moments, Niantic apps.

3. React Native (New Architecture + Fabric + Hermes) — real Android views, decent native feel, JavaScript codebase, cross-platform with iOS. Material themable but won't get spring physics or shape morphing without manual work. Examples: Discord mobile, Coinbase, Microsoft Office.

4. Flutter — Skia-painted custom rendering. Cross-platform single codebase. Lags Material updates (no M3 Expressive parity, no real dynamic color). Visual ceiling: high if you ship your own design language; weak if mimicking Material. Examples: Google Pay, BMW My BMW, Toyota.

5. Compose Multiplatform (1.8+) — same Compose code, runs Android + iOS + Desktop + Web (Wasm experimental). Native on Android, Material-look on iOS (you must Cupertino-skin or accept). Best for: Kotlin shop wanting cross-platform from one codebase.

Which? Or describe priorities (Play Store launch, cross-platform reach, brand vs Material fit) and I'll pick.

If brief gives strong signal (e.g. "Pixel-style camera" → 1; "cross-platform with React team" → 3; "Kotlin shop, ship to all platforms" → 5), state your pick + reasoning in one sentence. If ambiguous, ask.

Step 0b — Once picked, route

Track Reference docs Default stack
1. System-like Compose ../../references/material3-expressive.md Compose BOM 2026.06.00 + Material3 1.4 + adaptive layouts strict
2. Branded Compose Same as 1 Same as 1 + custom display font + hero atmospheres + bespoke surfaces
3. React Native ../../references/web-fonts.md + cross-platform docs RN 0.86 New Architecture + Expo Router
4. Flutter None for native fidelity Flutter 3+ stable
5. Compose Multiplatform ../../references/material3-expressive.md Current stable CMP + shared Compose

For tracks 3 and 4: web/cross-platform anti-slop rules apply. Read web references.

State the chosen aesthetic direction and track in one sentence at top of response.

Step 0c — UI decision brief

Before code, read:

  • ../../references/ui-patterns/surface-taxonomy.md
  • ../../references/ui-patterns/ui-decision-brief.md
  • ../../references/ui-patterns/visual-hierarchy.md
  • ../../references/ui-patterns/motion-budget.md

Write the UI decision brief and adapt it to the chosen Android track. Compact screens need thumb-reachable primary actions, sheets, edge-to-edge, and adaptive navigation; tablets/foldables need list-detail or supporting panes; operational tools should stay dense and scannable while preserving Material 3 Expressive motion, dynamic color, and predictive back.

Step 1 — Material 3 Expressive default (only if track 1 or 2)

Launched at I/O 2025. Default for Pixel 10 / Android 16 QPR1. Generated UI must adopt:

  • Spring physics on every motion — MotionScheme.expressive(). Never FastOutSlowIn on M3E surfaces.
  • Shape morphing — 35 new shapes (squircle, pill, cookie, clover). Use MaterialShapes.Cookie4Sided, Pill, etc. Buttons/chips/loaders morph between states.
  • Emphasized typography — bigger, heavier headlines. Use MaterialTheme.typography.displayLarge with intent.
  • New components:
    • FloatingToolbar (pill-shaped, drifts with content)
    • ButtonGroup / SplitButton
    • FloatingActionButtonMenu
    • ContainedLoadingIndicator (cycles through M3E shapes)
    • Wavy progress — LinearWavyProgressIndicator, CircularWavyProgressIndicator with variable amplitude
    • Large/Small/XL button sizes
  • Tonal elevation — surface tone shifts, never Modifier.shadow() for elevation
  • Dynamic color (Material You) — dynamicColorScheme() from wallpaper on Android 12+

Read ../../references/material3-expressive.md for the M3E adoption checklist.

Step 2 — Compose currency (BOM 2026.04.01)

implementation(platform("androidx.compose:compose-bom:2026.04.01"))
implementation("androidx.compose.material3:material3:1.4.0")
// or for shape-morphing chips:
implementation("androidx.compose.material3:material3:1.5.0-alpha18")

Use:

  • currentWindowAdaptiveInfo() + NavigationSuiteScaffold (auto-swaps Bar/Rail/Drawer by WindowSizeClass)
  • ListDetailPaneScaffold, SupportingPaneScaffold, NavigableListDetailPaneScaffold
  • SharedTransitionLayout { ... } for shared element transitions (stable)
  • PredictiveBackHandler / BackHandler — mandatory on Android 16, default ON Android 15+
  • LookaheadAnimationVisualDebugging for inspecting bounds during dev

Step 3 — Edge-to-edge is mandatory

Android 16 (API 36) deprecated windowOptOutEdgeToEdgeEnforcement. Every screen:

  • Wraps in Scaffold with content padding from insets
  • Uses WindowInsets.systemBars, .statusBars, .navigationBars
  • Predictive back must be wired
  • Status bar color cannot be set opaque — banned on Android 16

Step 4 — Adaptive layouts

  • Compact (phone portrait) → NavigationBar (3–5 items)
  • Medium (foldable inner / tablet portrait) → NavigationRail
  • Expanded (tablet landscape / desktop) → NavigationDrawer (modal or permanent) + ListDetailPaneScaffold
  • Foldables: handle tabletop / book postures via WindowInfoTracker

Step 5 — Typography & icons

  • Default body: Roboto Flex (variable). Headlines: per-app brand expression — but stay within M3E weight/size scale.
  • Material Symbols (variable axes: weight, fill, grade, optical size) — never FontAwesome/Lucide.
  • Get Material Symbols from https://fonts.google.com/icons

Step 6 — Anti-slop ban list (Android-specific)

  • iOS-style top nav bars / chevron-back headers
  • Hamburger drawer when NavigationBar (3–5 items) or NavigationRail fits
  • Hard Modifier.shadow(elevation = 8.dp) — use tonalElevation on Surface instead
  • Custom back stacks ignoring system back / predictive animation
  • Opaque colored status bars — banned on Android 16
  • Bottom sheets without drag handle / non-draggable
  • Static easing curves on M3E surfaces — MotionScheme.expressive() only
  • SF Symbols / Material Symbols-Outlined-only (use variable axes)
  • Inter / SF Pro on Android — Roboto Flex / Google Sans / Material default
  • Centered FAB layouts where docked FAB pattern is canonical
  • Standard Material 3 baseline 2023 — must be M3 Expressive
  • Web-style desktop dashboards squeezed into mobile Compose
  • Decorative motion that hides progress, state, or navigation changes

Step 7 — Reference apps that nail M3 Expressive

  • Pixel Launcher / Android 16 System UI — shape morph + springs
  • Google Calendar — floating toolbar + tonal surfaces
  • Fitbit (2025 redesign) — ContainedLoadingIndicator cycling shapes; floating toolbar
  • Pixel Camera 10.1 — wavy progress in capture
  • Google Docs/Sheets/Slides homepages — M3E typography
  • Chrome (M3E redesign) — adaptive nav
  • Read You (community RSS, OSS) — canonical M3 + dynamic color
  • Androidify sample app — official Compose M3E reference

Step 8 — Architecture defaults

  • MVVM with ViewModel + StateFlow + collectAsStateWithLifecycle()
  • Hilt for DI
  • Navigation Compose 3 with type-safe routes
  • Coil 3 for image loading (replaces Glide for Compose-first apps)
  • Ktor or Retrofit + KotlinX Serialization for networking
  • Room for local persistence

Step 9 — Tokens & assets

Token JSON: see ../../assets/tokens/material3-expressive.json

04 同仓库更多 Skills

hashgraph-online
hashgraph-online/awesome-codex-plugins

deja-search

deja-vu memory — search the user's past AI coding sessions with the deja CLI. Holds what they already settled and never wrote into the repo (naming rules, banned or already-tried tools, required checks before merge, preferred values, who owns what). Use before your first edit in a task, before you call a change done or ready to merge, before you recommend a tool, library, design or reviewer, before re-debugging an error that may already be solved, when they say 'didn't we fix this before', 'what did we decide about X' or 'I already have that', and before telling them something on this machine does not exist.

★ 1.6k
hashgraph-online
hashgraph-online/awesome-codex-plugins

deja-reflect

End-of-session reflection and memory curation with deja-vu. Review what was decided, what commands broke and what repaired them, and record durable project rules or decisions with deja remember so the next session starts with them.

★ 1.6k
hashgraph-online
hashgraph-online/awesome-codex-plugins

revid

Make, edit, export and post AI videos with Revid (revid.ai) through the Revid MCP server. Use whenever the user wants a short-form or long-form video made (from an idea, a script, a URL, an article, a PDF, a tweet, a product page, their own clips, or a song), wants to find what is going viral on TikTok, YouTube, Instagram or X before making something, wants to edit or re-export an existing Revid project, generate a standalone AI image or clip, make a series episode, or publish and schedule a finished video to connected social accounts. Covers setup (hosted MCP with OAuth, or an API key), the 36 tools, credits, polling and the rules for publishing. Routes to the more specific revid-* skills when one fits.

后端与接口图像与多媒体
★ 1.6k
hashgraph-online
hashgraph-online/awesome-codex-plugins

review-study

Review a QuestionPunk survey before launch for wording, answer choices, branching, and missing settings. Use for check my survey or review this draft before publishing.

★ 1.6k
hashgraph-online
hashgraph-online/awesome-codex-plugins

manage-study

Find QuestionPunk studies, check status, publish an explicitly requested draft, or retrieve its participant link. Use for find my survey, publish this study, or how many people responded.

★ 1.6k
hashgraph-online
hashgraph-online/awesome-codex-plugins

create-study

Create a saved QuestionPunk survey draft from a research brief or edit specified questions. Use for requests such as make a customer feedback survey or shorten my onboarding study.

★ 1.6k