
macos-app-design
Use when designing or building native macOS applications with SwiftUI or AppKit. Triggers on menu bar structure, keyboard shortcuts, multi-window behavior, Liquid Glass design system, macOS Tahoe/Sequoia, sidebar navigation, toolbar design, app icons, SF Symbols, or making an app feel like a "good Mac citizen."
Use when designing or building native macOS applications with SwiftUI or AppKit. Triggers on menu bar structure, keyboard shortcuts, multi-window behavior, Liquid Glass design system, macOS Tahoe/Sequoia, sidebar navigation, toolbar design, app icons, SF Symbols, or making an app feel like a "good Mac citizen."
macOS App Design & Development
Guide for designing and implementing native-feeling, "good Mac citizen" apps: fast, elegant, accessible, and deeply integrated with macOS workflows.
Two Rules That Beat Everything Else
- Prefer system components and conventions over bespoke UI—fastest path to "feels right on Mac"
- If you customize bars, backgrounds, borders, or control chrome: stop and justify it
Quick Reference: Mac Citizen Checklist
| Area | Requirement |
|---|---|
| Menu Bar | Standard layout (App/File/Edit/View/Window/Help), ⌘, for Settings |
| Keyboard | Every primary command reachable via keyboard, standard shortcuts work |
| Windows | Resize fluidly, support multiple windows, respect fullscreen/minimize |
| Sidebars | Top-level navigation, scannable items, content extends behind |
| Toolbars | Group by function/frequency, demote secondary to "more" menu |
| Text | Use system text components, standard editing behaviors |
| Accessibility | VoiceOver labels, full keyboard navigation, Reduced Motion support |
Liquid Glass Quick Rules
Do:
- Use for navigation/controls layer (toolbars, sidebars, bars)
- Let system components provide built-in behaviors
Don't:
- Apply to content layer (tables, lists, document content)
- Stack "glass on glass"
App Archetypes
Identify your app type first:
- Document-based: Files as primary units (open/save/duplicate)
- Library + editor: Sidebar lists items, detail in main area
- Utility: Single window, optional menu bar
- Menu-bar app: Lives in menu bar, minimal UI
- Pro tool: Dense, power-user workflows
Deliverables Before Building
- App archetype identified
- Information architecture (sidebar structure, navigation, window model)
- Command map (menus + keyboard shortcuts for every major feature)
- State + data model (persistence, undo/redo, concurrency)
- Accessibility plan (VoiceOver, keyboard, contrast, reduce motion)
Full Reference
For complete design system details, Icon Composer workflow, SF Symbols guidance, evaluation rubrics, and Definition of Done checklist:
See: references/macos-design-guide.md
Common Mistakes
| Mistake | Fix |
|---|---|
| Missing menu bar commands | Every feature in menus with keyboard shortcuts |
| Settings outside App menu | Always ⌘, opening from App menu |
| Custom text components | Use system text for Mac editing ecosystem |
| Toolbar overload | Demote secondary actions, group by function |
| Glass on content | Reserve Liquid Glass for navigation layer only |
| Breaking standard shortcuts | Never override ⌘C, ⌘V, ⌘Z, etc. |
| Single-window only | Support multiple windows when it benefits workflows |
You Might Also Like
Related Skills

verify
Use when you want to validate changes before committing, or when you need to check all React contribution requirements.
facebook
test
Use when you need to run tests for React core. Supports source, www, stable, and experimental channels.
facebook
feature-flags
Use when feature flag tests fail, flags need updating, understanding @gate pragmas, debugging channel-specific test failures, or adding new flags to React.
facebook
extract-errors
Use when adding new error messages to React, or seeing "unknown error code" warnings.
facebook