> ios-swiftui
Build declarative UI and manage data flow with SwiftUI in iOS. Use when building declarative SwiftUI views or managing data flow with property wrappers. (triggers: **/*View.swift, View, State, Binding, EnvironmentObject)
curl "https://skillshub.wtf/HoangNguyen0403/agent-skills-standard/ios-swiftui?format=md"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
bodyclean. - 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
PreviewProvideror#Previewfor every view.
Verification Checklist (Mandatory)
- Body Property: Is the body property computationally cheap? (No complex logic or calculations).
- State Flow:
@StateObjectinitialized only once (in parent)? - 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
bodyfor UI composition only. - No ObservedObject Init: Do NOT init
@ObservedObjectinside the View settings — this causes leaks and performance issues. - No Hardcoded Sizes: Use flexible frames and spacers for responsive UI.
References
> related_skills --same-repo
> common-store-changelog
Generate user-facing release notes for the Apple App Store and Google Play Store by collecting git history, triaging user-impacting changes, and drafting store-compliant changelogs. Enforces character limits (App Store ≤4000, Google Play ≤500), tone, and bullet format. Use when generating release notes, app store changelog, play store release, what's new, or version release notes for any mobile app. (triggers: generate changelog, app store notes, play store release, what's new, release notes, ve
> golang-tooling
Go developer toolchain — gopls LSP diagnostics, linting, formatting, and vet. Use when setting up Go tooling, running linters, or integrating gopls with Claude Code. (triggers: gopls, golangci-lint, golangci.yml, go vet, goimports, staticcheck, go tooling, go lint)
> common-ui-design
Design distinctive, production-grade frontend UI with bold aesthetic choices. Use when building web components, pages, interfaces, dashboards, or applications in any framework (React, Next.js, Angular, Vue, HTML/CSS). (triggers: build a page, create a component, design a dashboard, landing page, UI for, build a layout, make it look good, improve the design, build UI, create interface, design screen)
> common-owasp
OWASP Top 10 audit checklist for Web Applications (2021) and APIs (2023). Load during any security review, PR review, or codebase audit touching web, mobile backend, or API code. (triggers: security review, OWASP, broken access control, IDOR, BOLA, injection, broken auth, API review, authorization, access control)