hig-patterns — Claude Code skill: Apple HIG patterns
A skill with interaction patterns from Apple's Human Interface Guidelines: onboarding, loading, modality, notifications, search. Useful when you design UX for an Apple app.
npx skills add raintree-technology/hig-doctor --skill hig-patterns -a claude-codeWhat hig-patterns does
The skill covers how an interface should behave in common situations: what to show at launch, how to present a wait, when a modal is justified and when it is not. Inside is a set of principles plus a reference index: onboarding, drag and drop, entering data, file management, going full screen, audio and video, haptics, undo and redo, settings, searching, notifications, accounts, printing, ratings and reviews, iPad multitasking, workouts.
There is a pattern selection table. Each user goal maps to a recommended pattern and to what to avoid. For a first app experience it points to brief onboarding and progressive disclosure instead of long tutorials and mandatory sign-up. For a destructive action it points to undo rather than another confirmation dialog. The skill checks .claude/apple-design-context.md first and builds on whatever context is already there, asking only about what is missing.
Output follows a fixed shape: the recommended pattern with rationale and a citation of the relevant reference file, step-by-step implementation across screens and states, then platform variations. The skill cross-references hig-foundations, hig-platforms, hig-components-layout and hig-components-content, so for underlying principles and navigation you install those separately.
What it helps with
- design an onboarding flow that does not block the first screen
- decide between a modal and a regular screen
- show a loading state that is not an empty spinner
- pick the moment to ask for permissions
- make a delete reversible instead of a confirmation dialog
Example prompts for the agent
- how should onboarding work in my app?
- my app takes too long to load — what should I show?
- should I use a modal here?
How to install hig-patterns
1Skills CLI (Vercel)
npx skills add raintree-technology/hig-doctor --skill hig-patterns -a claude-code2Manually: put the files in place
~/.claude/skills/hig-patterns/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/hig-patterns/
1Skills CLI (Vercel)
npx skills add raintree-technology/hig-doctor --skill hig-patterns -a codex2Manually: put the files in place
.agents/skills/hig-patterns/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add raintree-technology/hig-doctor --skill hig-patterns -a cursor2Manually: put the files in place
.cursor/skills/hig-patterns/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install raintree-technology/hig-doctor hig-patterns2Manually: put the files in place
.github/skills/hig-patterns/SKILL.md1Skills CLI (Vercel)
npx skills add raintree-technology/hig-doctor --skill hig-patterns -a gemini-cli2Platform CLI
gemini skills install https://github.com/raintree-technology/hig-doctor --path skills/hig-patternsManually: put the files in place
.devin/skills/hig-patterns/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add raintree-technology/hig-doctor --skill hig-patterns -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about hig-patterns
How do I install hig-patterns in Claude?
Run npx skills add raintree-technology/hig-doctor --skill hig-patterns -a claude-code. The skill lands at ~/.claude/skills/hig-patterns/SKILL.md.
What does hig-patterns do?
It provides interaction patterns from Apple's Human Interface Guidelines: onboarding, loading, modality, notifications, searching, data entry, file management, haptics. For a question it returns the recommended pattern, step-by-step implementation and platform variations.
What does the skill need to work?
It checks .claude/apple-design-context.md and reuses existing context, asking only for what is missing. For underlying principles and navigation you also need the sibling skills hig-foundations, hig-platforms, hig-components-layout and hig-components-content.
Source text
SKILL.md · MIT
--- name: hig-patterns version: 1.0.0 description: >- Apple Human Interface Guidelines interaction and UX patterns. Use this skill when the user asks about "onboarding flow", "user onboarding", "app launch", "loading state", "drag and drop", "search pattern", "settings design", "notifications", "modality", "multitasking", "feedback pattern", "haptics", "undo redo", "file management", data entry, sharing, collaboration, full screen, audio, video, haptic feedback, ratings, printing, help, or account management in Apple apps. Also use when the user says "how should onboarding work", "my app takes too long to load", "should I use a modal here", "how do I handle errors", "when should I ask for permissions", "how to show progress", or "what's the right way to confirm a delete". Cross-references: hig-foundations for underlying principles, hig-platforms for platform specifics, hig-components-layout for navigation, hig-components-content for data display. --- # Apple HIG: Interaction Patterns Check for `.claude/apple-design-context.md` before asking questions. Use existing context and only ask for information not already covered. ## Key Principles 1. **Minimize modality.** Use modality only when it is critical to get attention, a task must be completed or abandoned, or saving changes is essential. Prefer non-modal alternatives. 2. **Provide clear feedback.** Every action should produce visible, audible, or haptic response. Activity indicators for indeterminate waits, progress bars for determinate, haptics for physical confirmation. 3. **Support undo over confirmation dialogs.** Destructive actions should be reversible when possible. Undo is almost always better than "Are you sure?" 4. **Launch quickly.** Display a launch screen that transitions seamlessly into the first screen. No splash screens with logos. Restore previous state. 5. **Defer sign-in.** Let users explore before requiring account creation. Support Sign in with Apple and passkeys. 6. **Keep onboarding brief.** Three screens max. Let users skip. Teach through progressive disclosure and contextual hints. 7. **Use progressive disclosure.** Show essentials first, let users drill into details. Don't overwhelm with every option on one screen. 8. **Respect user attention.** Consolidate notifications, minimize interruptions, give users control over alerts. Never use notifications for marketing. ## Reference Index | Reference | Topic | Key content | |---|---|---| | [charting-data.md](references/charting-data.md) | Charting Data | Data visualization patterns, accessible charts, interactive elements | | [collaboration-and-sharing.md](references/collaboration-and-sharing.md) | Collaboration & Sharing | Share sheets, activity views, collaborative editing, SharePlay | | [drag-and-drop.md](references/drag-and-drop.md) | Drag and Drop | Drag sources, drop targets, spring loading, multi-item drag, visual feedback | | [entering-data.md](references/entering-data.md) | Entering Data | Text fields, pickers, steppers, input validation, keyboard types, autofill | | [feedback.md](references/feedback.md) | Feedback | Alerts, action sheets, haptic patterns, sound feedback, visual indicators | | [file-management.md](references/file-management.md) | File Management | Document browser, file providers, iCloud integration, document lifecycle | | [going-full-screen.md](references/going-full-screen.md) | Going Full Screen | Full-screen transitions, immersive content, exiting full screen | | [launching.md](references/launching.md) | Launching | Launch screens, state restoration, cold vs warm launch | | [live-viewing-apps.md](references/live-viewing-apps.md) | Live Viewing Apps | Live content display, real-time updates, Live Activities, Dynamic Island | | [loading.md](references/loading.md) | Loading | Activity indicators, progress views, skeleton screens, lazy loading, placeholders | | [managing-accounts.md](references/managing-accounts.md) | Managing Accounts | Sign in with Apple, passkeys, account creation, credential autofill, account deletion | | [managing-notifications.md](references/managing-notifications.md) | Managing Notifications | Permission requests, grouping, actionable notifications, provisional delivery | | [modality.md](references/modality.md) | Modality | Sheets, alerts, popovers, full-screen modals, when to use each | | [multitasking.md](references/multitasking.md) | Multitasking | iPad Split View, Slide Over, Stage Manager, responsive layout, size class transitions | | [offering-help.md](references/offering-help.md) | Offering Help | Contextual tips, onboarding hints, help menus, support links | | [onboarding.md](references/onboarding.md) | Onboarding | Welcome screens, feature highlights, progressive onboarding, skip options | | [playing-audio.md](references/playing-audio.md) | Playing Audio | Audio sessions, background audio, Now Playing, audio routing, interruptions | | [playing-haptics.md](references/playing-haptics.md) | Playing Haptics | Core Haptics, UIFeedbackGenerator, haptic patterns, custom haptics | | [playing-video.md](references/playing-video.md) | Playing Video | Video player controls, picture-in-picture, AirPlay, full-screen video | | [printing.md](references/printing.md) | Printing | Print dialogs, page setup, AirPrint integration | | [ratings-and-reviews.md](references/ratings-and-reviews.md) | Ratings & Reviews | SKStoreReviewController, timing, frequency limits, in-app feedback | | [searching.md](references/searching.md) | Searching | Search bars, suggestions, scoped search, results display, recents | | [settings.md](references/settings.md) | Settings | In-app vs Settings app, preference organization, toggles, defaults | | [undo-and-redo.md](references/undo-and-redo.md) | Undo and Redo | Shake to undo, undo/redo stack, multi-level undo | | [workouts.md](references/workouts.md) | Workouts | Workout sessions, live metrics, Always On display, summaries, HealthKit | ## Pattern Selection Guide | User Goal | Recommended Pattern | Avoid | |---|---|---| | First app experience | Brief onboarding (max 3 screens) + progressive disclosure | Long tutorials, mandatory sign-up | | Waiting for content | Skeleton screens or progress indicators | Blocking spinners with no context | | Confirming destructive action | Undo support | Excessive "Are you sure?" dialogs | | Collecting user input | Inline validation, smart defaults, autofill | Modal forms for simple inputs | | Requesting permissions | Contextual, just-in-time with explanation | Requesting all permissions at launch | | Providing feedback | Haptics + visual indicator | Silent actions with no confirmation | | Organizing preferences | In-app settings for frequent items | Burying all settings in system Settings app | ## Output Format 1. **Recommended pattern with rationale**, citing the relevant reference file. 2. **Step-by-step implementation** covering each screen or state. 3. **Platform variations** for targeted platforms. 4. **Common pitfalls** that violate HIG for this pattern. ## Questions to Ask 1. Where in the app does this pattern appear? What comes before and after? 2. Which platforms? 3. Designing from scratch or improving an existing flow? 4. Does this involve sensitive actions? (Destructive operations, payments, permissions) ## Related Skills - **hig-foundations** -- Accessibility, color, typography, and privacy principles underlying every pattern - **hig-platforms** -- Platform-specific pattern implementations - **hig-components-layout** -- Structural components (tab bars, sidebars, split views) for navigation patterns - **hig-components-content** -- Content display within patterns (charts, collections, search results) --- *Built by [Raintree Technology](https://raintree.technology) · [More developer tools](https://raintree.technology)*
© raintree-technology · MIT · raintree-technology/hig-doctor