ehmo avatar

Macos Design Guidelines

If you're building a Mac app and keep second-guessing menu structure or window behavior, this codifies Apple's HIG into enforceable rules with SwiftUI and AppKit examples. It's opinionated about the non-negotiables: every app needs a proper menu bar with keyboard shortcuts, windows must be resizable and remember their state, and those traffic light buttons stay in the top left corner. The code snippets show both frameworks side by side, from CommandGroup setup to NSWindow configuration. Useful when you're porting from iOS or just want to avoid the awkward first-time Mac app mistakes that make power users immediately uninstall.

skills.sh installs
4.5K
GitHub stars
639
last updated
Aug 21, 2026

Install

$ npx -y skills add ehmo/platform-design-skills --skill macos-design-guidelines --agent claude-code

Installs into .claude/skills of the current project.

Files

macOS Human Interface Guidelines

Mac apps serve power users who expect deep keyboard control, persistent menu bars, resizable multi-window layouts, and tight system integration. These guidelines codify Apple's HIG into actionable rules with SwiftUI and AppKit examples.


1. Menu Bar (CRITICAL)

Every Mac app must have a menu bar. It is the primary discovery mechanism for commands. Users who cannot find a feature will look in the menu bar before anywhere else.

Rule 1.1 — Provide Standard Menus

Every app must include at minimum: App, File, Edit, View, Window, Help. Omit File only if the app is not document-based. Add app-specific menus between Edit and View or between View and Window.

Sponsors

Details

Repository
github.com/ehmo/platform-design-skills
Categories
Mobile Development, Design & UI/UX

More from ehmo/platform-design-skills

All 8
1jezweb avatarfavicon-genjezweb/claude-skillsGenerate custom favicons from logos, text, or brand colours. Produces favicon.svg, favicon.ico, apple-touch-icon.png, icon-192/512.png, and web manifest. Use wh2.3Kskills.sh installs
2p4nda0s avatarrev-fridap4nda0s/reverse-skillsGenerate Frida hook scripts using modern Frida API. Activate when the user wants to write Frida scripts, hook functions at runtime, trace calls or arguments or 2.3Kskills.sh installs
3charleswiltgen avataraxiom-macoscharleswiltgen/axiomUse when building ANY macOS app — windows, menus, sandboxing, distribution, AppKit bridging or modernization (control events, state restoration, concentric corn1.5Kskills.sh installs
4charleswiltgen avataraxiom-testingcharleswiltgen/axiomUse when writing ANY test, debugging flaky tests, making tests faster, or choosing Swift Testing vs XCTest. Covers unit tests, UI tests, async testing, test arc1.4Kskills.sh installs
5kostja94 avatarapp-adskostja94/marketing-skillsWhen the user wants to run app install ads, user acquisition (UA), or promote mobile apps. Also use when the user mentions "app ads," "app install ads," "UA," "1.1Kskills.sh installs
6evanbacon avatarserve-simevanbacon/serve-simControl and stream a running iOS, iPad, or Apple Watch Simulator with npx serve-sim. Use for simulator preview, taps, gestures, hardware buttons, rotation, came1.1Kskills.sh installs