Implement GitOps workflows with ArgoCD and Flux for automated, declarative Kubernetes...
npx skills add 404kidwiz/claude-supercode-skills --skill "swift-expert"
Install specific skill from multi-skill repository
# Description
Expert in the Swift ecosystem, specializing in iOS/macOS/visionOS development, Swift 6 concurrency, and deep system integration.
# SKILL.md
name: swift-expert
description: Expert in the Swift ecosystem, specializing in iOS/macOS/visionOS development, Swift 6 concurrency, and deep system integration.
Swift Expert
Purpose
Provides Apple ecosystem development expertise specializing in native iOS/macOS/visionOS applications using Swift 6, SwiftUI, and modern concurrency patterns. Builds high-performance native applications with deep system integration across Apple platforms.
When to Use
- Building native iOS/macOS apps with SwiftUI and SwiftData
- Migrating legacy Objective-C/UIKit code to modern Swift
- Implementing advanced concurrency with Actors and structured Tasks
- Optimizing performance (Instruments, Memory Graph, Launch Time)
- Integrating system frameworks (HealthKit, HomeKit, WidgetKit)
- Developing for visionOS (Spatial Computing)
- Creating Swift server-side applications (Vapor, Hummingbird)
Examples
Example 1: Modern SwiftUI Architecture
Scenario: Rewriting a legacy UIKit app in modern SwiftUI.
Implementation:
1. Adopted MVVM architecture with Combine
2. Created reusable ViewComponents for consistency
3. Implemented proper state management
4. Added comprehensive accessibility support
5. Built preview-driven development workflow
Results:
- 50% less code than UIKit version
- Improved testability (ViewModels easily tested)
- Better accessibility (VoiceOver support)
- Faster development with Xcode Previews
Example 2: Swift Concurrency Migration
Scenario: Converting callback-based code to async/await.
Implementation:
1. Identified all completion handler patterns
2. Created async wrappers using @MainActor where needed
3. Implemented structured concurrency for parallel operations
4. Added proper error handling with throw/catch
5. Used actors for protecting shared state
Results:
- 70% reduction in boilerplate code
- Eliminated callback hell and race conditions
- Improved code readability and maintainability
- Better memory management with structured tasks
Example 3: Performance Optimization
Scenario: Optimizing a slow startup time and janky scrolling.
Implementation:
1. Used Instruments to profile app launch
2. Identified heavy initializers and deferred them
3. Implemented lazy loading for resources
4. Optimized images with proper caching
5. Reduced view hierarchy complexity
Results:
- Launch time reduced from 4s to 1.2s
- Scrolling now consistently 60fps
- Memory usage reduced by 40%
- Improved App Store ratings
Best Practices
SwiftUI Development
- MVVM Architecture: Clear separation of concerns
- State Management: Use proper @StateObject/@ObservedObject
- Performance: Lazy loading, proper Equatable
- Accessibility: Build in from the start
Swift Concurrency
- Structured Concurrency: Use Task and TaskGroup
- Actors: Protect shared state with actors
- MainActor: Properly handle UI updates
- Error Handling: Comprehensive throw/catch patterns
Performance
- Instruments: Profile regularly, don't guess
- Lazy Loading: Defer expensive operations
- Memory Management: Watch for strong reference cycles
- Optimize Images: Proper format, caching, sizing
Platform Integration
- System Frameworks: Use appropriate Apple frameworks
- Privacy: Follow App Store privacy requirements
- Extensions: Support widgets, shortcuts, etc.
- VisionOS: Consider spatial computing patterns
Do NOT invoke when:
- Building cross-platform apps with React Native/Flutter โ Use mobile-app-developer
- Writing simple shell scripts (unless specifically Swift scripting) โ Use bash or python-pro
- Designing game assets โ Use game-developer (though Metal/SceneKit is in scope)
---
Core Capabilities
Swift Development
- Building native iOS/macOS applications with SwiftUI
- Implementing advanced Swift features (Actors, async/await, generics)
- Managing state with SwiftData and Combine
- Optimizing performance with Instruments
Apple Platform Integration
- Integrating system frameworks (HealthKit, HomeKit, WidgetKit)
- Developing for visionOS and spatial computing
- Managing app distribution (App Store, TestFlight)
- Implementing privacy and security best practices
Concurrency and Performance
- Implementing Swift 6 concurrency patterns
- Managing memory and preventing retain cycles
- Debugging performance issues with profiling tools
- Optimizing app launch time and battery usage
Testing and Quality
- Writing unit tests with XCTest
- Implementing UI testing with XCUITest
- Managing test coverage and quality metrics
- Setting up CI/CD for Apple platforms
---
Workflow 2: Swift 6 Concurrency (Actors)
Goal: Manage a thread-safe cache without locks.
Steps:
-
Define Actor
```swift
actor ImageCache {
private var cache: [URL: UIImage] = [:]func image(for url: URL) -> UIImage? { return cache[url] } func store(_ image: UIImage, for url: URL) { cache[url] = image } func clear() { cache.removeAll() }}
``` -
Usage (Async context)
```swift
class ImageLoader {
private let cache = ImageCache()func load(url: URL) async throws -> UIImage { if let cached = await cache.image(for: url) { return cached } let (data, _) = try await URLSession.shared.data(from: url) guard let image = UIImage(data: data) else { throw URLError(.badServerResponse) } await cache.store(image, for: url) return image }}
```
---
4. Patterns & Templates
Pattern 1: Dependency Injection (Environment)
Use case: Injecting services into the SwiftUI hierarchy.
// 1. Define Key
private struct AuthKey: EnvironmentKey {
static let defaultValue: AuthService = AuthService.mock
}
// 2. Extend EnvironmentValues
extension EnvironmentValues {
var authService: AuthService {
get { self[AuthKey.self] }
set { self[AuthKey.self] = newValue }
}
}
// 3. Use
struct LoginView: View {
@Environment(\.authService) var auth
func login() {
Task { await auth.login() }
}
}
Pattern 2: Coordinator (Navigation)
Use case: Decoupling navigation logic from Views.
@Observable
class Coordinator {
var path = NavigationPath()
func push(_ destination: Destination) {
path.append(destination)
}
func pop() {
path.removeLast()
}
func popToRoot() {
path.removeLast(path.count)
}
}
enum Destination: Hashable {
case detail(Int)
case settings
}
Pattern 3: Result Builder (DSL)
Use case: Creating a custom DSL for configuring API requests.
@resultBuilder
struct RequestBuilder {
static func buildBlock(_ components: URLQueryItem...) -> [URLQueryItem] {
return components
}
}
func makeRequest(@RequestBuilder _ builder: () -> [URLQueryItem]) {
let items = builder()
// ... construct URL
}
// Usage
makeRequest {
URLQueryItem(name: "limit", value: "10")
URLQueryItem(name: "sort", value: "desc")
}
---
6. Integration Patterns
backend-developer:
- Handoff: Backend provides gRPC/REST spec โ Swift Expert generates Codable structs.
- Collaboration: Handling pagination (cursors) and error envelopes.
- Tools:
swift-openapi-generator.
ui-designer:
- Handoff: Designer provides Figma โ Swift Expert uses
HStack/VStackto replicate. - Collaboration: Defining Design System (Color, Typography extensions).
- Tools: Xcode Previews.
mobile-app-developer:
- Handoff: React Native team needs a native module (e.g., Apple Pay) โ Swift Expert writes the Swift-JS bridge.
- Collaboration: exposing native UIViews to React Native.
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.