npx skills add https://github.com/avdlee/swiftui-agent-skill --skill swiftui-expert-skillHow Swiftui Expert Skill fits into a Paperclip company.
Swiftui Expert Skill drops into any Paperclip agent that handles this kind of work. Assign it to a specialist inside a pre-configured PaperclipOrg company and the skill becomes available on every heartbeat — no prompt engineering, no tool wiring.
Pre-configured AI company — 18 agents, 18 skills, one-time purchase.
SKILL.md108 linesExpandCollapse
---name: swiftui-expert-skilldescription: Write, review, or improve SwiftUI code following best practices for state management, view composition, performance, macOS-specific APIs, and iOS 26+ Liquid Glass adoption. Use when building new SwiftUI features, refactoring existing views, reviewing code quality, or adopting modern SwiftUI patterns.--- # SwiftUI Expert Skill ## Operating Rules - Consult `references/latest-apis.md` at the start of every task to avoid deprecated APIs- Prefer native SwiftUI APIs over UIKit/AppKit bridging unless bridging is necessary- Focus on correctness and performance; do not enforce specific architectures (MVVM, VIPER, etc.)- Encourage separating business logic from views for testability without mandating how- Follow Apple's Human Interface Guidelines and API design patterns- Only adopt Liquid Glass when explicitly requested by the user (see `references/liquid-glass.md`)- Present performance optimizations as suggestions, not requirements- Use `#available` gating with sensible fallbacks for version-specific APIs ## Task Workflow ### Review existing SwiftUI code- Read the code under review and identify which topics apply- Flag deprecated APIs (compare against `references/latest-apis.md`)- Run the Topic Router below for each relevant topic- Validate `#available` gating and fallback paths for iOS 26+ features ### Improve existing SwiftUI code- Audit current implementation against the Topic Router topics- Replace deprecated APIs with modern equivalents from `references/latest-apis.md`- Refactor hot paths to reduce unnecessary state updates- Extract complex view bodies into separate subviews- Suggest image downsampling when `UIImage(data:)` is encountered (optional optimization, see `references/image-optimization.md`) ### Implement new SwiftUI feature- Design data flow first: identify owned vs injected state- Structure views for optimal diffing (extract subviews early)- Apply correct animation patterns (implicit vs explicit, transitions)- Use `Button` for all tappable elements; add accessibility grouping and labels- Gate version-specific APIs with `#available` and provide fallbacks ### Topic Router Consult the reference file for each topic relevant to the current task: | Topic | Reference ||-------|-----------|| State management | `references/state-management.md` || View composition | `references/view-structure.md` || Performance | `references/performance-patterns.md` || Lists and ForEach | `references/list-patterns.md` || Layout | `references/layout-best-practices.md` || Sheets and navigation | `references/sheet-navigation-patterns.md` || ScrollView | `references/scroll-patterns.md` || Focus management | `references/focus-patterns.md` || Animations (basics) | `references/animation-basics.md` || Animations (transitions) | `references/animation-transitions.md` || Animations (advanced) | `references/animation-advanced.md` || Accessibility | `references/accessibility-patterns.md` || Swift Charts | `references/charts.md` || Charts accessibility | `references/charts-accessibility.md` || Image optimization | `references/image-optimization.md` || Liquid Glass (iOS 26+) | `references/liquid-glass.md` || macOS scenes | `references/macos-scenes.md` || macOS window styling | `references/macos-window-styling.md` || macOS views | `references/macos-views.md` || Text patterns | `references/text-patterns.md` || Deprecated API lookup | `references/latest-apis.md` | ## Correctness Checklist These are hard rules -- violations are always bugs: - [ ] `@State` properties are `private`- [ ] `@Binding` only where a child modifies parent state- [ ] Passed values never declared as `@State` or `@StateObject` (they ignore updates)- [ ] `@StateObject` for view-owned objects; `@ObservedObject` for injected- [ ] iOS 17+: `@State` with `@Observable`; `@Bindable` for injected observables needing bindings- [ ] `ForEach` uses stable identity (never `.indices` for dynamic content)- [ ] Constant number of views per `ForEach` element- [ ] `.animation(_:value:)` always includes the `value` parameter- [ ] `@FocusState` properties are `private`- [ ] No redundant `@FocusState` writes inside tap gesture handlers on `.focusable()` views- [ ] iOS 26+ APIs gated with `#available` and fallback provided- [ ] `import Charts` present in files using chart types ## References - `references/latest-apis.md` -- **Read first for every task.** Deprecated-to-modern API transitions (iOS 15+ through iOS 26+)- `references/state-management.md` -- Property wrappers, data flow, `@Observable` migration- `references/view-structure.md` -- View extraction, container patterns, `@ViewBuilder`- `references/performance-patterns.md` -- Hot-path optimization, update control, `_logChanges()`- `references/list-patterns.md` -- ForEach identity, Table (iOS 16+), inline filtering pitfalls- `references/layout-best-practices.md` -- Layout patterns, GeometryReader alternatives- `references/accessibility-patterns.md` -- VoiceOver, Dynamic Type, grouping, traits- `references/animation-basics.md` -- Implicit/explicit animations, timing, performance- `references/animation-transitions.md` -- View transitions, `matchedGeometryEffect`, `Animatable`- `references/animation-advanced.md` -- Phase/keyframe animations (iOS 17+), `@Animatable` macro (iOS 26+)- `references/charts.md` -- Swift Charts marks, axes, selection, styling, Chart3D (iOS 26+)- `references/charts-accessibility.md` -- Charts VoiceOver, Audio Graph, fallback strategies- `references/sheet-navigation-patterns.md` -- Sheets, NavigationSplitView, Inspector- `references/scroll-patterns.md` -- ScrollViewReader, programmatic scrolling- `references/focus-patterns.md` -- Focus state, focusable views, focused values, default focus, common pitfalls- `references/image-optimization.md` -- AsyncImage, downsampling, caching- `references/liquid-glass.md` -- iOS 26+ Liquid Glass effects and fallback patterns- `references/macos-scenes.md` -- Settings, MenuBarExtra, WindowGroup, multi-window- `references/macos-window-styling.md` -- Toolbar styles, window sizing, Commands- `references/macos-views.md` -- HSplitView, Table, PasteButton, AppKit interop- `references/text-patterns.md` -- Text initializer selection, verbatim vs localizedCore Data Expert
Install Core Data Expert skill for Claude Code from avdlee/core-data-agent-skill.
Spm Build Analysis
Install Spm Build Analysis skill for Claude Code from avdlee/xcode-build-optimization-agent-skill.
Swift Concurrency
Diagnoses Swift concurrency issues by first checking your Package.swift or .pbxproj settings to understand your language mode and strict concurrency level, then