Miuix Skill
A skill for Compose UI on the Miuix library in Xiaomi HyperOS style: component choice, themes, navigation and source-checked APIs
- 67 ★ on the repository
- Last commit
Minimal access
Why this level
- The skill holds reference material and runs nothing
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add skills/miuix-skillDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewMinimal accessThe tool runs nothing and makes no network calls.
- The skill holds reference material and runs nothing
This is third-party code. Review the repository files before installing.
What it does
The skill gathers knowledge of Miuix, an independent Compose Multiplatform library with a Xiaomi HyperOS-style design (not an official one). Miuix targets Android, iOS, Desktop JVM, macOS and Web from one Kotlin codebase. The skill ties together components, page structure, themes, state, dialogs, navigation and source verification. Reference material is split by topic in the `references/` folder: component choice, theme setup, design language (color, text, spacing), finding color tokens from a verbal description, the `OverlayDialog` and `WindowDialog` dialogs, preferences and menus, `miuix-nav` navigation, effects and icons, page patterns, an interface review workflow and a method for verifying APIs against documentation, demos, examples and the right version of the code. The agent receives a minimal component call with the required ancestors, a full page with state, theme and navigation, a standalone `App` example with dependencies or an improvement plan for an existing screen. Results distinguish compile checks from visual checks.
Who it is for. Android developers on Compose who build Xiaomi HyperOS-style interfaces with the Miuix library and want reliable API checks.
Good fit when
- A settings page with switches and a dropdown selector in Miuix style is needed
- A choice between `OverlayDialog` and `WindowDialog` is needed for a specific scenario
- An existing Compose screen should be brought to Miuix hierarchy, spacing and states
- Component parameters or the library version changed and a call must be checked against the source
Not a fit when
- The project has no Compose or uses another component library
- Official Xiaomi HyperOS components are needed: Miuix is independent and does not replace them
- Layout in classic Android Views without Compose is required
Example request
Build a settings page in Miuix with a switch, a dropdown selector and a confirmation dialog and check the API against the sourceLimitations
Miuix is independent and not equal to the official HyperOS components, so the skill does not guarantee a match with the Xiaomi system interface. The skill and README texts are in Chinese, with part of SKILL.md in English. Blur and effects on Android rely on `RuntimeShader` and need API 33, and `miuix-squircle` falls back to `RoundedCornerShape` below that level. Miuix Example code must not be taken for public API, so the skill requires checking against the source of the right version. The reference is tied to version 0.9.4, and newer releases need manual verification.
How to disable. Delete the `miuix` folder from `~/.claude/skills/` or `~/.codex/skills/`, or from the project `.claude/skills/` and `.codex/skills/`.
FAQ
How do I install Miuix Skill in Claude Code?
Run `git clone https://github.com/limczhh/miuix-skill.git ~/.claude/skills/miuix` for all projects or clone into `.claude/skills/miuix` for one. Update with `git pull --ff-only`.
What is Miuix?
An independent Compose Multiplatform library implementing the Xiaomi HyperOS design language for Android, iOS, Desktop, macOS and Web. It is an unofficial HyperOS library.
Do I need to download the Miuix sources?
No, per the README the skill does not require downloading sources separately. The reference in `references/` shows where to verify parameters by version.
What is the difference between OverlayDialog and WindowDialog?
The skill covers this in `references/overlays-and-windows.md`: scenarios, back-button behavior and limits. A sample request: "what is the difference between OverlayDialog and WindowDialog".
How does the skill verify the API?
Parameters are checked against documentation, demo, example and source of the right version, and compile and visual checks are marked separately.
Discussion
No questions or reviews yet.
Related
SkillsA skill for Jetpack Compose and Compose Multiplatform: the agent writes UI from references and checks it against androidx source
Thirteen skills and two rule files for Kuikly, Tencent's Kotlin UI framework: components, animation, networking, profiling
21 skills for Android and KMP in Claude Code, Codex and Copilot CLI: Compose, coroutines, Flow, networking, storage, Gradle
A Material Design 3 skill for coding agents: tokens, more than 30 components, theming, adaptive layout and a compliance audit, Jetpack Compose first
An Android skill covering modular architecture, Compose, Material 3, accessibility and Kotlin migrations.
SwiftUI Design Skill
swiftui-design-skill
A SwiftUI interface design skill: compilable code, tokens, patterns and six rules against AI sloppiness. One-command installation through npx skills
README in short
The Chinese README lists scenarios, ways to ask, kinds of output, where the reference comes from, the `references/` structure and installation for Codex and Claude Code.
README badge
Original SKILL.md
--- name: miuix description: "Miuix (HyperOS) Compose 专家。用于 Miuix/HyperOS UI 构建、审查、重构;在 Miuix 项目或点名组件/API 时触发:MiuixTheme、ThemeController、miuix-ui、miuix-preference、miuix-blur、miuix-nav;NavigationBar/navigation bar、FloatingNavigationBar/floating navigation bar、NavigationRail、TopAppBar/top app bar、Scaffold、TabRow、Button/TextButton/IconButton、FloatingActionButton/FloatingToolbar、Card、TextField/text field、InputField、SearchBar/search bar、Switch/Checkbox/RadioButton、Slider/slider、SliderPreference/Overscroll、ProgressIndicator、Snackbar、Tooltip/TooltipBox/PlainTooltip/RichTooltip、Badge/BadgedBox、BreadcrumbBar/breadcrumb bar、PullToRefresh/pull to refresh、ColorPicker、OverlayDialog/OverlayBottomSheet/OverlayListPopup、WindowDialog/WindowBottomSheet、ArrowPreference/SwitchPreference/CheckboxPreference/RadioButtonPreference、Dropdown/Spinner、ProgressiveBlur、WindowNavigationEventScope、NavDisplay/NavController/NavKey/NavTransitions/NavDisplayEffects。覆盖设置、弹窗、导航、表单、主题、颜色、无障碍、自适应;指定 Material 3/MD3/其他系统时不触发;无 Miuix 上下文的通用 button/card/slider 不触发。" --- # Miuix Skill ## What Miuix Is Miuix is a Compose Multiplatform UI component library that implements Xiaomi HyperOS design language. It targets Android, iOS, Desktop (JVM), macOS, and Web (Wasm/JS) from a single Kotlin codebase. **Modules:** | Module | Purpose | Dependency | |--------|---------|------------| | `miuix-ui` | Core UI components — Button, Switch, TextField, NavigationBar, Scaffold, dialogs, etc. | — (root module, includes miuix-core, miuix-squircle) | | `miuix-preference` | Settings-screen components — SwitchPreference, CheckboxPreference, SliderPreference, dropdown selectors, etc. | depends on miuix-ui | | `miuix-icons` | 100+ extended icons in 5 weights (Light/Normal/Regular/Medium/Demibold) | includes miuix-core | | `miuix-blur` | Backdrop blur, texture effects, and progressive blur (Android effect paths require RuntimeShader/API 33) | includes miuix-shader | | `miuix-shader` | RuntimeShader abstraction layer (cross-platform shader support) | — (transitively included by miuix-blur / miuix-squircle) | | `miuix-squircle` | Squircle shape — continuous-curvature corners that look smoother than RoundedCornerShape on screen. Auto-falls back to RoundedCornerShape below API 33. | — (transitively included by miuix-ui) | | `miuix-nav` | Self-contained Compose Multiplatform navigation runtime with a serializable back stack, continuous-depth transitions, and predictive/edge back handling | independent of `miuix-ui`; uses `miuix-squircle`, lifecycle/ViewModel, navigation-event, and kotlinx serialization APIs internally | Most projects start with `miuix-ui` and add `miuix-preference` for settings rows. Add `miuix-icons`, `miuix-blur`, or `miuix-nav` explicitly when those features are used. `miuix-ui` already brings in `miuix-core` and `miuix-squircle`; `miuix-shader` arrives transitively through `miuix-blur` or `miuix-squircle`. `miuix-nav` is the current navigation module; do not infer `androidx.navigation3` APIs from the older module name. **Key concepts:** - The application UI subtree must be under an ancestor `MiuixTheme`, which provides `MiuixTheme.colorScheme.*` and `MiuixTheme.textStyles.*`; individual screens should not duplicate the root theme - Natural-language color requests need role lookup: read [Color semantics and visual lookup](references/color-lookup.md) and map the user's visual description to a verified token or component `*Defaults` factory; do not invent `warning`/`alert` tokens or equate a default blue sample with a permanent semantic hue - Overlay components (OverlayDialog, OverlayBottomSheet, etc.) render inside `Scaffold`'s popup layer — they follow the page lifecycle and need a `Scaffold` ancestor. Window components (WindowDialog, WindowBottomSheet, etc.) render in an independent window layer — they're standalone, ideal for cross-page global popups. - `Scaffold` can host a `floatingToolbar` with a `ToolbarPosition`; this slot predates 0.9.4, while the current stable layout keeps the `Snackbar` above a bottom-positioned toolbar. - `PullToRefresh` keeps `isRefreshing` hoisted, while `rememberPullToRefreshState(refreshThreshold = ...)` owns indicator mechanics and exposes full-range progress for optional observers. - `miuix-nav` separates route/back-stack ownership from `NavigationBar`/`NavigationRail` chrome. `rememberNavBackStack` requires `@Serializable` route keys for save/restore; the v1 runtime is a flat stack, does not provide dialog scenes or a built-in result channel, and defaults transition input blocking off. - In stable `0.9.4`, `NavigationRail` has separate fixed-layout and non-null expandable-state overloads; `state = null` is no longer a valid compatibility call. `NavigationBarItem` and `FloatingNavigationBarItem` accept a shared `NavigationBarItemColors` value before `badge`. - Stable `miuix-nav` provides `LocalNavTransitionScope` inside each entry, adds the composition-safe `NavTransitionScope.isRunning` signal, and passes the parent saved-state creation context into entry ViewModels so `SavedStateHandle`/Hilt integrations can work without custom owner plumbing. - Stable `miuix-ui` includes `PagerGestureUtils` for `HorizontalPager`/nested-list conflicts, including `pagerGestureOverride`, explicit interception modes, and spring page navigation. `TabRow` now contains horizontal nested scroll/overscroll instead of forwarding it to a parent pager. - Treat an exact Miuix English component name or its common spaced form as a direct signal: map `navigation bar`, `floating navigation bar`, `slider`, `search bar`, and similar names to the component catalog before applying generic Compose UI advice. - Public components generally follow a recognizable parameter order, but exact signatures must be verified in docs/demo/source rather than inferred - Many configurable components expose a dedicated `*Defaults` object for supported dimensions, shapes, colors, and state styling ## References Read only the reference files required for the task: **Workflows** - [Existing UI review and improvement workflow](references/ui-review-workflow.md)