install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/pproenca/dot-skills/ios-hig" ~/.claude/skills/comeonoliver-skillshub-ios-hig && rm -rf "$T"
manifest:
skills/pproenca/dot-skills/ios-hig/SKILL.mdsource content
Apple iOS HIG Best Practices
Comprehensive guide for Apple Human Interface Guidelines compliance in iOS apps built with SwiftUI. Contains 34 rules across 6 categories covering navigation, interaction design, accessibility, user feedback, UX patterns, and visual design.
Clinic Architecture Contract (iOS 26 / Swift 6.2)
All guidance in this skill assumes the clinic modular MVVM-C architecture:
- Feature modules import
+Domain
only (neverDesignSystem
, never sibling features)Data - App target is the convergence point and owns
, concrete coordinators, and Route Shell wiringDependencyContainer
stays pure Swift and defines models plus repository,Domain
,*Coordinating
, andErrorRouting
contractsAppError
owns SwiftData/network/sync/retry/background I/O and implements Domain protocolsData- Read/write flow defaults to stale-while-revalidate reads and optimistic queued writes
- ViewModels call repository protocols directly (no default use-case/interactor layer)
When to Apply
Reference these guidelines when:
- Building navigation hierarchies with tab bars, NavigationStack, or split views
- Designing touch interactions, gestures, and haptic feedback
- Ensuring accessibility with VoiceOver, Dynamic Type, and color contrast
- Implementing loading states, error handling, and empty states
- Building onboarding flows, permission requests, and confirmation dialogs
- Supporting dark mode, SF Symbols, and standard layout margins
- Reviewing apps for HIG compliance
Rule Categories by Priority
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Navigation | CRITICAL | |
| 2 | Interaction Design | CRITICAL | |
| 3 | Accessibility | CRITICAL | |
| 4 | User Feedback | HIGH | |
| 5 | UX Patterns | HIGH | |
| 6 | Visual Design | HIGH | |
Quick Reference
1. Navigation (CRITICAL)
- Design tab bars for top-level navigationnav-tab-bar
- Use NavigationStack for hierarchical navigationnav-navigation-stack
- Place actions in toolbars using standard placementsnav-toolbar-placement
2. Interaction Design (CRITICAL)
- Maintain 44pt minimum touch targetsinter-touch-targets
- Use standard gesture patternsinter-gesture-patterns
- Add haptic feedback for meaningful eventsinter-haptic-feedback
- Handle keyboard appearance gracefullyinter-keyboard-handling
- Support drag and drop for content transferinter-drag-drop
- Support pull to refresh for listsinter-pull-to-refresh
- Add swipe actions for contextual operationsinter-swipe-actions
- Use searchable for built-in searchinter-list-search
3. Accessibility (CRITICAL)
- Provide meaningful accessibility labelsacc-labels
- Support Dynamic Type for all textacc-dynamic-type
- Maintain sufficient color contrastacc-color-contrast
- Respect reduce motion preferenceacc-reduce-motion
- Never rely on color aloneacc-color-independent
- Manage focus for assistive technologiesacc-focus-management
- Use ScaledMetric for adaptive sizingacc-scaled-metric
- Use ViewThatFits for adaptive layoutsacc-view-that-fits
4. User Feedback (HIGH)
- Show appropriate loading indicatorsfeed-loading-states
- Handle errors with clear recovery actionsfeed-error-states
- Use notifications judiciouslyfeed-notifications
- Confirm successful actions appropriatelyfeed-success-confirmation
- Design helpful empty statesfeed-empty-states
5. UX Patterns (HIGH)
- Design minimal onboardingux-onboarding
- Request permissions in contextux-permissions
- Use modality appropriatelyux-modality
- Use confirmation dialogs for destructive actionsux-confirmation-dialog
- Minimize data entry frictionux-data-entry
- Support undo for destructive actionsux-undo
- Organize settings logicallyux-settings
6. Visual Design (HIGH)
- Support dark mode with semantic colorsvis-dark-mode
- Use SF Symbols with correct rendering mode and weightvis-sf-symbols
- Use standard layout margins and safe areasvis-layout-margins
How to Use
Read individual reference files for detailed explanations and code examples:
- Section definitions - Category structure and impact levels
- Rule template - Template for adding new rules
Reference Files
| File | Description |
|---|---|
| references/_sections.md | Category definitions and ordering |
| assets/templates/_template.md | Template for new rules |