skills/system/ios-design/SKILL.md
Design and implement SwiftUI interfaces for <YOUR_APP> iOS app with design system compliance, Apple HIG principles, and visual references. Triggers when creating UI components, screens, or discussing iOS design. Gathers design library preferences, screenshot references, and requirements before implementation.
npx skillsauth add bzellman/earp-kit ios-designInstall 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 production-grade SwiftUI interfaces that leverage the <YOUR_APP> design system while following Apple Human Interface Guidelines. This skill guides you through a structured design process before generating code.
This skill activates when you:
When this skill activates, Claude will guide you through these steps:
Claude asks: "Which design libraries should I reference for this design?"
Available Options:
You can select multiple options (e.g., "1, 2" for <YOUR_APP> DS + Apple HIG).
Claude asks: "Do you have any screenshot references or inspiration images?"
If yes:
Based on your request, Claude may ask about:
After gathering context, Claude enters Plan Mode to:
Output: A design plan document with SwiftUI view structure for your approval.
Upon plan approval, Claude generates:
Location: @<YOUR_APP>/<YOUR_APP>/Shared/UI/DesignSystem/<YOUR_APP>DesignSystem.swift
Usage Pattern:
import SwiftUI
struct MyView: View {
var body: some View {
VStack(spacing: <YOUR_DS>.Spacing.md) {
Text("Title")
.font(<YOUR_DS>.Typography.headline)
.foregroundColor(<YOUR_DS>.Colors.fontMain)
Text("Body text")
.font(<YOUR_DS>.Typography.body)
.foregroundColor(<YOUR_DS>.Colors.fontMain)
}
.padding(<YOUR_DS>.Spacing.lg)
.background(<YOUR_DS>.Colors.backgroundMain)
.cornerRadius(<YOUR_DS>.CornerRadius.md)
}
}
Available Tokens:
| Category | Access | Examples |
|----------|--------|----------|
| Colors | <YOUR_DS>.Colors.* | .primary, .fontMain, .backgroundMain, .accent |
| Typography | <YOUR_DS>.Typography.* | .headline, .body, .caption, .title |
| Spacing | <YOUR_DS>.Spacing.* | .xs (4), .sm (8), .md (16), .lg (24), .xl (32) |
| Corner Radius | <YOUR_DS>.CornerRadius.* | .sm (8), .md (12), .lg (16) |
| Shadows | <YOUR_DS>.Shadow.* | .small, .medium, .large |
| Gradients | <YOUR_DS>.Gradients.* | .purpleToBlue, .avatar, .glassMorphism |
| Button Styles | <YOUR_DS>.ButtonStyles.* | .primary(), .filter(), .selectable() |
Key Principles to Follow:
Platform Patterns:
Accessibility Requirements:
.font() not hardcoded sizes)Location: @<YOUR_APP>/<YOUR_APP>/Shared/UI/ViewComponents/
Reusable Components:
UnifiedMemoryRowView - List row with image, title, metadataPhotoCarouselViewer - Horizontal image galleryUserProfilePicture - Avatar with gradient fallbackCustomProgressView - Branded loading indicator<YOUR_APP>AlertView - Standardized alert presentationCardSectionModifier - Card-style section wrapperFABContentContainer - Floating action button containerCards:
.background(<YOUR_DS>.Colors.listRowBackground)
.cornerRadius(<YOUR_DS>.CornerRadius.md)
.shadow(
color: <YOUR_DS>.Shadow.small.color,
radius: <YOUR_DS>.Shadow.small.radius,
y: <YOUR_DS>.Shadow.small.y
)
Primary Buttons:
Button("Action") { }
.font(<YOUR_DS>.Typography.headline)
.foregroundColor(<YOUR_DS>.Colors.fontLight)
.padding(.horizontal, <YOUR_DS>.Spacing.lg)
.padding(.vertical, <YOUR_DS>.Spacing.sm)
.background(<YOUR_DS>.Colors.primary)
.cornerRadius(<YOUR_DS>.CornerRadius.lg)
Section Headers:
Text("Section Title")
.font(<YOUR_DS>.Typography.subheadline)
.foregroundColor(<YOUR_DS>.Colors.fontMain.opacity(0.6))
.textCase(.uppercase)
User: "I need a profile settings screen"
Claude (Step 1): "Which design libraries should I reference?
User: "1, 2"
Claude (Step 2): "Do you have any screenshot references or inspiration?"
User: drops screenshot "I like the grouped sections in this Settings app screenshot"
Claude (Step 3): "A few questions:
User: "Yes to avatar, need Account and Notifications sections, simple toggle animations"
Claude (Step 4): Enters Plan Mode, creates design document
Claude (Step 5): Generates SwiftUI implementation upon approval
When generating designs, Claude will reference:
Before delivering any design, verify:
<YOUR_DS>.* tokens (no hardcoded colors/sizes).spring() or .easeInOutdevops
Use when running 2+ /prd-to-pr or /bug-to-pr pipelines simultaneously, when user says "run these in parallel", "batch these PRDs/bugs", "orchestrate these workflows", or has multiple work items to ship end-to-end concurrently
business
Generate a report about a video
development
Use when the user provides multiple loosely-described items (bugs, features, ideas, fixes) in a single message and wants each researched against the codebase, classified, and turned into a GitHub issue. Handles batch input of mixed-type work items.
development
Comprehensive software architecture skill for designing scalable, maintainable systems across web, mobile, and backend stacks (React, Next.js, Node/Express, React Native, Swift, Kotlin, Flutter, Postgres, GraphQL, Go, Python). Use when designing system architecture, making technical decisions, creating architecture diagrams, evaluating trade-offs, or defining integration patterns.