Skip to main content

ios-application-dev

A Claude Code skill from MiniMax-AI's skills repo for iOS development across UIKit, SnapKit, and SwiftUI — touch targets, safe areas, navigation, Dynamic Type, Dark Mode, accessibility, collection views, and the Apple HIG-compliance checks that catch a deck of UI sins before App Review does.

Build an iOS UI that respects HIG, Dynamic Type, Dark Mode, and accessibility from the first commit

Source MiniMax-AI
License MIT
First documented
Receipts TODO

Trigger phrases

Phrases that activate this skill when typed to Claude Code:

  • build an iOS UI
  • SwiftUI navigation
  • iOS accessibility audit

What it does

ios-application-dev is the iOS skill in MiniMax-AI’s skills repo — a UIKit + SnapKit + SwiftUI development guide that opens with two parallel quick-reference tables. UIKit on the left (UITabBarController, UINavigationController, UICollectionView + DiffableDataSource, UIContextMenuInteraction, CLLocationButton, UIImpactFeedbackGenerator, semantic colors), SwiftUI on the right (TabView, NavigationStack, .sheet + presentationDetents, .searchable, ShareLink, LocationButton, @Environment(\.scenePhase)). Picking the right component for the user’s navigation pattern is the first move; the rest of the skill builds on that pick.

Core principles run through layout (44 pt touch targets, safe areas, 8 pt spacing increments, primary actions in the thumb zone, support iPhone SE through Pro Max), typography (preferredFont(forTextStyle:) + adjustsFontForContentSizeCategory = true for UIKit; semantic styles for SwiftUI; UIFontMetrics / Font.custom(_:size:relativeTo:) for custom fonts), colors (semantic system colors, asset-catalog Dark variants, no color-only information, 4.5:1 contrast), accessibility (icon-button labels, accessibilityReduceMotion respected, logical reading order, Bold Text and Increase Contrast preferences honored), navigation (tab bars stay visible, never override system gestures, never use hamburger menus on iPhone), and privacy (in-context permission requests, custom explanation before system dialog, Sign in with Apple, ATT denial respected).

The closing section is a layout / typography / colors / accessibility / navigation / privacy checklist — the items run as a pre-flight check before any code is considered done.

When to use it

  • Building an iOS app — pure SwiftUI, pure UIKit + SnapKit, or a hybrid where SwiftUI hosts UIKit views
  • Picking between similar components (sheet vs full-screen modal vs navigation push, list vs grid, alert vs context menu) where the HIG nuance matters
  • Dynamic Type / Dark Mode / accessibility audit before App Store submission
  • Implementing system-permission flows (camera, location, notifications, ATT) without burning user trust
  • Designing for the full iPhone size range (SE 375 pt → Pro Max 430 pt) without hardcoded magic numbers

When not to reach for it:

  • macOS, visionOS, or watchOS — the platform HIG diverges enough that this skill’s iPhone-shaped guidance misleads
  • iPad-specific (Stage Manager, multi-column layouts, pencil + keyboard)— the skill is iPhone-first; iPad needs separate guidance
  • React Native or Flutter on iOS — react-native-dev and flutter-dev are the right skills
  • Game UI built on Metal / SpriteKit / SceneKit — the skill is UIKit/SwiftUI-shaped

Install

From MiniMax-AI/skills at skills/ios-application-dev/. Drop into ~/.claude/skills/ios-application-dev/. Plugin marketplace install: claude plugin marketplace add https://github.com/MiniMax-AI/skills then claude plugin install minimax-skills (pulls the whole MiniMax bundle).

The toolchain expectations live outside the skill: Xcode 15+, Swift 5.9+, iOS 17 SDK as a baseline. SnapKit ships as the constraint DSL of choice in the UIKit examples; pure NSLayoutAnchor is acceptable as a substitute.

What a session looks like

  1. Component pick. Skill consults the UIKit / SwiftUI quick-reference tables and chooses the right component for the navigation pattern (e.g. TabView + NavigationStack for a multi-section drill-down, .sheet + presentationDetents for a focused subtask).
  2. Layout pass. 44 pt touch targets, content within safe areas (or .ignoresSafeArea() only for backgrounds), 8 pt grid spacing, primary actions in the thumb zone, flexible widths from SE to Pro Max.
  3. Typography pass. Semantic text styles (.body, .headline, .caption) or UIFontMetrics-scaled custom fonts so Dynamic Type works. Layout reflows at accessibility sizes — no truncation.
  4. Colors pass. Semantic system colors (.systemBackground, .label, .primary, .secondary) so Dark Mode works automatically. Custom colors land in the asset catalog with Any/Dark Appearance variants. No color-only information.
  5. Accessibility pass. .accessibilityLabel() on icon buttons, @Environment(\.accessibilityReduceMotion) respected, logical reading order, support Bold Text and Increase Contrast.
  6. Navigation pass. Tab bar stays visible during navigation, system back-swipe never overridden, state preserved across tabs (@SceneStorage, @State).
  7. Privacy pass. Permissions requested in-context (not at launch), with a custom explanation before the system dialog. Sign in with Apple offered alongside other auth. ATT denial respected.
  8. Checklist runtime. Skill’s per-section checklist runs as a pre-flight before declaring the screen done.

The discipline that makes it work: the parallel quick-reference table forces a deliberate component pick, and the per-section checklist makes it hard for the agent to declare something “shipped” while skipping the Dynamic Type / Dark Mode / accessibility pass.

Receipts

TODO — to be filled in from a real session. Once the skill has been pointed at a real iOS project, this section will capture: which UIKit-vs-SwiftUI pick the skill made for the navigation pattern, whether the Dynamic Type pass actually held up at the largest accessibility size (most common failure mode: hardcoded .frame(width:) that truncates), and whether the in-context permission flow shipped without an out-of-context system dialog at launch.

Source and attribution

From MiniMax-AI’s skills repository, an MIT-licensed skill collection. The skill cites Apple’s Human Interface Guidelines and Apple Developer Documentation as its sources.

License: MIT.

The wedge over a generic “iOS dev” agent: parallel UIKit + SwiftUI quick-reference tables instead of picking a side, plus the explicit pre-flight checklist that catches HIG-compliance issues before App Review does. The “no hamburger menus on iPhone” rule, the “primary actions in thumb zone” rule, and the “permissions in-context with custom explanation” rule are the patterns that separate apps approved on the first review pass from the ones that bounce.