macos-swiftui-architect — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited macos-swiftui-architect (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Use for macOS SwiftUI scene/component choices. Use macos-runtime-debugger for build/run, macos-view-architect for large-file extraction, and macos-appkit-bridge for AppKit-only behavior.
references/components-index.md.WindowGroup, Window, Settings, MenuBarExtra, or DocumentGroup.@NSApplicationDelegateAdaptor, .regular activation policy, and activate on launch.WindowGroup(..., id:) for a primary launched window; Window(...) for auxiliary/on-demand singleton windows.ContentView.@SceneStorage for per-window ephemeral state and @AppStorage for preferences.NavigationSplitView over iOS-style push navigation when persistent structure helps.macos-appkit-bridge for responder chain, panels, low-level windows, or text system control.Native source-list rows: one leading icon, one title, and optional secondary detail line. Put dense metadata/cards in detail or inspector panes, not every sidebar row.
List(selection: $selection) {
ForEach(items) { item in
HStack(spacing: 10) {
Image(systemName: item.systemImage).frame(width: 16).foregroundStyle(.secondary)
VStack(alignment: .leading, spacing: 2) {
Text(item.title).lineLimit(1)
if let detail = item.detail {
Text(detail).font(.caption).foregroundStyle(.secondary).lineLimit(1)
}
}
}
.tag(item.id)
}
}
.listStyle(.sidebar)Let NavigationSplitView sidebars use native materials. Apply custom surfaces only to detail cards or inspector sections.
| Scenario | Pattern |
|---|---|
| Local control state | @State |
| Child mutates parent value | @Binding |
Root-owned @Observable | @State |
| Injected observable/service | property or @Environment(Type.self) |
| Window selection/expansion | @SceneStorage when practical |
| Durable preference | @AppStorage |
| Legacy observable | @StateObject owner, @ObservedObject injected |
One app-sized ContentView; touch-first flows without desktop affordances; actions only behind gestures; menu bar labels over 30 characters; settings as a main-window destination; card sidebars inside .sidebar lists unless requested; opaque split-pane backgrounds by default; AppKit bridges before SwiftUI scenes/commands/windows have been tried.
Pick scene type/state ownership, place actions in content/toolbar/commands/inspector/settings, choose layout, split files by responsibility, add keyboard/menu/toolbar exposure, then build/run and check multiwindow behavior, settings entry points, and selection stability.
references/components-index.mdreferences/windowing.mdreferences/settings.mdreferences/commands-menus.mdreferences/split-inspectors.mdreferences/menu-bar-extra.md~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.