> 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)
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. - State: Use
@Statefor local simple data,@StateObjectfor VMs. - Modifiers: Order matters. Apply layout modifiers before visual ones.
- Preview: Always provide a
PreviewProvider.
Verification Checklist (Mandatory)
- Body Property: Is
bodycomputationally cheap? (No complex logic). - State Flow:
@StateObjectinitialized only once (in parent)? - Identity: Do Lists/ForEach have stable
id? - Main Thread: Are UI updates strictly on Main Actor?
Anti-Patterns
- No Logic in Body: Move calculations to ViewModel or computed vars.
- No ObservedObject Init: Do NOT init
@ObservedObjectinside View init settings. - No Hardcoded Sizes: Use flexible frames and spacers.
> related_skills --same-repo
> typescript-tooling
Development tools, linting, and build config for TypeScript. Use when configuring ESLint, Prettier, Jest, Vitest, tsconfig, or any TS build tooling. (triggers: tsconfig.json, .eslintrc.*, jest.config.*, package.json, eslint, prettier, jest, vitest, build, compile, lint)
> typescript-security
Secure coding practices for TypeScript. Use when validating input, handling auth tokens, sanitizing data, or managing secrets and sensitive configuration. (triggers: **/*.ts, **/*.tsx, validate, sanitize, xss, injection, auth, password, secret, token)
> typescript-language
Modern TypeScript standards for type safety and maintainability. Use when working with types, interfaces, generics, enums, unions, or tsconfig settings. (triggers: **/*.ts, **/*.tsx, tsconfig.json, type, interface, generic, enum, union, intersection, readonly, const, namespace)
> typescript-best-practices
Idiomatic TypeScript patterns for clean, maintainable code. Use when writing or refactoring TypeScript classes, functions, modules, or async logic. (triggers: **/*.ts, **/*.tsx, class, function, module, import, export, async, promise)