
Update Swiftui Apis
Scan Apple SwiftUI API docs via Sosumi MCP using a categorized manifest to find deprecations and update app code to current APIs.
Overview
update-swiftui-apis is an agent skill most often used in Build (also Operate iterate) that drives categorized SwiftUI API scans through Sosumi MCP to surface deprecations and documentation-backed upgrades.
Install
npx skills add https://github.com/avdlee/swiftui-agent-skill --skill update-swiftui-apisWhat is this skill?
- Structured scan manifest with per-category search queries and documentation paths
- Covers Navigation (NavigationStack, NavigationSplitView, toolbar), Appearance, and State Management
- Designed for Sosumi MCP fetches against official SwiftUI documentation
- Tracks deprecated patterns such as ObservableObject vs Observable macro
- Extensible manifest: add categories as Apple ships new APIs
- Manifest organizes scans into multiple API categories including Navigation, Appearance & Styling, and State Management
- Each category lists dedicated search queries plus official documentation paths for Sosumi fetches
Adoption & trust: 1.3k installs on skills.sh; 3k GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
Your SwiftUI app still uses deprecated navigation, styling, or state APIs and agents lack a systematic way to check Apple’s current guidance.
Who is it for?
Solo iOS developers maintaining SwiftUI apps who already use Sosumi MCP and need structured deprecation sweeps before a release.
Skip if: UIKit-only projects, greenfield apps with no SwiftUI surface, or teams without MCP access to Apple documentation.
When should I use this skill?
Maintaining or upgrading SwiftUI codebases and needing categorized Apple documentation scans via Sosumi MCP (NavigationStack, Observable, styling deprecations, etc.).
What do I get? / Deliverables
You get documentation-backed API update recommendations organized by category so view code matches current SwiftUI and Observation patterns.
- Per-category API findings from documentation paths
- Deprecation and replacement notes for agent-applied patches
- Updated manifest entries when new Apple API areas are added
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Primary value is while building or refreshing SwiftUI screens against the latest Apple platform APIs. Navigation, styling, and state APIs directly affect SwiftUI view-layer code agents generate.
Where it fits
Run Navigation category queries before refactoring to NavigationStack and toolbar visibility APIs.
Verify styling APIs use foregroundStyle and clipShape patterns recommended in current docs.
After an Xcode upgrade, re-scan State Management for Observable macro adoption gaps.
Wire Sosumi MCP searches from the manifest into an agent CI checklist for iOS modules.
How it compares
A categorized doc-scan manifest—not a one-click Xcode migrator or App Store analytics tool.
Common Questions / FAQ
Who is update-swiftui-apis for?
Indie SwiftUI builders and agent-assisted iOS developers who need repeatable, doc-linked API upgrade checks.
When should I use update-swiftui-apis?
During Build/frontend when implementing navigation or state, before Ship when SDK versions bump, or in Operate/iterate after WWDC API changes.
Is update-swiftui-apis safe to install?
It guides read-oriented doc fetches via MCP; review the Security Audits panel on this page and validate proposed code changes in your own test targets.
SKILL.md
READMESKILL.md - Update Swiftui Apis
# SwiftUI API Scan Manifest Categorized list of API areas to scan via the Sosumi MCP. For each category: search queries to run, documentation paths to fetch, and WWDC sessions to check. Add new categories or paths as Apple introduces new APIs. --- ## Navigation **Search queries:** - `SwiftUI NavigationStack` - `SwiftUI NavigationSplitView` - `SwiftUI navigationTitle` - `SwiftUI toolbar` - `SwiftUI NavigationLink deprecated` **Documentation paths:** - `/documentation/swiftui/navigationstack` - `/documentation/swiftui/navigationsplitview` - `/documentation/swiftui/navigationlink` - `/documentation/swiftui/view/navigationtitle(_:)-avgj` - `/documentation/swiftui/view/toolbar(content:)-5w0tj` - `/documentation/swiftui/view/toolbarvisibility(_:for:)` --- ## Appearance & Styling **Search queries:** - `SwiftUI foregroundStyle` - `SwiftUI foregroundColor deprecated` - `SwiftUI tint modifier` - `SwiftUI preferredColorScheme` - `SwiftUI clipShape` **Documentation paths:** - `/documentation/swiftui/view/foregroundstyle(_:)` - `/documentation/swiftui/view/foregroundcolor(_:)` - `/documentation/swiftui/view/tint(_:)-93mfq` - `/documentation/swiftui/view/preferredcolorscheme(_:)` - `/documentation/swiftui/view/clipshape(_:style:)` --- ## State Management **Search queries:** - `SwiftUI Observable macro` - `SwiftUI ObservableObject deprecated` - `SwiftUI Bindable` - `SwiftUI State` - `SwiftUI Entry macro` **Documentation paths:** - `/documentation/observation/observable()` - `/documentation/swiftui/observableobject` - `/documentation/swiftui/bindable` - `/documentation/swiftui/state` - `/documentation/swiftui/entry()` - `/documentation/swiftui/environmentvalues` --- ## Presentation & Alerts **Search queries:** - `SwiftUI alert modifier` - `SwiftUI confirmationDialog` - `SwiftUI actionSheet deprecated` - `SwiftUI sheet modifier` - `SwiftUI fullScreenCover` **Documentation paths:** - `/documentation/swiftui/view/alert(_:ispresented:actions:message:)-8dvt8` - `/documentation/swiftui/view/confirmationdialog(_:ispresented:titlevisibility:actions:message:)-43f72` - `/documentation/swiftui/view/sheet(ispresented:ondismiss:content:)` --- ## Text Input **Search queries:** - `SwiftUI TextField onSubmit` - `SwiftUI textInputAutocapitalization` - `SwiftUI autocorrectionDisabled` - `SwiftUI focused modifier` **Documentation paths:** - `/documentation/swiftui/view/onsubmit(of:_:)` - `/documentation/swiftui/view/textinputautocapitalization(_:)` - `/documentation/swiftui/view/autocorrectiondisabled(_:)` - `/documentation/swiftui/focusstate` --- ## Layout **Search queries:** - `SwiftUI ignoresSafeArea` - `SwiftUI containerRelativeFrame` - `SwiftUI visualEffect` - `SwiftUI GeometryReader` - `SwiftUI coordinateSpace` **Documentation paths:** - `/documentation/swiftui/view/ignoressafearea(_:edges:)` - `/documentation/swiftui/view/containerrelativeframe(_:alignment:_:)` - `/documentation/swiftui/view/visualeffect(_:)` - `/documentation/swiftui/geometryreader` - `/documentation/swiftui/view/coordinatespace(_:)` --- ## Gestures **Search queries:** - `SwiftUI MagnifyGesture` - `SwiftUI RotateGesture` - `SwiftUI MagnificationGesture deprecated` - `SwiftUI RotationGesture deprecated` **Documentation paths:** - `/documentation/swiftui/magnifygesture` - `/documentation/swiftui/rotategesture` - `/documentation/swiftui/magnificationgesture` - `/documentation/swiftui/rotationgesture` --- ## Accessibility **Search queries:** - `SwiftUI accessibilityLabel` - `SwiftUI accessibility deprecated` - `SwiftUI accessibilityRepresentation` **Documentation paths:** - `/documentation/swiftui/view/accessibilitylabel(_:)-1d7jv` - `/documentation/swiftui/view/accessibilityvalue(_:)-7a2ql` - `/documentation/swiftui/view/accessibilityhint(_:)` - `/documentation/swiftui/view/accessibilityrepresentation(representation:)` --- ## Animations **Search queries:** - `SwiftUI animation value deprecated` - `SwiftUI withAnimation` - `SwiftUI phaseAnimator` - `Swif