Back to Skills

hig-patterns

raintree-technology
Updated 4 days ago
78
9
78
View on GitHub
Metadesigndata

About

This skill provides Apple HIG guidance for common UX patterns and interactions like onboarding, loading states, search, and error handling. Use it when developers ask how to implement specific user flows or solve interaction design problems in Apple apps. It references other HIG skills for foundational principles, platform specifics, and component details.

Quick Install

Claude Code

Recommended
Primary
npx skills add raintree-technology/claude-starter -a claude-code
Plugin CommandAlternative
/plugin add https://github.com/raintree-technology/claude-starter
Git CloneAlternative
git clone https://github.com/raintree-technology/claude-starter.git ~/.claude/skills/hig-patterns

Copy and paste this command in Claude Code to install this skill

Documentation

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

ReferenceTopicKey content
charting-data.mdCharting DataData visualization patterns, accessible charts, interactive elements
collaboration-and-sharing.mdCollaboration & SharingShare sheets, activity views, collaborative editing, SharePlay
drag-and-drop.mdDrag and DropDrag sources, drop targets, spring loading, multi-item drag, visual feedback
entering-data.mdEntering DataText fields, pickers, steppers, input validation, keyboard types, autofill
feedback.mdFeedbackAlerts, action sheets, haptic patterns, sound feedback, visual indicators
file-management.mdFile ManagementDocument browser, file providers, iCloud integration, document lifecycle
going-full-screen.mdGoing Full ScreenFull-screen transitions, immersive content, exiting full screen
launching.mdLaunchingLaunch screens, state restoration, cold vs warm launch
live-viewing-apps.mdLive Viewing AppsLive content display, real-time updates, Live Activities, Dynamic Island
loading.mdLoadingActivity indicators, progress views, skeleton screens, lazy loading, placeholders
managing-accounts.mdManaging AccountsSign in with Apple, passkeys, account creation, credential autofill, account deletion
managing-notifications.mdManaging NotificationsPermission requests, grouping, actionable notifications, provisional delivery
modality.mdModalitySheets, alerts, popovers, full-screen modals, when to use each
multitasking.mdMultitaskingiPad Split View, Slide Over, Stage Manager, responsive layout, size class transitions
offering-help.mdOffering HelpContextual tips, onboarding hints, help menus, support links
onboarding.mdOnboardingWelcome screens, feature highlights, progressive onboarding, skip options
playing-audio.mdPlaying AudioAudio sessions, background audio, Now Playing, audio routing, interruptions
playing-haptics.mdPlaying HapticsCore Haptics, UIFeedbackGenerator, haptic patterns, custom haptics
playing-video.mdPlaying VideoVideo player controls, picture-in-picture, AirPlay, full-screen video
printing.mdPrintingPrint dialogs, page setup, AirPrint integration
ratings-and-reviews.mdRatings & ReviewsSKStoreReviewController, timing, frequency limits, in-app feedback
searching.mdSearchingSearch bars, suggestions, scoped search, results display, recents
settings.mdSettingsIn-app vs Settings app, preference organization, toggles, defaults
undo-and-redo.mdUndo and RedoShake to undo, undo/redo stack, multi-level undo
workouts.mdWorkoutsWorkout sessions, live metrics, Always On display, summaries, HealthKit

Pattern Selection Guide

User GoalRecommended PatternAvoid
First app experienceBrief onboarding (max 3 screens) + progressive disclosureLong tutorials, mandatory sign-up
Waiting for contentSkeleton screens or progress indicatorsBlocking spinners with no context
Confirming destructive actionUndo supportExcessive "Are you sure?" dialogs
Collecting user inputInline validation, smart defaults, autofillModal forms for simple inputs
Requesting permissionsContextual, just-in-time with explanationRequesting all permissions at launch
Providing feedbackHaptics + visual indicatorSilent actions with no confirmation
Organizing preferencesIn-app settings for frequent itemsBurying 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 · More developer tools

GitHub Repository

raintree-technology/claude-starter
Path: templates/.claude/skills/hig-patterns
0
ai-toolsanthropicclaudeclaude-aiclaude-codedeveloper-tools

Related Skills

content-collections

Meta

This skill provides a production-tested setup for Content Collections, a TypeScript-first tool that transforms Markdown/MDX files into type-safe data collections with Zod validation. Use it when building blogs, documentation sites, or content-heavy Vite + React applications to ensure type safety and automatic content validation. It covers everything from Vite plugin configuration and MDX compilation to deployment optimization and schema validation.

View skill

polymarket

Meta

This skill enables developers to build applications with the Polymarket prediction markets platform, including API integration for trading and market data. It also provides real-time data streaming via WebSocket to monitor live trades and market activity. Use it for implementing trading strategies or creating tools that process live market updates.

View skill

creating-opencode-plugins

Meta

This skill helps developers create OpenCode plugins that hook into 25+ event types like commands, files, and LSP operations. It provides the plugin structure, event API specifications, and implementation patterns for JavaScript/TypeScript modules. Use it when you need to intercept, monitor, or extend the OpenCode AI assistant's lifecycle with custom event-driven logic.

View skill

sglang

Meta

SGLang is a high-performance LLM serving framework that specializes in fast, structured generation for JSON, regex, and agentic workflows using its RadixAttention prefix caching. It delivers significantly faster inference, especially for tasks with repeated prefixes, making it ideal for complex, structured outputs and multi-turn conversations. Choose SGLang over alternatives like vLLM when you need constrained decoding or are building applications with extensive prefix sharing.

View skill