By yigitkonur
Real production SwiftUI usage from 1,857 shipping macOS apps PLUS 33 macOS-SwiftUI skills (28 domain audits + write/modernize/scaffold) — all backed by the swiftui-ctx CLI. Look up how an API is really used and the consensus argument shape, flag deprecated calls, scaffold whole patterns, and run domain audits (accessibility, concurrency, state/observation, liquid glass, navigation, nativeness, and more) that ground every finding in real code with GitHub permalinks. Use before writing, reviewing, modernizing, or auditing SwiftUI on macOS.
Based on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Run the full macOS-SwiftUI audit suite over a codebase — steer to the relevant domains, then audit each against real production evidence.
Audit a SwiftUI file (or the current diff) for deprecated APIs and non-idiomatic usage, grounded in real macOS apps.
Create or update .claude/swiftui.local.md to configure the swiftui plugin for this project
Look up how a SwiftUI API (or intent) is actually used in production via swiftui-ctx.
Orchestrates a FULL macOS SwiftUI audit by routing one finished or in-progress codebase through the toolkit's 28 domain audit skills in a dependency-sensible order, then consolidates every per-skill finding into one swiftui-audits/_SUMMARY.md dashboard with severity, per-skill, and nativeness-score rollups. Use when the user says "audit my macOS SwiftUI app", "full SwiftUI review", "review the whole Mac app", "is this Mac app native", "pre-ship SwiftUI check", "run all the SwiftUI audits", or asks for an end-to-end / everything pass rather than one domain. Also use to gate a release (the per-skill hard-fail tally). AUDIT-ONLY, macOS-only, SwiftUI-only. This is a META skill: it sequences and aggregates the 28 owners; it contains NO domain rules or fixes of its own. Not for a single domain (route straight to that audit-swiftui-* skill), not for AppKit-only apps, not for writing UI from scratch, not for HIG snapshot review.
Audits a finished or in-progress macOS SwiftUI codebase for accessibility defects — icon-only controls with no label, ungrouped composite controls, custom controls with no value, color-only state, no Reduce-Motion path, undescribed Chart/Canvas, missing traits, broken VoiceOver focus — and writes per-finding Markdown to swiftui-audits/. Use when the user says VoiceOver reads nothing or the wrong thing, an icon button is unlabeled, a chart or canvas is unreadable, the app fails Differentiate Without Color or Reduce Motion, focus order is wrong, or when AI may have written accessibilityText, voiceOverLabel, a11yLabel, the legacy accessibility(label:) modifier, or an isToggle trait ungated below macOS 14. AUDIT-ONLY, macOS-only, SwiftUI-only. Not for AppKit NSAccessibility, not for keyboard @FocusState (controls-forms), not for Dynamic-Type sizing (typography-text), not for writing new accessible UI from scratch.
Audits a finished or in-progress macOS SwiftUI codebase for animation and motion defects and writes per-finding Markdown to swiftui-audits/. Use when the user says animations feel janky, abrupt, non-native, or never animate; when they ask to verify animation, withAnimation, transition, matchedGeometryEffect, symbolEffect, contentTransition, PhaseAnimator, KeyframeAnimator, or spring presets; when AI may have written the deprecated single-arg .animation(_); when motion runs unconditionally and ignores Reduce Motion; when a hand-rolled Timer or repeatForever loop drives motion that PhaseAnimator fits; when raw .easeInOut(duration:) is used where .bouncy/.smooth/.snappy belongs; or when a hero transition is mis-wired. AUDIT-ONLY, macOS-only, SwiftUI-only. Not for AppKit Core Animation, not for the glass morph itself (liquid-glass owns it), not for render-cost analysis (view-performance), not for writing new animations from scratch.
Audits a finished or in-progress macOS SwiftUI codebase for stale, deprecated, renamed, or hallucinated APIs and writes per-finding Markdown to swiftui-audits/. Use when the user says the code uses old APIs, deprecation warnings, or "is this current for macOS 26"; when AI may have emitted NavigationView, foregroundColor, cornerRadius, one-parameter onChange, tabItem, inline NavigationLink, Text plus Text concatenation, or DispatchQueue.main.async cargo-cult; when a macOS-26.5 deprecation appears (3-arg dropDestination, MagnificationGesture, RotationGesture, design-only Font.system, accentColor); or when an invented name like glassBackground, liquidGlass, LiquidGlassView, material(.glass), or visionOS-only glassBackgroundEffect slips into a Mac target. AUDIT-ONLY, macOS-only, SwiftUI-only. Not for the deep Liquid-Glass design audit, not for the blanket availability-gating sweep, not for positive color or typography craft, not for from-scratch or inline single-file fixes (use swiftui-modernize).
Audits a finished or in-progress macOS SwiftUI codebase for appearance and color defects on macOS 26 Tahoe and writes per-finding Markdown to swiftui-audits/. Use when the user says Dark Mode looks broken, colors do not adapt, text is hardcoded gray, the app forces light or dark, contrast is too low, or a background looks flat or opaque; when they ask to verify Color, hardcoded RGB, asset-catalog colors, foregroundColor, foregroundStyle, accentColor, tint, Material, vibrancy, preferredColorScheme, colorScheme, or colorSchemeContrast on a Mac target; when AI may have written Color(red:green:blue:), Color.white, Color.black, .foregroundColor, .accentColor, .textColor, .backgroundColor, .tintColor, or UIColor; or when an app forces a color scheme app-wide or ignores Increase Contrast. AUDIT-ONLY, macOS-only, SwiftUI-only. Not for AppKit NSColor/NSVisualEffectView, not for Liquid Glass, not for the general deprecation sweep, not for WCAG accessibility audits, not for writing new themed UI from scratch.
Modifies files
Hook triggers on file write and edit operations
Uses power tools
Uses Bash, Write, or Edit tools
real-world swiftui for claude — grounded in 1,857 shipping macOS apps.
claude writes bad swiftui. not wrong-syntax bad — confidently-stale bad. deprecated modifiers, api shapes that never existed, idioms from wwdc three years ago. the docs tell claude what an api does; they don't tell it how 2026 shipping mac apps actually use it.
this plugin fills that gap. it gives claude a queryable corpus of 1,857 real open-source macOS apps — parsed with swiftsyntax (apple's own compiler parser, not regex), ranked by code quality, and wrapped in a cli that answers one question: how do actual shipping apps write this?
every result carries a github permalink pinned to a commit sha and links to the matching sosumi.ai doc so the spec and the practice are always one hop apart.
on top of the lookup layer sits a complete macOS swiftui audit suite — 29 skill-driven domain auditors, each backed by a 334-rule static lint engine that locates candidates and lets claude judge.
| repos analyzed | 1,857 open-source macOS SwiftUI apps |
| parser | swiftsyntax — exact attributes, modifiers, property wrappers, call shapes; not regex |
| sdk surface | macOS 26.5 .swiftinterface + swift symbolgraph-extract |
| api coverage | 511 modifiers · 402 types · ~120 style values · property wrappers · env keys · 12 whole-pattern recipes |
| audit rules | 334 total (282 ripgrep + 52 ast-grep structural) |
| skills | 33 — 4 write/lookup + 29 audit |
| commands | 4 — /swiftui · /swiftui-review · /swiftui-audit · /swiftui-settings |
| quality ranking | composite score: author authority (aggregate stars) + repo stars + api modernity + recency |
/plugin marketplace add yigitkonur/claude-swiftui-plugin
/plugin install swiftui
the cli (swiftui-ctx) auto-installs on first use — downloads a prebuilt universal binary, or builds from source if xcode is available. no manual paths or env setup needed.
audit deps — jq is required to run the audit/lint tier; ast-grep + ripgrep are optional (they unlock the structural lint tier):
brew install jq # required for the audit suite
brew install ast-grep ripgrep # optional — structural + faster grep tiers
without ast-grep/ripgrep the audit suite degrades gracefully to the grep-only tier — it still runs 282 rules, just not the 52 ast-grep structural ones. without jq the audit scripts exit early with a clear message.
git clone https://github.com/yigitkonur/claude-swiftui-plugin
cd claude-swiftui-plugin
make install # downloads/builds swiftui-ctx and symlinks it onto PATH
swiftui-ctx doctor # verify the install
/swiftui <api or intent>look up any swiftui api by name, modifier, property wrapper, or plain english intent. returns the consensus argument shape (ranked by how production apps actually call it), the best real-world example with a github permalink, co-occurring apis, and a link to the sosumi doc.
/swiftui NavigationSplitView
/swiftui @Observable
/swiftui .searchable
/swiftui "drag and drop between lists"
/swiftui frame(width:height:)
/swiftui-review [file]review a swift file or the current diff for deprecated apis, non-idiomatic patterns, and consensus deviations. produces a prioritized finding list with migration paths and real counterexamples pulled from the corpus.
/swiftui-review ContentView.swift
/swiftui-review # reviews the current diff
/swiftui-audit [directory]full codebase audit. the orchestrator routes your source tree through the relevant domain auditors in dependency-ordered waves, runs the static lint engine, and rolls everything into _SUMMARY.md with per-finding severity ratings and fix guidance.
/swiftui-audit Sources/
/swiftui-audit .
/swiftui-settingscreate or update .claude/swiftui.local.md — per-project plugin configuration. the file is gitignored automatically.
skills fire automatically when you describe a task to claude. the commands above are the explicit entry points when you want to invoke them directly.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimnpx claudepluginhub yigitkonur/claude-swiftui-plugin --plugin swiftuiA technical PM/CTO conductor for every herdr agent tab — discover live agents, split a conductor in beside each, drive it with scored impact×effort menus + parallel git-worktree lanes + cross-model review, and optionally supervise the whole fleet autonomously in monitor mode.
Noncanonical pre-release codex-bridge plugin scaffold with a placeholder skill and empty hooks config for incremental plugin surface rollout.
Hook-driven Claude Code plugin that delegates implementation, review, and closed-loop iteration to OpenAI Codex with worktree isolation, structured briefs, Monitor auto-arm, and trust-budgeted merge. Adapter abstraction in place for future backends.
Drive a Codex sub-agent from Claude Code through a herdr pane. Stream one JSON verdict per state change via the Monitor tool (watch), or get one verdict per blocking turn — no screen-scraping, no status polling.
Multi-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.
Ultra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Comprehensive UI/UX design plugin for mobile (iOS, Android, React Native) and web applications with design systems, accessibility, and modern patterns
Curate auto-memory, promote learnings to CLAUDE.md and rules, extract proven patterns into reusable skills.
Memory compression system for Claude Code - persist context across sessions
Standalone image generation plugin using Nano Banana MCP server. Generates and edits images, icons, diagrams, patterns, and visual assets via Gemini image models. No Gemini CLI dependency required.