SwiftUI frontend visual design skill. Creates beautiful, distinctive iOS/macOS interfaces that avoid generic AI slop patterns. Covers design direction, layout systems, typography, color, spacing, brand integration, and design review. Use when designing new SwiftUI views, reviewing UI quality, creating iOS prototypes, choosing visual styles, improving app aesthetics, or when the UI looks generic or AI-generated.
npx skills add https://github.com/Wholiver/swiftui-design-skill --skill swiftui-design-skill
> TL;DR: Design SwiftUI apps that look intentionally crafted, not AI-generated. Follow the 6 Anti-Slop Rules, use the Design Direction workflow when requirements are vague, and always pass the 5-Dimension Review before shipping.
These 6 principles guide every design decision. They are distilled from real-world design practice and anti-patterns observed in AI-generated UI.
Before designing any screen, ask:
If no context exists, create a brand-spec.md first (see Brand Asset Protocol below).
Don't wait for the "perfect" design. Show hypotheses with placeholders early:
Always present 2-3 distinct design directions, not one "final answer." Each variation should:
If you cannot source a real asset (icon, image, illustration):
Every element must earn its place. Before adding any UI element, ask:
Whitespace is a feature, not emptiness.
These patterns are banned in production UI. See references/anti-ai-slop.md for detailed rules.
Banned visual patterns:
What to do instead:
When building UI for a specific brand, follow this 5-step hard flow:
Quality threshold: 5 real brand colors, 10 verified design tokens, 2 font families, 8pt spacing grid.
If no brand exists, create a brand-spec.md with:
When requirements are vague or the user asks "what style should we use?", follow this workflow:
Present 3 distinct design philosophies from different schools:
| School | Example Directions |
| --------------- | ------------------------------------------- |
| Information | Clean data-first, chart-heavy, Bloomberg-style |
| Editorial | Magazine layout, serif typography, generous whitespace |
| Expressive | Bold color, asymmetric layout, motion-forward |
| Functional | Dense utility, monospace accents, minimal decoration |
| Warm Minimal | Soft neutrals, rounded shapes, subtle texture |
For each direction, describe:
Present options clearly. After choice, lock in the design system.
Create or confirm these design tokens:
// Requires: references/swift-extensions.md (Color(hex:) extension)
// DesignTokens.swift
enum DesignTokens {
// Colors
static let accent = Color(hex: "E85D3A") // Warm coral
static let background = Color(hex: "FAFAF8") // Warm white
static let textPrimary = Color(hex: "1A1A1A") // Near-black
static let textSecondary = Color(hex: "6B6B6B") // Muted gray
// Typography
static let displayFont = "New York" // Serif for headings
static let bodyFont = "SF Pro" // System default
// Spacing (8pt grid)
static let spaceXS: CGFloat = 4
static let spaceS: CGFloat = 8
static let spaceM: CGFloat = 16
static let spaceL: CGFloat = 24
static let spaceXL: CGFloat = 32
static let spaceXXL: CGFloat = 48
// Corner radius
static let radiusS: CGFloat = 8
static let radiusM: CGFloat = 12
static let radiusL: CGFloat = 16
}
Follow the layout patterns in references/layout-patterns.md:
VStack for vertical flow, HStack for horizontalLazyVGrid / LazyHGrid for grid layoutsScrollView with .scrollTargetBehavior(.paging) for paged contentGeometryReader — prefer containerRelativeFrame (iOS 17+)Follow references/typography-color.md:
Each screen should have ONE element that goes 120% — a custom animation, a unique layout choice, a distinctive color moment. This is what makes the design memorable.
Examples:
Before shipping, run the 5-Dimension Review (see references/design-review.md).
| Mistake | Fix |
| ------------------------------------------ | -------------------------------------------------------- |
| Using UIColor or NSColor | Use Color (SwiftUI native) |
| UIScreen.main.bounds for sizing | Use containerRelativeFrame or geometry-based modifiers |
| Default blue tint everywhere | Define a custom accent color in design tokens |
| No spacing system (random padding values) | Use 8pt grid: 4, 8, 16, 24, 32, 48 |
| Emoji as icons | Use SF Symbols or custom icon assets |
| Purple-blue gradient background | Use solid warm neutrals |
| All content in one giant VStack | Break into semantic sections with clear hierarchy |
| No visual hierarchy (everything same size) | Use 3+ type scales (display, heading, body, caption) |
| Ignoring dark mode | Define semantic colors that adapt to appearance |
| Generic "Welcome!" hero section | Show actual content immediately |
| Topic | Reference File |
| ---------------------------- | ----------------------------------- |
| Anti-AI-Slop Rules (detail) | references/anti-ai-slop.md |
| Layout Patterns & Grids | references/layout-patterns.md |
| Typography & Color Systems | references/typography-color.md |
| 5-Dimension Design Review | references/design-review.md |
| Swift Extensions (required) | references/swift-extensions.md |
| Brand Spec Template | templates/brand-spec.md |
Before considering any SwiftUI design complete, verify:
GeometryReader or UIScreen.main.boundsToolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc. There are 10 pre-set themes with colors/fonts that you can apply to any artifact that has been creating, or can generate a new theme on-the-fly.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.
Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.
Set up Tailwind CSS v4 in Expo with react-native-css and NativeWind v5 for universal styling
Use Expo DOM components to run web code in a webview on native and as-is on web. Migrate web code to native incrementally.
Take wholiver/swiftui-design-skill from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.