swiftui-expert

Guides SwiftUI development with state management, view architecture, and performance patterns for Apple platforms.

Updated Apr 13, 2026
One-click install
npx skills add https://github.com/JenilRevaliya/ARGUS --skill swiftui-expert-jenilrevaliya
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: swiftui-expert
Source: https://github.com/JenilRevaliya/ARGUS/tree/main/.agent/skills/swiftui-expert
Command: npx skills add https://github.com/JenilRevaliya/ARGUS --skill swiftui-expert-jenilrevaliya

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? SwiftUI developers frequently hit subtle bugs from deprecated APIs, incorrect state ownership, and rendering performance pitfalls. This Skill provides vetted guidance on modern SwiftUI patterns so generated code follows current Apple platform conventions instead of outdated or hallucinated approaches. ## Core Features & Use Cases - Modern State Management: Covers @Observable, @State, @Binding, @Environment, and @Bindable for iOS 17+ data flow, replacing deprecated @StateObject and @ObservedObject patterns. - View Architecture & Performance: Enforces small composable views, correct modifier ordering, Identifiable-based ForEach loops, and appropriate use of LazyVStack versus VStack. - Hallucination Trap Prevention: Flags common mistakes such as NavigationView usage on iOS 16+, heavy computation inside body, and missing id parameters in lists. - Use Case: When asked to build an iOS settings screen with a shared user profile model, the Skill produces @Observable-based code with proper bindings instead of legacy ObservableObject boilerplate. ## Quick Start Ask the assistant to write a SwiftUI view that displays an editable user profile using modern iOS 17 state management.

Frequently Asked Questions about swiftui-expert

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

FAQPage Schema
How do I manage state in SwiftUI with iOS 17?▼

Use the @Observable macro on a class instead of ObservableObject with @Published. Views then hold the model with @State, and only properties actually read inside body trigger updates, removing the need for @StateObject and @ObservedObject.

What is the difference between @State, @Binding, and @Environment in SwiftUI?▼

@State means the view owns the value, @Binding lets a view mutate a value owned by a parent, and @Environment reads a value injected higher in the view hierarchy. @Bindable creates bindings from an @Observable model passed via parameters or environment.

Should I use NavigationView or NavigationStack in SwiftUI?▼

Use NavigationStack or NavigationSplitView. NavigationView is deprecated in iOS 16 and later, so new code targeting modern iOS versions should adopt the stack-based navigation APIs.

Why does my SwiftUI list re-render everything when items change?▼

This happens when ForEach uses indices or lacks stable identity. Make your model conform to Identifiable and iterate directly over the collection so SwiftUI can track item identity across insertions and deletions.

When should I use LazyVStack instead of VStack in SwiftUI?▼

Use LazyVStack inside ScrollViews for large lists so views are created on demand. For fewer than about 20 items, a normal VStack is faster because it pre-calculates layout boundaries instantly.

Does SwiftUI still need MVVM view models?▼

Not always. SwiftUI treats the view as a function of state, so views can own local @State and pass @Bindings down. Reserve full view models for complex orchestration that spans multiple views.