About ios-hig
A practical Apple Human Interface Guidelines reference for developers building iOS apps with SwiftUI. It organizes 34 rules across six areas and assumes a modular MVVM-C architecture.
Key features
- 01Guidance across six HIG categories
- 02Navigation and interaction recommendations
- 03Accessibility and feedback guidance
- 04UX patterns and visual design rules
- 05Modular MVVM-C architecture contract
Use cases
- 01Designing tab bars and hierarchical navigation
- 02Reviewing VoiceOver and Dynamic Type support
- 03Planning loading, error, and empty states
- 04Checking iOS apps for HIG compliance
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ pproenca/ dot-skills --skill ios-higAfter installing, type/ios-higin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
metadata.jsonassets/templates/_template.mdreferences/_sections.mdacc-color-contrast.mdacc-color-independent.mdacc-dynamic-type.mdacc-focus-management.mdacc-labels.mdacc-reduce-motion.mdacc-scaled-metric.mdacc-view-that-fits.mdfeed-empty-states.mdfeed-error-states.mdfeed-loading-states.mdfeed-notifications.mdfeed-success-confirmation.mdinter-drag-drop.mdinter-gesture-patterns.mdinter-haptic-feedback.mdinter-keyboard-handling.mdinter-list-search.mdinter-pull-to-refresh.mdinter-swipe-actions.mdinter-touch-targets.mdnav-navigation-stack.mdnav-tab-bar.mdnav-toolbar-placement.mdux-confirmation-dialog.mdux-data-entry.mdux-modality.mdDetails
From the project READMEApple 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+DesignSystemonly (neverData, never sibling features) - App target is the convergence point and owns
DependencyContainer, concrete coordinators, and Route Shell wiring Domainstays pure Swift and defines models plus repository,*Coordinating,ErrorRouting, andAppErrorcontractsDataowns SwiftData/network/sync/retry/background I/O and implements Domain protocols- 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 | nav- |
| 2 | Interaction Design | CRITICAL | inter- |
| 3 | Accessibility | CRITICAL | acc- |
| 4 | User Feedback | HIGH | feed- |
| 5 | UX Patterns | HIGH | ux- |
| 6 | Visual Design | HIGH | vis- |
Quick Reference
1. Navigation (CRITICAL)
nav-tab-bar- Design tab bars for top-level navigationnav-navigation-stack- Use NavigationStack for hierarchical navigationnav-toolbar-placement- Place actions in toolbars using standard placements
2. Interaction Design (CRITICAL)
inter-touch-targets- Maintain 44pt minimum touch targetsinter-gesture-patterns- Use standard gesture patternsinter-haptic-feedback- Add haptic feedback for meaningful eventsinter-keyboard-handling- Handle keyboard appearance gracefullyinter-drag-drop- Support drag and drop for content transferinter-pull-to-refresh- Support pull to refresh for listsinter-swipe-actions- Add swipe actions for contextual operationsinter-list-search- Use searchable for built-in search
3. Accessibility (CRITICAL)
acc-labels- Provide meaningful accessibility labelsacc-dynamic-type- Support Dynamic Type for all textacc-color-contrast- Maintain sufficient color contrastacc-reduce-motion- Respect reduce motion preferenceacc-color-independent- Never rely on color aloneacc-focus-management- Manage focus for assistive technologiesacc-scaled-metric- Use ScaledMetric for adaptive sizingacc-view-that-fits- Use ViewThatFits for adaptive layouts
4. User Feedback (HIGH)
feed-loading-states- Show appropriate loading indicatorsfeed-error-states- Handle errors with clear recovery actionsfeed-notifications- Use notifications judiciouslyfeed-success-confirmation- Confirm successful actions appropriatelyfeed-empty-states- Design helpful empty states
5. UX Patterns (HIGH)
ux-onboarding- Design minimal onboardingux-permissions- Request permissions in contextux-modality- Use modality appropriatelyux-confirmation-dialog- Use confirmation dialogs for destructive actionsux-data-entry- Minimize data entry frictionux-undo- Support undo for destructive actionsux-settings- Organize settings logically
6. Visual Design (HIGH)
vis-dark-mode- Support dark mode with semantic colorsvis-sf-symbols- Use SF Symbols with correct rendering mode and weightvis-layout-margins- Use standard layout margins and safe areas
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 |