From coding-agent
iOS and SwiftUI specialist knowledge — SwiftUI view composition, state management (@State/@Observable/@Bindable), NavigationStack, SF Symbols, Apple HIG compliance, Swift concurrency, accessibility, and testing with XCTest/Swift Testing.
npx claudepluginhub devjarus/coding-agentThis skill uses the workspace's default tool permissions.
Deep expertise in native iOS development with SwiftUI, following Apple Human Interface Guidelines and modern Swift patterns.
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Deep expertise in native iOS development with SwiftUI, following Apple Human Interface Guidelines and modern Swift patterns.
@State must be private — view-owned value types only@Binding only where child needs to modify parent state@State or @StateObject@StateObject for view-owned reference types; @ObservedObject for injected@State with @Observable classes and @Bindable for bindings@Environment for dependency injection (not global state)@SceneStorage for lightweight state preservation across launches.indices for dynamic content).animation(_:value:) must include the value parameter.transition() for view insertion/removal.fixedSize() overuse — causes layout instabilityLazyVStack/LazyHStack in ScrollView — eager stacks load all childrenEquatableView or custom Equatable for expensive viewsasync/await for all asynchronous work@MainActor for UI-updating code.task modifier for view lifecycle-bound async work (auto-cancelled).task or Task { } for heavy work@Test, #expect) for iOS 16+@State (creates independent copy, loses sync)List inside ScrollView (nested scrolling)#available gating for newer APIsNavigationLink state issues — values must be Hashableself in closures#available with fallbacks for deployment target