Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when the user asks for SwiftUI, UIKit, AppKit, iOS, iPadOS, macOS, watchOS, visionOS, Liquid Glass, HIG, SF Symbols, App Store deliverables, Apple settings/forms, branded Apple apps, React Native iOS, Flutter Cupertino, or Electron/Tauri macOS shells. Builds Apple-platform apps across system-like SwiftUI, branded SwiftUI, React Native, Flutter Cupertino, and desktop web shells while preserving UX decisions, native idiom, desktop archetype, originality seed, state coverage, Dynamic Type, acce
.claude/skills/hashgraph-online-apple-design/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 50% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 177% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 113% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 146% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 100% | 0% |
Apple platforms have multiple stacks with different visual ceilings and cost. Ask the user which one before any code.
> Which track for this app? > > 1. System-like native (SwiftUI strict + Liquid Glass + HIG) — feels like Settings, Notes, Reminders, Mail. Best for: utilities, productivity. Visual ceiling: medium. Stays App Store-friendly. Examples: Things 3, NetNewsWire, Soulver. > > 2. Branded native (SwiftUI + HIG + custom identity) — native chrome (Liquid Glass, SF Symbols, Dynamic Type) but bespoke content surface (custom typography, hero atmospheres, magazine layouts). Best for: consumer/media/creative apps that want fit-in and identity. Visual ceiling: high. Examples: Ivory, Reeder, Mela, Craft, CARROT Weather. > > 3. React Native (New Architecture + Fabric + Hermes) — real UIKit views, decent native feel, JavaScript codebase, cross-platform with Android. Liquid Glass partial via expo-glass-effect. Best for: cross-platform apps with web-team velocity. Examples: Discord mobile, Coinbase, Microsoft Office mobile. > > 4. Flutter Cupertino — Skia-painted UIKit-look. Always one OS behind, no Liquid Glass. Cross-platform. Best for: utility apps where pixel control beats native feel. Visual ceiling: high if you bring your own design language; low if you try to mimic iOS. > > 5. Electron / Tauri 2 (macOS only — no iOS) — web stack desktop apps. Tauri 2 (~5MB, WKWebView) or Electron (~150MB, bundled Chromium). Same React/Tailwind/Motion code as web. Best for: cross-platform desktop with brand-first identity. Examples: Spotify, Discord, VSCode, Slack, Figma desktop, Linear. > > Which? Or describe priorities (App Store, brand vs HIG fit, cross-platform reach) and I'll pick.
If brief gives a strong signal (e.g. "iOS App Store launch" → 1 or 2; "cross-platform with our existing React team" → 3 or 5; "web team building desktop-only" → 5), state your pick + reasoning in one sentence. If ambiguous, ask.
| Track | Reference docs | Default stack | |---|---|---| | 1. System-like SwiftUI | ../../references/apple-hig.md + ../../references/liquid-glass.md | SwiftUI 7 + Xcode 26 + iOS 26 SDK strict | | 2. Branded SwiftUI | 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.78+ New Arch + Expo Router + react-native-screens | | 4. Flutter Cupertino | None for native fidelity (will feel imported) | Flutter 3+ stable | | 5. Tauri 2 / Electron (macOS) | ../../references/web-fonts.md + ../../references/web-motion.md + ../../references/web-bans.md + ../../references/awwwards-ceiling.md | React 19 + Tailwind v4 + Motion |
For tracks 3, 4, 5: web/cross-platform anti-slop rules apply. Read the web design references.
State the chosen aesthetic direction and track in one sentence at top of response, then proceed.
Before code, read:
../../references/ui-patterns/surface-taxonomy.md../../references/ui-patterns/ui-decision-brief.md../../references/ui-patterns/desktop-app-archetypes.md../../references/ui-patterns/native-desktop-app-quality-contract.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.mdWrite the UI decision brief and, for macOS/iPad desktop-class work, the desktop archetype brief, native desktop quality brief, and compact layout sketch. For original/non-generic Apple work, also write the originality brief: subject, product world, main object, composition archetype, repeated motif, one weird move, and restraints. Pick the app shape before picking controls: command center, library/collection, workbench, monitoring cockpit, menu-bar utility, media/consumer, document/knowledge, or setup/preferences. Define window model, command model, resize behavior, native controls, keyboard/focus paths, state coverage, and platform evidence. If the sketch becomes generic sidebar + detail, use anti-default contrasts and rewrite it around the main object. iPhone task flows need thumb reach and progressive disclosure; iPad/Mac productivity surfaces need NavigationSplitView, inspector, keyboard flow, command surfaces, and stable density; media/consumer apps may use branded content surfaces while preserving HIG controls, SF typography, SF Symbols, Dynamic Type, and safe areas. Do not make every Mac app a generic sidebar plus detail view unless the archetype truly calls for it.
Apple's unified design language across iOS 26, iPadOS 26, macOS 26 Tahoe, watchOS 26, tvOS 26, visionOS 26. Treat as default.
Apply via:
.glassEffect() modifier on surfaces that should refract underlying contentGlassEffectContainer { ... } to coordinate multiple glass surfaces (avoids overlapping refraction artifacts).buttonStyle(.glass) for buttons that should adopt Liquid Glass.toolbar { ... } automatically lifts to glass on iOS 26+.scrollEdgeEffectStyle(.soft) — replaces hard chrome edges with material lensingLineage to remember: Aqua → iOS 7 blur → Dynamic Island → visionOS → Liquid Glass. The aesthetic is "digital meta-material" — light bends through it.
Read ../../references/liquid-glass.md for full Liquid Glass adoption checklist.
Always prefer:
@Observable macro on view models — never ObservableObject + @Published@Entry for one-line EnvironmentValues / FocusedValues / Transaction keysGroup(subviews:) and ForEach(subviewsOf:) for custom containersMeshGradient(width:height:points:colors:) for distinctive backgrounds — replaces flat gradientsNavigationSplitView with .inspector { ... } for iPad/Mac three-paneTabView with sidebar-adaptable .role.searchable (morphs into a glass pill on iOS 26).symbolEffect(.bounce) / .pulse / .variableColor / .replace.byLayer on SF SymbolsMotionScheme and spring physics — .spring(response:dampingFraction:), never linear/easeIn/easeOut on UI motion.padding() defaults — they encode the system's grid..safeAreaInset(edge:) for content bars.Font.TextStyle (.largeTitle, .title, .headline, .body, .caption). Never hard-coded points.Image(systemName:)..accessibilityLabel/Hint/Value, .accessibilityElement(children:.combine), traits like .isButton, .isHeader. Mandatory.Read ../../references/apple-hig.md for HIG section deep-dive.
NSTextView + custom rich text, Quick Look extensions, custom NSToolbar items, NSOpenPanel extensions.NavigationSplitView { sidebar } content: { ... } detail: { ... }.inspector { ... } for trailing pane (Craft, Notes pattern)DocumentGroup for document-based apps where files are the main objectTable or OutlineGroup for dense libraries, files, logs, and knowledge treesWindow("Quick Capture", id: ...) for focused utility windowsMenuBarExtra("Name", systemImage: ...) { ... } for menu-bar appsSettings { TabView { ... } } scene for prefs window.background(.regularMaterial), .ultraThin/Thin/Regular/Thick/UltraThick.background(NSVisualEffectView { $0.material = .sidebar }) via NSViewRepresentable if neededState the tradeoff if the user asks for non-Swift on Apple:
| Stack | Liquid Glass adoption | Verdict | |---|---|---| | SwiftUI / UIKit native | Full automatic | Use this | | React Native (New Arch + Fabric + Hermes) | Partial via expo-glass-effect / native modules | Decent for utility apps, off in nav transitions/haptics | | Flutter Cupertino | Pixel-recreates iOS but always one OS behind, no Liquid Glass | Will feel wrong on iOS 26+ | | .NET MAUI | Looks like Android in costume | Never use on Apple |
If user insists on cross-platform, route to cross-platform-design and warn that any non-SwiftUI path will fail Liquid Glass adoption.
.regularMaterial) and Liquid Glass insteadTabView (iOS), NavigationSplitView (iPad/Mac).padding(20) magic numbers — use system spacing or 8/16/24 grid.presentationDetents([.medium, .large])Toggle.scrollEdgeEffectStyle(.soft).safeAreaInset — content collides with home indicatorFont.TextStyle (breaks Dynamic Type)ScrollIndicators(.hidden) only when justifiedNavigationSplitView exemplar on iPad/Mac.symbolEffect choreography.primary, .secondary, .tint, Color(.systemBackground) — never raw hex)Token JSON: see ../../assets/tokens/apple-system.json
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-13 | pass→pass | 18,478 | 27,006 | +46% | 1 | 1 | 0% | 2,915 | 6,305 | +116% | 0 | 0 | — |
case-01 | fail→fail | 43,584 | 41,356 | -5% | 1 | 1 | 0% | 7,355 | 9,583 | +30% | 0 | 0 | — |
case-02 | fail→pass | 39,952 | 38,240 | -4% | 1 | 1 | 0% | 5,880 | 8,843 | +50% | 0 | 0 | — |
case-03 | fail→fail | 30,703 | 48,692 | +59% | 1 | 1 | 0% | 5,236 | 9,406 | +80% | 0 | 0 | — |
case-04 | fail→pass | 24,044 | 19,684 | -18% | 1 | 1 | 0% | 2,360 | 6,528 | +177% | 0 | 0 | — |
case-05 | pass→pass | 16,595 | 17,719 | +7% | 1 | 1 | 0% | 2,728 | 6,597 | +142% | 0 | 0 | — |
case-06 | fail→pass | 21,318 | 10,375 | -51% | 1 | 1 | 0% | 2,303 | 4,905 | +113% | 0 | 0 | — |
case-07 | pass→pass | 13,571 | 18,881 | +39% | 1 | 1 | 0% | 2,146 | 6,435 | +200% | 0 | 0 | — |
case-08 | pass→pass | 18,639 | 17,267 | -7% | 1 | 1 | 0% | 2,563 | 6,432 | +151% | 0 | 0 | — |
case-09 | fail→pass | 24,745 | 21,706 | -12% | 1 | 1 | 0% | 2,580 | 6,342 | +146% | 0 | 0 | — |
case-10 | fail→pass | 21,819 | 13,141 | -40% | 1 | 1 | 0% | 2,608 | 5,228 | +100% | 0 | 0 | — |
case-11 | pass→pass | 18,798 | 17,048 | -9% | 1 | 1 | 0% | 2,476 | 6,361 | +157% | 0 | 0 | — |
case-12 | pass→pass | 33,747 | 23,691 | -30% | 1 | 1 | 0% | 3,260 | 6,729 | +106% | 0 | 0 | — |
case-14 | pass→pass | 17,122 | 17,087 | -0% | 1 | 1 | 0% | 1,964 | 6,255 | +218% | 0 | 0 | — |
case-15 | pass→pass | 15,311 | 30,608 | +100% | 1 | 1 | 0% | 2,576 | 5,371 | +109% | 0 | 0 | — |
case-16 | pass→pass | 9,896 | 12,994 | +31% | 1 | 1 | 0% | 1,313 | 4,188 | +219% | 0 | 0 | — |
case-17 | fail→pass | 19,827 | 20,370 | +3% | 1 | 1 | 0% | 2,193 | 5,101 | +133% | 0 | 0 | — |
case-18 | fail→pass | 26,528 | 20,946 | -21% | 1 | 1 | 0% | 2,716 | 5,651 | +108% | 0 | 0 | — |
case-19 | fail→pass | 18,663 | 13,485 | -28% | 1 | 1 | 0% | 2,665 | 4,991 | +87% | 0 | 0 | — |
case-20 | pass→pass | 18,129 | 24,941 | +38% | 1 | 1 | 0% | 3,274 | 7,669 | +134% | 0 | 0 | — |
case-21 | pass→pass | 31,619 | 25,148 | -20% | 1 | 1 | 0% | 4,819 | 8,331 | +73% | 0 | 0 | — |
case-22 | fail→fail | 26,899 | 26,657 | -1% | 1 | 1 | 0% | 3,401 | 7,216 | +112% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +36 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.