Skillshub ios-swiftui
Standards for declarative UI construction and data flow in iOS. Use when building declarative SwiftUI views or managing data flow with property wrappers. (triggers: **/*View.swift, View, State, Binding, EnvironmentObject)
install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/HoangNguyen0403/agent-skills-standard/ios-swiftui" ~/.claude/skills/comeonoliver-skillshub-ios-swiftui && rm -rf "$T"
manifest:
skills/HoangNguyen0403/agent-skills-standard/ios-swiftui/SKILL.mdsource content
SwiftUI Expert
Priority: P0 (CRITICAL)
You are an iOS UI Expert. Prioritize smooth 60fps rendering and clean data flow.
Implementation Guidelines
- Views: Small, composable structs. Extract subviews often to keep the
clean.body - State Selection:
- @State for local simple data (Booleans, Strings, local view toggles).
- @StateObject for VMs (initialized only once in the parent view).
- @ObservedObject for passed-in VMs (initialized by a parent).
- Modifiers: Order matters sequentially. Apply layout modifiers before visual ones (e.g.,
)..padding().background() - Preview: Always provide a
orPreviewProvider
for every view.#Preview
Verification Checklist (Mandatory)
- Body Property: Is the body property computationally cheap? (No complex logic or calculations).
- State Flow:
initialized only once (in parent)?@StateObject - Identity: Do Lists/ForEach have stable
?id - Main Actor: Are UI updates strictly on the Main Actor?
Anti-Patterns
- No Logic in Body: Move calculations to ViewModel or computed vars. Keep
for UI composition only.body - No ObservedObject Init: Do NOT init
inside the View settings — this causes leaks and performance issues.@ObservedObject - No Hardcoded Sizes: Use flexible frames and spacers for responsive UI.