ehmo/platform-design-skills/ipados
Claude Code and agent skill by ehmo/platform-design-skills
- community
Checking that the SKILL.md file is still in the repository.
Apple Human Interface Guidelines for iPad. Use when building iPad-optimized interfaces, implementing multitasking, pointer support, keyboard shortcuts, or responsive layouts. Triggers on tasks involving iPad, Split View, Stage Manager, sidebar navigation, or trackpad support.
Install
npx vskill@latest install ehmo/platform-design-skills/ipadosSKILL.md
iPadOS Design Guidelines
Comprehensive rules for building iPad-native apps following Apple's Human Interface Guidelines. iPad is not a big iPhone -- it demands adaptive layouts, multitasking support, pointer interactions, keyboard shortcuts, and inter-app drag and drop. These rules extend iOS patterns for the larger, more capable canvas.
1. Responsive Layout (CRITICAL)
1.1 Use Adaptive Size Classes
iPad presents two horizontal size classes: regular (full screen, large splits) and compact (Slide Over, narrow splits). Design for both. Never hardcode dimensions.
1.2 Don't Scale Up iPhone UI
iPad layouts must be purpose-built. Stretching an iPhone layout across a 13" display wastes space and feels wrong. Use multi-column layouts, master-detail patterns, and increased information density in regular width.
1.3 Support All iPad Screen Sizes
Design for the full range: iPad Mini (8.3"), iPad (11"), iPad Air (11"/13"), and iPad Pro (11"/13"). Use flexible layouts that redistribute content rather than simply scaling.
1.4 Column-Based Layouts for Regular Width
In regular width, organize content into columns. Two-column is the most common (sidebar + detail). Three-column works for deep hierarchies (sidebar + list + detail). Avoid single-column full-width layouts on large screens.
1.5 Respect Safe Areas
iPad safe areas differ from iPhone. Older iPads have no home indicator. iPads in landscape have different insets than portrait. Always use safeAreaInset and never hardcode padding for notches or indicators.
1.6 Support Both Orientations
iPad apps must work well in both portrait and landscape. Landscape is the dominant orientation for productivity. Portrait is common for reading. Adapt column counts and layout density to orientation.
2. Multitasking (CRITICAL)
2.1 Support Split View
Your app must function correctly at 1/3, 1/2, and 2/3 screen widths in Split View. At 1/3 width, your app receives compact horizontal size class. Content must remain usable at every split ratio.
2.2 Support Slide Over
Slide Over presents your app as a compact-width overlay on the right edge. It behaves like an iPhone-width app. Ensure all functionality remains accessible in this narrow mode.
2.3 Handle Stage Manager
Stage Manager allows freely resizable windows and multiple windows simultaneously. Your app must:
- Resize fluidly to arbitrary dimensions
- Support multiple scenes (windows) showing different content
- Not assume any fixed size or aspect ratio
2.4 Never Assume Full Screen
The app may launch directly into Split View or Stage Manager. Do not depend on full-screen dimensions during setup, onboarding, or any flow. Test your app at every possible size.
2.5 Handle Size Transitions Gracefully
When the user resizes via multitasking, animate layout changes smoothly. Preserve scroll position, selection state, and user context across size transitions. Never reload content on resize.
2.6 Support Multiple Scenes
Use UIScene / SwiftUI WindowGroup to let users open multiple instances of your app showing different content. Each scene is independent. Support NSUserActivity for state restoration.
3. Navigation (CRITICAL)
3.1 Sidebar for Primary Navigation
In regular width, replace the iPhone tab bar with a sidebar. The sidebar provides more room for navigation items, supports sections, and feels native on iPad.
3.2 Automatic Tab-to-Sidebar Conversion
SwiftUI TabView with .sidebarAdaptable style automatically converts to a sidebar in regular width. Use this for seamless iPhone-to-iPad adaptation.
3.3 Three-Column Layout for Complex Hierarchies
Use NavigationSplitView with three columns when your information architecture has three levels: category > list > detail. Examples: mail (accounts > messages > message), file managers, settings.
3.4 Toolbar at Top
On iPad, toolbars live at the top of the screen in the navigation bar area, not at the bottom like iPhone. Place contextual actions in .toolbar with appropriate placement.
3.5 Detail View Should Never Be Empty
When no item is selected in a list/sidebar, show a meaningful empty state in the detail area. Use a placeholder with icon and instruction text, not a blank screen.
3.6 Reduce Recall in Large-Canvas Navigation
Keep sidebar selection, search terms, and disclosure state visible and preserved across size changes and scene switches. In multi-column layouts, users should resume from structure on screen, not from memory.
4. Pointer & Trackpad (HIGH)
4.1 Add Hover Effects to Interactive Elements
All tappable elements should respond to pointer hover. The system provides automatic hover effects for standard controls. For custom views, use .hoverEffect().
4.2 Pointer Magnetism on Buttons
The pointer should snap to (be attracted toward) button bounds. Standard UIKit/SwiftUI buttons get this automatically. For custom hit targets, ensure the pointer region matches the tappable area using .contentShape().
4.3 Support Right-Click Context Menus
Right-click (secondary click) should present context menus. Use .contextMenu which automatically supports both long-press (touch) and right-click (pointer).
4.4 Trackpad Scroll Behaviors
Support two-finger scrolling with momentum. Pinch to zoom where appropriate. Respect scroll direction preferences. For custom scroll views, ensure trackpad gestures feel natural alongside touch gestures.
4.5 Customize Cursor for Content Areas
Change cursor appearance based on context. Text areas show I-beam. Links show pointer hand. Resize handles show resize cursors. Draggable items show grab cursor.
4.6 Pointer-Driven Drag and Drop
Pointer users expect click-and-drag for rearranging, selecting, and moving content. Combine with multi-select via Shift-click and Cmd-click.
5. Keyboard (HIGH)
5.1 Cmd+Key Shortcuts for All Major Actions
Every primary action must have a keyboard shortcut. Standard shortcuts are mandatory:
| Shortcut | Action | |
|---|---|---|
| Cmd+N | New item | |
| Cmd+F | Find/Search | |
| Cmd+S | Save | |
| Cmd+Z | Undo | |
| Cmd+Shift+Z | Redo | |
| Cmd+C/V/X | Copy/Paste/Cut | |
| Cmd+A | Select all | |
| Cmd+P | ||
| Cmd+W | Close window/tab | |
| Cmd+, | Settings/Preferences | |
| Delete | Delete selected item |
5.2 Discoverability via Cmd-Hold Overlay
When the user holds the Cmd key, iPadOS shows a shortcut overlay. Register all shortcuts using .keyboardShortcut() so they appear in this overlay. Group related shortcuts logically.
5.3 Tab Key Navigation Between Fields
Support Tab to move forward and Shift+Tab to move backward between form fields and focusable elements. Use .focusable() and @FocusState to manage keyboard focus order.
5.4 Never Override System Shortcuts
Do not claim shortcuts reserved by the system: Cmd+H (Home), Cmd+Tab (App Switcher), Cmd+Space (Spotlight), Globe key combinations. These will not work and create confusion.
5.5 Detect Hardware Keyboard
Adapt UI when a hardware keyboard is connected. Hide the on-screen keyboard shortcut bar. Show keyboard-optimized controls. Use GCKeyboard or track keyboard visibility to detect state.
5.6 Arrow Key Navigation
Support arrow keys for navigating lists, grids, and collections. Combine with Shift for multi-selection. This is essential for productivity-focused apps.
5.7 Shortcuts Must Be Discoverable
Do not rely on users memorizing shortcut vocabularies. Expose commands through the Cmd-hold overlay, menu labels, and visible focus movement so people learn shortcuts by recognition and repetition.
6. Apple Pencil (MEDIUM)
6.1 Support Scribble
iPadOS converts handwriting to text in any standard text field automatically. Do not disable Scribble. For custom text input, adopt UIScribbleInteraction. Test that Scribble works in all text entry points.
6.2 Double-Tap Tool Switching
Apple Pencil 2 and later supports double-tap to switch tools (e.g., pen to eraser). If your app has drawing tools, implement the UIPencilInteraction delegate to handle double-tap.
6.3 Pressure and Tilt for Drawing
For drawing apps, respond to force (pressure) and altitudeAngle/azimuthAngle (tilt) from pencil touch events. Use these for variable line width, opacity, or shading.
6.4 Hover Detection (M2+ Pencil)
Apple Pencil with hover (M2 iPad Pro and later) provides position data before the pencil touches the screen. Use this for preview effects, tool size indicators, and enhanced precision.
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/ipados/SKILL.md
Popularity
- Repository stars
- 349
- Repository forks
- 21
- 7-day trend score
- 29
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 27 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/ehmo/platform-design-skills/ipados)