skills/ios-ui-craft/SKILL.md
Production-grade SwiftUI with Apple Design Award-quality aesthetics. Use when building visually striking iOS interfaces — screens, components, redesigns. Screenshot-driven visual iteration, Liquid Glass (iOS 26+), bold design direction. For design advice without code, use ios-design-consultant instead.
npx skillsauth add vabole/apple-skills ios-ui-craftInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create distinctive, Apple Design Award-worthy iOS interfaces. This skill produces real, working SwiftUI code with exceptional attention to aesthetic details and creative choices that avoid generic AI-generated aesthetics.
The user provides iOS requirements: a screen, component, view, or interface to build. They may include context about the purpose, audience, or technical constraints.
Before writing ANY code, understand the context and commit to a BOLD aesthetic direction:
CRITICAL: Choose a clear conceptual direction and execute it with precision. Bold maximalism and refined minimalism both work—the key is intentionality, not intensity.
Then implement working SwiftUI code that is:
These are hallmarks of generic AI-generated iOS design. NEVER do these:
| Anti-Pattern | Why It's Bad | Instead | |--------------|--------------|---------| | Boring solid backgrounds | No depth or atmosphere | Gradients, subtle textures, or layered colors | | System fonts everywhere | No typographic intention | Intentional hierarchy, consider display fonts | | Cookie-cutter tab bars | No personality | Custom styling, meaningful icons | | Purple/indigo gradients | Quintessential AI slop | Find a distinctive, contextual palette | | Flat, lifeless interactions | No delight | Haptics, spring animations, feedback | | Glass on everything | Defeats the purpose | Glass only for controls/navigation layer | | Ignoring content layer | Glass where it doesn't belong | Glass frames content, never obscures | | Generic card layouts | White rectangles with shadows | Context-specific, purposeful containers | | Emojis as design elements | Lazy, unprofessional | SF Symbols, custom assets | | Evenly distributed colors | Timid, uncommitted | Dominant color with sharp accents |
Focus on:
.bouncy not .easeInOut.| Principle | Description | |-----------|-------------| | Hierarchy | Controls float above content. Glass frames, never obscures. Content is king. | | Harmony | Software design aligns with hardware. Concentric corners. Fluid gestures. | | Consistency | Adapt fluidly across iPhone, iPad, Mac. Same identity, contextual expression. |
Before implementing, read the shared Liquid Glass reference for API patterns:
skills/ios-liquid-glass/ - Core Liquid Glass API, code patterns, navigation patterns, animation philosophy, haptics
This reference contains the technical implementation details. This skill provides the aesthetic vision; the reference provides the code patterns.
Don't default to system fonts for everything. Create typographic hierarchy:
// Display fonts for headers
Text("Dashboard")
.font(.largeTitle.bold())
.foregroundStyle(.primary)
// Secondary information
Text("Last updated 5 min ago")
.font(.subheadline)
.foregroundStyle(.secondary)
// Consider custom fonts for brand identity
Text("Premium")
.font(.custom("PlayfairDisplay-Bold", size: 32))
| Use Case | Options | |----------|---------| | Display | SF Pro Display, New York, custom serif | | Body | SF Pro Text (system), custom sans | | Technical | SF Mono, custom monospace | | Editorial | New York, custom serif with character |
Don't distribute color evenly. Choose:
Dark mode often produces more distinctive results. Design dark, then adapt to light.
// Semantic colors that adapt
.foregroundStyle(.primary)
.foregroundStyle(.secondary)
.background(.background)
// Accent with purpose
.tint(.accentColor)
Never submit UI work without visually verifying it. Use the screenshot script to iterate until the screen is both functional and beautiful.
# Screenshot simulator
xcrun simctl io booted screenshot /tmp/screenshot.png && sips --resampleHeightWidthMax 1800 /tmp/screenshot.png
The loop:
Keep iterating until:
This is the quality bar: share-worthy, award-worthy.
Before considering UI complete:
Remember: Claude is capable of extraordinary creative work. Don't settle for "working." Push for memorable.
Every interface should have:
The goal is an app worthy of an Apple Design Award—an app that feels genuinely designed, not generated.
/ios-dev - Start here for any iOS task — coordinates guides, correctness checks, and API references/ios-design-consultant - For design questions before codingdevelopment
API reference: XCUITest. Query for element queries, waiting patterns, Swift 6 @MainActor, assertions, screenshots, launch arguments.
development
API reference: TipKit. Tip protocol, TipView, PopoverTipView, Tips.configure, inline and popover tips.
development
API reference: MapKit for SwiftUI. Map view, Marker, Annotation, camera positions, map features.
development
API reference: Apple Human Interface Guidelines. Query for design patterns, UI components, accessibility, color, typography, layout, haptics.