| name | macos-hig-reviewer |
| description | A comprehensive macOS Human Interface Guidelines code and design reviewer. Analyzes macOS application code and design for HIG compliance. |
| version | 1.1.0 |
macOS HIG: Compliance Reviewer
This skill orchestrates a complete review of a macOS application (design, layout, and code) to ensure it strictly follows Apple's Human Interface Guidelines.
Review Categories
1. Ergonomics & Density
- Is the information density appropriate for a user viewing the screen from 1-3 feet away?
- Does it avoid making users strain to read text or click targets?
2. Window Behavior
- Can the main application window be resized, maximized, and hidden appropriately?
- Is full-screen mode supported and implemented without visual glitches?
- Are multiple window states (active vs. inactive) handled gracefully?
3. System Integration
- Is there a comprehensive Menu Bar implementation? (Every action should be available in the menu bar).
- Does the app provide a Dock menu for quick contextual actions?
- Does it use standard file dialogs instead of custom ones?
4. Input & Accessibility
- Are high-precision pointer inputs utilized?
- Are keyboard shortcuts prevalent and idiomatic (e.g.,
Cmd+W to close window, Cmd+Q to quit)?
- Can the app be navigated entirely by keyboard?
Tools & Linters
SwiftLint
This skill can utilize SwiftLint to enforce macOS-specific coding guidelines.
- Obtaining SwiftLint: If SwiftLint is not installed on the system, you can easily install it using Homebrew:
brew install swiftlint
- Configuration: A customized
swiftlint.yml tailored for macOS applications and idiomatic Swift is provided in the references/ directory.
Instructions
When invoked to review a codebase or design:
- Systematically analyze the provided code against the four categories above.
- Flag any custom UI components that reinvent standard macOS controls (e.g., custom scrollbars or window control buttons) as violations unless explicitly justified by the app's nature (e.g., a game).
- If SwiftLint is available (or after helping the user install it), run it using the provided
references/swiftlint.yml to catch stylistic or structural issues.
- Run
scripts/check_menubar.sh to quickly verify if the project has Menu Bar definitions.
- Generate a structured report highlighting PASS, WARNING, and FAIL items.
- Provide actionable code or design recommendations to fix any WARNING or FAIL items.