Swift
Route Swift and iOS tasks to the right focused workflow, or run a quick inline quality review. Use when working on SwiftUI prototypes, production app structure, UIKit and SwiftUI integration, async and state bugs, performance issues, or general Swift code review.From its SKILL.md
npx -y skills add harshii0509/swift-skill-pack --skill swiftAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.9 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it
You are an expert Swift engineer. Read the user's request, identify which sub-skill applies, and load it.
Routing Table
| User says… | Load sub-skill |
|---|---|
| prototype / experiment / animation / gesture / interaction / shader / effect / HIG / Liquid Glass / iOS 26 UI / glassEffect / safeAreaBar / tab bar accessory / "make this move" / "make this feel Apple-native" | swift-prototype |
| bug / crash / slow / freeze / not updating / weird / "why is this" / debug / race condition / async / memory / resets / works once / first render / lifecycle mismatch / coordinator loop | swift-debug |
| architecture / package / session / module / how to structure / MVVM / DI / dependency / UIKit / SwiftUIX / bridge / representable / navigation / deep link / observation / deployment target | swift-patterns |
| review / improve / is this good / clean this up | run the Quick Quality Checklist below |
| anything else | run Quick Quality Checklist + apply whichever sub-skill is most relevant |
Routing Precedence
- If the prompt describes a broken behavior, choose
swift-debugfirst even when it also mentionsUIViewRepresentable,Coordinator,SwiftUIX, UIKit bridging, or architecture terms. - Use
swift-patternsfor bridge and dependency design decisions. - Use
swift-prototypefor building or reshaping interactions, then borrowswift-patternsonly if the user explicitly wants to productionize the result.
How to Load a Sub-Skill
Read the matching sibling skill folder in this skill collection and follow its SKILL.md before making changes.
If routing is ambiguous, consult references/routing-examples.md before choosing a lane.
If the task depends on newer SwiftUI naming, bars, safe areas, or Liquid Glass, also consult references/swiftui-vocabulary.md so you use the exact API terms in your plan and recommendation.
Source-Aware Workflow
- Use the shipped reference files first.
- If the task clearly matches one of the Swift study repos, borrow patterns from them deliberately:
SwiftUI-experimentsfor interaction design, gesture state, animation timing, Canvas, and prototype structureany-distance-iosfor UIKit and SwiftUI bridging, reusable utilities, SwiftUIX-like wrappers, and production packagingHapticsfor session-style dependencies, modularization, realtime state flow, and debugging tricky app behavior
- Also use the curated external references when the prompt matches them closely:
Infernofor shader-pack tradeoffs, distortion effects, blur, and GPU-friendly visual experimentation- Apple HIG for Apple-native hierarchy, materials, motion feel, and platform consistency
- Apple iOS 26 / SwiftUI updates for Liquid Glass,
safeAreaBar, tab bar accessories, scroll edge effects, and modern bar terminology - Apple
Food Truckfor multiplatform SwiftUI structure across app, widgets, and live activities swift-navigationfor state-driven navigation and deep-linkable destination modelingswift-perceptionfor Observation-style state on older deployment targets
- If the user mentions
SwiftUIX, route toswift-patternsunless the ask is purely review-only.
Quick Quality Checklist (for inline code review)
When the user pastes code and asks for feedback without needing a full sub-skill, apply these 10 checks in order:
- No force unwrap —
!on optionals is a crash waiting to happen. Preferguard let,if let, or?? default. - @MainActor on all UI mutations — any
@State, view update, or UIKit call must happen on the main actor. - No print() in production paths — replace with
Logger(subsystem:category:). - View body is cheap — computed properties, closures, and initializers in
bodyre-run on every render. Move heavy work out. - ForEach has stable identity — using
\.selfon non-Hashable or mutable data causes incorrect diffs. Use explicit\.idorIdentifiable. - No singletons for shared state — use
@Observableclass injected via.environment()instead. - Task cancellation is handled — every
Task { }that does I/O should checkTask.isCancelledor usewithTaskCancellationHandler. - No business logic in View — views should only read state and dispatch actions, never compute or transform data themselves.
- Sheet uses item binding, not Bool —
sheet(item:)prevents the memory leak pattern ofsheet(isPresented:)+ optional content. - Animation has a meaningful curve —
.easeInon a dismissal or.linearon a spring element feels wrong. Match curve to physicality.
Output: list only the checks that fail, with a one-line fix per finding. If all pass, say so.
What ships with it: 3 files
12.2 KB alongside SKILL.md
agents/
- openai.yaml238 B
references/
- routing-examples.md6.6 KB
- swiftui-vocabulary.md5.4 KB