hig-platforms
About
This skill provides Apple's platform-specific Human Interface Guidelines for designing across iOS, iPadOS, macOS, tvOS, visionOS, and watchOS. Use it for questions about adapting apps for different Apple platforms, their unique conventions, input methods, or creating universal designs. It cross-references other HIG skills for foundations, patterns, and components.
Quick Install
Claude Code
Recommendednpx skills add raintree-technology/claude-starter -a claude-code/plugin add https://github.com/raintree-technology/claude-startergit clone https://github.com/raintree-technology/claude-starter.git ~/.claude/skills/hig-platformsCopy and paste this command in Claude Code to install this skill
Documentation
Apple HIG: Platform Design
Check for .claude/apple-design-context.md before asking questions. Use existing context and only ask for information not already covered.
Key Principles
-
Each platform has a distinct identity. Do not port designs between platforms. Respect each platform's conventions, interaction models, and user expectations.
-
iOS: touch-first. Direct manipulation on a handheld screen. Optimize for one-handed use. Navigation uses tab bars and push/pop stacks.
-
iPadOS: expanded canvas. Support Split View, Slide Over, and Stage Manager. Use sidebars and multi-column layouts. Support pointer and keyboard alongside touch.
-
macOS: pointer and keyboard. Dense information display is acceptable. Use menu bars, toolbars, and keyboard shortcuts extensively. Windows are resizable with precise control.
-
tvOS: remote and focus. Viewed from a distance. Design for the Siri Remote with focus-based navigation. Large text, simple layouts, linear navigation.
-
visionOS: spatial interaction. 3D environment using windows, volumes, and spaces. Eye tracking for targeting, indirect gestures for interaction. Respect ergonomic comfort zones.
-
watchOS: glanceable and brief. Information consumable at a glance. Brief interactions. Digital Crown, haptics, and complications for timely content.
-
Games: own paradigm. Free to define in-game interaction models, but still respect platform conventions for system interactions (notifications, accessibility, controllers).
Reference Index
| Reference | Topic | Key content |
|---|---|---|
| designing-for-ios.md | iOS | Touch, tab bars, navigation stacks, gestures, screen sizes, safe areas |
| designing-for-ipados.md | iPadOS | Multitasking, sidebars, pointer, keyboard, Apple Pencil, Stage Manager |
| designing-for-macos.md | macOS | Menu bars, toolbars, window management, keyboard shortcuts, dense layouts, Dock |
| designing-for-tvos.md | tvOS | Focus engine, Siri Remote, lean-back experience, content-forward, parallax |
| designing-for-visionos.md | visionOS | Spatial computing, windows/volumes/spaces, eye tracking, hand gestures, depth |
| designing-for-watchos.md | watchOS | Glanceable UI, Digital Crown, complications, notifications, haptics |
| designing-for-games.md | Games | Controllers, immersive experiences, platform-specific conventions, accessibility |
Decision Framework
-
Identify the primary use context. On the go (iOS/watchOS), at a desk (macOS), on the couch (tvOS), spatial environment (visionOS)?
-
Match input to interaction. Touch for direct manipulation, pointer for precision, gaze+gesture for spatial, Digital Crown for quick scrolling, remote for focus navigation.
-
Adapt, don't replicate. A macOS sidebar becomes a tab bar on iPhone. A visionOS volume has no equivalent on watchOS. Translate intent, not implementation.
-
Leverage platform strengths. Live Activities on iOS, Desktop Widgets on macOS, complications on watchOS, immersive spaces on visionOS.
-
Maintain brand consistency while respecting each platform's visual language and interaction patterns.
Output Format
- Platform-specific recommendations citing relevant HIG sections.
- Platform differences table comparing navigation, input, layout, and conventions.
- Implementation notes per platform including recommended APIs and adaptation strategies.
Questions to Ask
- Which platforms are you targeting?
- New app or adapting an existing one? If existing, which platform is the base?
- SwiftUI or UIKit/AppKit?
- Need to support older OS versions?
- Primary use context? (On the go, desk, couch, spatial, glanceable?)
Related Skills
- hig-foundations -- Shared principles (color, typography, accessibility, layout) across platforms
- hig-patterns -- Interaction patterns that manifest differently per platform
- hig-components-layout -- Navigation structures (tab bars, sidebars, split views) that vary by platform
- hig-components-content -- Content display that adapts across platforms
Built by Raintree Technology · More developer tools
GitHub Repository
Related Skills
content-collections
MetaThis 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.
polymarket
MetaThis 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.
creating-opencode-plugins
MetaThis 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.
sglang
MetaSGLang 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.
