Help us improve
Share bugs, ideas, or general feedback.
From minimax-skills
Guides iOS UI implementation with UIKit, SnapKit, SwiftUI covering navigation, layouts, touch targets, safe areas, accessibility, Dark Mode, Dynamic Type, and Apple HIG.
npx claudepluginhub minimax-ai/skills --plugin minimax-skillsHow this skill is triggered — by the user, by Claude, or both
Slash command
/minimax-skills:ios-application-devThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
A practical guide for building iOS applications using UIKit, SnapKit, and SwiftUI. Focuses on proven patterns and Apple platform conventions.
Guides iOS app design and SwiftUI implementation following Human Interface Guidelines, with layouts, navigation patterns, accessibility, and adaptive UI for iPhone/iPad.
Coordinates iOS/SwiftUI workflows with best-practice guides, correctness checklists, topic routing, and Apple API references for building, reviewing, refactoring, and debugging apps.
Develops native iOS applications with Swift/SwiftUI, covering iOS 18, UIKit integration, Core Data, networking, and App Store optimization.
Share bugs, ideas, or general feedback.
A practical guide for building iOS applications using UIKit, SnapKit, and SwiftUI. Focuses on proven patterns and Apple platform conventions.
| Purpose | Component |
|---|---|
| Main sections | UITabBarController |
| Drill-down | UINavigationController |
| Focused task | Sheet presentation |
| Critical choice | UIAlertController |
| Secondary actions | UIContextMenuInteraction |
| List content | UICollectionView + DiffableDataSource |
| Sectioned list | DiffableDataSource + headerMode |
| Grid layout | UICollectionViewCompositionalLayout |
| Search | UISearchController |
| Share | UIActivityViewController |
| Location (once) | CLLocationButton |
| Feedback | UIImpactFeedbackGenerator |
| Linear layout | UIStackView |
| Custom shapes | CAShapeLayer + UIBezierPath |
| Gradients | CAGradientLayer |
| Modern buttons | UIButton.Configuration |
| Dynamic text | UIFontMetrics + preferredFont |
| Dark mode | Semantic colors (.systemBackground, .label) |
| Permissions | Contextual request + AVCaptureDevice |
| Lifecycle | UIApplication notifications |
| Purpose | Component |
|---|---|
| Main sections | TabView + tabItem |
| Drill-down | NavigationStack + NavigationPath |
| Focused task | .sheet + presentationDetents |
| Critical choice | .alert |
| Secondary actions | .contextMenu |
| List content | List + .insetGrouped |
| Search | .searchable |
| Share | ShareLink |
| Location (once) | LocationButton |
| Feedback | UIImpactFeedbackGenerator |
| Progress (known) | ProgressView(value:total:) |
| Progress (unknown) | ProgressView() |
| Dynamic text | .font(.body) semantic styles |
| Dark mode | .primary, .secondary, Color(.systemBackground) |
| Scene lifecycle | @Environment(\.scenePhase) |
| Reduce motion | @Environment(\.accessibilityReduceMotion) |
| Dynamic type | @Environment(\.dynamicTypeSize) |
.ignoresSafeArea() only for backgrounds)preferredFont(forTextStyle:) + adjustsFontForContentSizeCategory = true.headline, .body, .captionUIFontMetrics / Font.custom(_:size:relativeTo:).systemBackground, .label, .primary, .secondary).accessibilityLabel())@Environment(\.accessibilityReduceMotion)).accessibilitySortPriority())@SceneStorage, @State).destructive role| Topic | Reference |
|---|---|
| Touch Targets, Safe Area, CollectionView | Layout System |
| TabBar, NavigationController, Modal | Navigation Patterns |
| StackView, Button, Alert, Search, ContextMenu | UIKit Components |
| CAShapeLayer, CAGradientLayer, Core Animation | Graphics & Animation |
| Dynamic Type, Semantic Colors, VoiceOver | Accessibility |
| Permissions, Location, Share, Lifecycle, Haptics | System Integration |
| Metal Shaders & GPU | Metal Shader Reference |
| SwiftUI HIG, Components, Patterns, Anti-Patterns | SwiftUI Design Guidelines |
| Optionals, Protocols, async/await, ARC, Error Handling | Swift Coding Standards |
Swift, SwiftUI, UIKit, SF Symbols, Metal, and Apple are trademarks of Apple Inc. SnapKit is a trademark of its respective owners.