audit-swiftui-macos-nativeness

Audit macOS SwiftUI apps for missing native affordances and emit a scored routing dashboard.

2|1|Updated Jun 7, 2026
One-click install
npx skills add https://github.com/yigitkonur/plugin-swiftui --skill audit-swiftui-macos-nativeness-yigitkonur
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: audit-swiftui-macos-nativeness
Source: https://github.com/yigitkonur/plugin-swiftui/tree/main/plugins/swiftui/skills/audit-swiftui-macos-nativeness
Command: npx skills add https://github.com/yigitkonur/plugin-swiftui --skill audit-swiftui-macos-nativeness-yigitkonur

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? macOS SwiftUI code written by AI often compiles and looks plausible but reads like an iPad app dropped into a window, missing pointer, menu, window, and navigation affordances that define a native Mac experience. This Skill measures that gap with a deterministic 0-100 nativeness score and routes every finding to the owner skill that fixes it. ## Core Features & Use Cases - 15-smell detection catalog: Detects absent Mac affordances such as missing .onHover, .contextMenu, .help tooltips, .formStyle(.grouped), Table, Settings scenes, and .commands menus across five weighted categories. - Deterministic 0-100 scoring dashboard: Computes a nativeness score with per-category deductions and writes a prioritized punch-list as a nativeness-dashboard index file. - Route-not-fix discipline: Every finding carries a cross_ref to the owner audit skill (pointer-gestures, controls-forms, layout-and-tables, navigation-toolbars, menus-commands, scenes-windows) that owns the actual fix. - Use Case: Point it at a finished macOS SwiftUI project to learn that it scores 68/100 because it uses a NavigationStack as its shell, lacks a Settings scene, and has rows with no hover or right-click affordances, then run the routed owner skills to raise the score. ## Quick Start Audit my macOS SwiftUI project for iPad-in-a-window smells and give me the nativeness score with a prioritized punch-list.

Frequently Asked Questions about audit-swiftui-macos-nativeness

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I audit a macOS SwiftUI app for native Mac affordances?

Run the audit on your SwiftUI sources; it locates candidate sites with a hybrid grep and ast-grep lint runner, then reads each view to confirm absent affordances like .onHover, .contextMenu, or a Settings scene. It outputs a 0-100 nativeness score with a prioritized punch-list.

What makes SwiftUI code look like an iPad app in a window?

Common tells include a NavigationStack used as the top-level shell, no .onHover or right-click .contextMenu on rows, icon buttons without .help tooltips, ungrouped Forms, swipe-only row actions, and missing Settings or MenuBarExtra scenes. The skill catalogs 15 such smells.

Does this audit fix the SwiftUI issues it finds?

No, it is a meta-audit with fix_mode flag-only on every finding. Each finding carries a cross_ref routing it to the owner skill, such as audit-swiftui-pointer-gestures or audit-swiftui-navigation-toolbars, which owns the actual fix.

How is the macOS nativeness score calculated?

The score starts at 100 and deducts per confirmed smell, weighted by category with per-category caps of 20 points. Structural shell and menu smells weigh most; the result maps to bands from native (90-100) down to iOS port (0-24).

Does the audit respect my macOS deployment target?

Yes, it reads MACOSX_DEPLOYMENT_TARGET or Package.swift platforms first and only flags affordances available under that floor. For example, missing pointerStyle is not flagged below macOS 15, and floors are cross-checked against the shared floors-master reference.