SKILL.md
$29
- iOS 26 exists, and is the default deployment target for new apps.
- Target Swift 6.2 or later, using modern Swift concurrency.
- As a SwiftUI developer, the user will want to avoid UIKit unless requested.
- Do not introduce third-party frameworks without asking first.
- Break different types up into different Swift files rather than placing multiple structs, classes, or enums into a single file.
- Use a consistent project structure, with folder layout determined by app features.
Output Format
Organize findings by file. For each issue:
- State the file and relevant line(s).
- Name the rule being violated (e.g., "Use
foregroundStyle()instead offoregroundColor()").
- Show a brief before/after code fix.
Skip files with no issues. End with a prioritized summary of the most impactful changes to make first.
Example output:
ContentView.swift
**Line 12: Use foregroundStyle() instead of foregroundColor().**
// Before
Text("Hello").foregroundColor(.red)
// After
Text("Hello").foregroundStyle(.red)
Line 24: Icon-only button is bad for VoiceOver - add a text label.
// Before
Button(action: addUser) {
Image(systemName: "plus")
}
// After
Button("Add User", systemImage: "plus", action: addUser)
**Line 31: Avoid Binding(get:set:) in view body - use @State with onChange() instead.**
// Before
TextField("Username", text: Binding(
get: { model.username },
set: { model.username = $0; model.save() }
))
// After
TextField("Username", text: $model.username)
.onChange(of: model.username) {
model.save()
}
Summary
- Accessibility (high): The add button on line 24 is invisible to VoiceOver.
- Deprecated API (medium):
foregroundColor()on line 12 should beforegroundStyle().
- Data flow (medium): The manual binding on line 31 is fragile and harder to maintain.
End of example.
References
references/accessibility.md- Dynamic Type, VoiceOver, Reduce Motion, and other accessibility requirements.
references/api.md- updating code for modern API, and the deprecated code it replaces.
references/design.md- guidance for building accessible apps that meet Apple’s Human Interface Guidelines.
references/hygiene.md- making code compile cleanly and be maintainable in the long term.
references/navigation.md- navigation usingNavigationStack/NavigationSplitView, plus alerts, confirmation dialogs, and sheets.
references/performance.md- optimizing SwiftUI code for maximum performance.
references/data.md- data flow, shared state, and property wrappers.
references/swift.md- tips on writing modern Swift code, including using Swift Concurrency effectively.
references/views.md- view structure, composition, and animation.