From stark
Translates UI designs across platforms (web, iOS, Android, Windows, Mac) preserving UX decisions while adapting to each platform's native idioms. Use when porting or building a cross-platform app.
How this skill is triggered — by the user, by Claude, or both
Slash command
/stark:cross-platform-designThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Goal: ship one codebase that respects each platform's HIG/Material/Fluent — not a Flutter app that looks like Flutter on every OS.
Goal: ship one codebase that respects each platform's HIG/Material/Fluent — not a Flutter app that looks like Flutter on every OS.
If Stark produced a UX decision brief or UI decision brief, keep both as the source of truth. Translate them per platform instead of pixel-cloning.
Read:
../../references/ui-patterns/surface-taxonomy.md../../references/ui-patterns/ui-decision-brief.md../../references/ui-patterns/desktop-app-archetypes.md../../references/ui-patterns/originality-engine.md../../references/ui-patterns/design-recipes.md../../references/ui-patterns/anti-default-contrasts.md../../references/ui-patterns/visual-hierarchy.md../../references/ui-patterns/motion-budget.mdThe shared product should preserve job, state coverage, action hierarchy, visual hierarchy, desktop archetype, originality seed, and layout sketch. Navigation, controls, typography, icons, and motion must become platform-specific, but the chosen shape should remain legible: command center stays a command center, library stays a library, workbench stays a workbench, and monitoring cockpit stays a monitoring cockpit. A product-specific metaphor can translate across platforms; exact pixels and custom controls should not.
| User priority | Recommended stack |
|---|---|
| Native feel + Kotlin codebase + iOS support | Compose Multiplatform 1.8+ (iOS stable since May 2025) |
| Tiny binary, web team, desktop-first | Tauri 2 (Rust + native webviews; ~3MB) |
| Native Android views + iOS, large ecosystem | React Native (New Arch + Fabric + Hermes) |
| Single Skia raster across platforms (custom design system) | Flutter — only if pixel control matters more than native feel |
| .NET shop, XAML cross-platform | Uno Platform 5+ (reuses WinUI XAML) |
| .NET shop, mobile-first | .NET MAUI (warn: weaker desktop, weaker iOS feel) |
| Cross-platform desktop + custom theming | Avalonia 11 with Fluent/Mac themes |
When the user picks a stack, state the fidelity tradeoff per platform in one line each.
expo-glass-effect or native modules; partial adoption.Settings screen example:
Form with Section { ... } headers, Liquid Glass toolbar, switch togglesLargeTopAppBar + LazyColumn with ListItem rows, switches with M3 thumbsNavigationView + scrollable SettingsCard stack with Mica backdropTab bar example:
TabView (5 tabs max, Liquid Glass)NavigationBar (3–5) or NavigationRail adaptiveNavigationView Top or LeftList detail example:
NavigationSplitView on iPad/Mac, push-pop on iPhoneListDetailPaneScaffold (adaptive)Desktop archetype example:
NavigationView + CommandBar + status rail, macOS NavigationSplitView + toolbar/search, Tauri/Electron command palette + inspectorGridView + preview pane, macOS sidebar/content/inspector, web desktop shell with collection grid + detail sheetMenuBarExtra, web desktop shells only when background status and settings justify a full appNever copy the iOS tab bar onto Windows. Never copy the Android FAB onto iOS. Idiom > pixel.
If the user is shipping to one canonical platform first (almost always the case), route to that platform's skill (apple-design, android-design, windows-design, web-design) and translate later. Don't start in cross-platform mode unless they explicitly say "build cross-platform from day one."
When generating cross-platform output, ship tokens once and translate:
../../scripts/token_export.py to translate one token JSON into Tailwind theme + Compose Material3 ColorScheme + SwiftUI Color extension + Fluent ResourceDictionary../../assets/tokens/ for per-platform reference token bundlesGuides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Enforces test-driven development: write failing test first, then minimal code to pass. Use when implementing features or bugfixes.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.
npx claudepluginhub f0d010c/stark --plugin stark