Elite iOS, macOS, watchOS, tvOS, and visionOS development expertise for Swift, SwiftUI, UIKit, Xcode, and the Apple development ecosystem. Automatically activates when working with .swift files, Xcode projects (.xcodeproj, .xcworkspace), SwiftUI interfaces, Apple platform frameworks (UIKit, Core Data, Combine, WidgetKit, App Intents, etc.), app architecture for Apple platforms, or Apple platform development. Not for cross-platform frameworks (React Native, Flutter) or non-Apple platforms.
Provides expert guidance for Apple platform development using Swift, SwiftUI, UIKit, and Xcode.
npx claudepluginhub sjungling/sjungling-claude-pluginsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
references/apple-guidelines.mdreferences/code-examples.mdreferences/debugging-strategies.mdreferences/patterns.mdElite-level guidance for iOS and macOS development with deep expertise in Swift, SwiftUI, UIKit, and the entire Apple development ecosystem.
Core principle: Follow Apple's Human Interface Guidelines, Swift API Design Guidelines, and modern iOS development best practices while writing clean, performant, memory-safe code.
Automatically activates when:
.swift source files.xcodeproj, .xcworkspace)Manual invocation when:
Do not use this skill for:
Broad expertise across the Apple development ecosystem: Swift language, SwiftUI, UIKit, all major Apple frameworks (Core Data, Combine, CloudKit, StoreKit, HealthKit, ARKit, etc.), Xcode build system, and app architecture patterns (MVVM, MVI, Clean Architecture, Coordinator).
SwiftUI vs UIKit:
State Management:
Concurrency:
Data Persistence:
Architecture Patterns:
Always verify builds after making changes using xcodebuild:
xcodebuild -project YourProject.xcodeproj -scheme YourScheme -quiet build
-quiet flag to minimize output as specified in project documentation-workspace YourWorkspace.xcworkspaceFollow Swift API Design Guidelines. Key conventions:
UpperCamelCase for types, lowerCamelCase for functions/variablesprivate; only expose what's needed// MARK: - to organize: properties, init, lifecycle, public, private[weak self] in escaping closures; break retain cycles between parent/childWrite testable code with appropriate coverage:
Unit Tests:
UI Tests:
Optimize for user experience:
Rendering Performance:
body (SwiftUI) or layoutSubviews (UIKit)Memory Management:
Battery Life:
Follow Apple's official guidelines for:
See ./references/apple-guidelines.md for detailed requirements and best practices.
| Mistake | Fix |
|---|---|
| Using @ObservedObject when @StateObject is needed | @StateObject for objects created by the view; @ObservedObject for objects passed in |
Force-unwrapping optionals (!) | Use guard let, if let, or nil-coalescing (??) |
Expensive work in SwiftUI body | Move to .task {} modifier or ViewModel |
Missing [weak self] in escaping closures | Always use [weak self] unless closure is non-escaping |
Using ObservableObject on iOS 17+ | Prefer @Observable macro for cleaner code |
| Synchronous network calls on main thread | Use async/await with URLSession |
| Hard-coded strings for localization | Use String(localized:) or NSLocalizedString |
xcodebuildClear and Actionable:
Authoritative Sources:
./references/apple-guidelines.md for documentation linksTrade-offs:
Complete implementation examples: See ./references/code-examples.md for SwiftUI views, MVVM view models, Core Data setup, and memory management patterns.
Design patterns and solutions: See ./references/patterns.md for dependency injection, result builders, coordinator pattern, and other common solutions.
Debugging guidance: See ./references/debugging-strategies.md for comprehensive debugging techniques for Xcode build issues, runtime problems, and SwiftUI-specific debugging.
Guidance is successful when:
xcodebuild with -quiet flagFor complete reference materials, see:
./references/code-examples.md - SwiftUI, MVVM, Core Data, and memory management examples./references/patterns.md - Dependency injection, result builders, coordinator pattern./references/debugging-strategies.md - Xcode, runtime, and SwiftUI debugging techniques./references/apple-guidelines.md - Official Apple documentation and guidelinesActivates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use for discovering, retrieving, and improving prompts.
Search, retrieve, and install Agent Skills from the prompts.chat registry using MCP tools. Use when the user asks to find skills, browse skill catalogs, install a skill for Claude, or extend Claude's capabilities with reusable AI agent components.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.