Install
$ agentstack add skill-vabole-apple-skills-ios-dev ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
iOS Development
Start here. This skill coordinates the Apple skills collection — it tells you which skill to use and when, so you get opinionated guidance and full API references together.
Operating Rules
- Do not bridge UIKit/AppKit when SwiftUI has a native solution — bridging adds state-sync bugs, breaks SwiftUI composition (animations, environment), and complicates lifecycle management
- Do not enforce specific architectures (MVVM, VIPER, MV, TCA, etc.) — encourage separating business logic from views without mandating how
- Liquid Glass is the default iOS 26+ design system — use system glass behaviors naturally, but add custom
GlassEffectmodifiers only when they serve the UI, not for decoration - Present performance optimizations as suggestions backed by reasoning, not blanket requirements
- When you need exact API details, grep the framework reference skills — they contain full Apple documentation
Task Workflows
Review existing code
- Read the code and identify which topics apply
- Run the Correctness Checklist below — violations are bugs
- Use the Topic Router to load the relevant guide for each topic
- For API correctness, grep the matching framework reference skill
Improve existing code
- Run the correctness checklist first
- For performance issues: use
guide-swiftui-performance-audit - For view structure / long bodies: use
guide-swiftui-view-refactor - For navigation, state, or pattern questions: use
guide-swiftui-ui-patterns - For visual quality: use
ios-ui-craft - For API details: grep the matching framework reference skill
Build a new feature
- Design data flow first — identify owned vs. injected state
- For UI patterns and app wiring: use
guide-swiftui-ui-patterns - For API details: grep the matching framework reference skill
- Structure views for optimal diffing — extract subviews early
- Run the correctness checklist before finishing
- For visual polish: use
ios-ui-craft
Topic Router
The Guide column has opinionated, short pattern guides. The API Reference column has full Apple documentation as grepable Markdown — use apple-docs-index to find which framework has what.
| Topic | Guide | API Reference | |-------|-------|---------------| | State management | guide-swiftui-ui-patterns | swiftui (state.md, binding.md, observation.md, environment.md) | | View composition | guide-swiftui-view-refactor | swiftui (view-protocol.md) | | Performance | guide-swiftui-performance-audit | — | | Navigation | guide-swiftui-ui-patterns | swiftui (navigationstack.md, navigationsplitview.md, navigationlink.md) | | Sheets & modals | guide-swiftui-ui-patterns | swiftui (sheet.md, inspector.md, alert.md, confirmationdialog.md) | | Lists & ForEach | guide-swiftui-ui-patterns | swiftui (list.md) | | ScrollView | guide-swiftui-ui-patterns | swiftui (scrollview.md) | | Forms & input | — | swiftui (form.md, textfield.md, picker.md, toggle.md, slider.md) | | Charts | guide-swiftui-charts | swiftui (chart.md, charts-overview.md) | | Animations | guide-swiftui-animations | swiftui (swiftui-overview.md) | | Layout | guide-swiftui-ui-patterns | swiftui (geometryreader.md, grid.md, hstack.md, vstack.md, zstack.md, spacer.md) | | TabView | guide-swiftui-ui-patterns | swiftui (tabview.md) | | Liquid Glass | ios-design-consultant | ios-liquid-glass | | Visual design | ios-ui-craft | hig | | Accessibility | guide-swiftui-ui-patterns | hig | | macOS apps | guide-macos-spm-packaging | swiftui, uikit | | Data persistence | guide-swiftdata | swiftdata | | Testing | guide-swift-testing | swift-testing, xcuitest | | Concurrency | guide-swift-concurrency | swift-concurrency | | In-app purchases | — | storekit | | Maps | — | mapkit | | Health data | — | healthkit | | Notifications | — | usernotifications | | App Intents / Siri | — | appintents | | Widgets | — | widgetkit | | App Store metadata | apple-aso | — | | Finding docs | apple-docs-index | — |
Correctness Checklist
These are hard rules — violations are always bugs:
- [ ]
@Stateproperties areprivate - [ ]
@Bindingonly where a child needs to mutate parent state - [ ] Values passed in are never declared as
@State— they silently ignore updates - [ ] Use
@Statewith@Observableclasses — not@StateObjectorObservableObject - [ ] Use
@Bindablefor injected observables that need bindings - [ ]
ForEachuses stable identity — never.indiceson dynamic content - [ ] Each
ForEachelement produces a constant number of views - [ ]
.animation(_:value:)always includes thevalue:parameter - [ ]
@FocusStateproperties areprivate - [ ]
@Observableclasses are@MainActor— Swift 6 strict concurrency requires it - [ ] Property wrappers (
@AppStorage,@SceneStorage,@Query) inside@Observableclasses are marked@ObservationIgnored— they conflict with the macro and cause compiler errors - [ ] No business logic in
body— use.task,.onChange, or methods - [ ] No
AnyViewunless truly unavoidable — fix with better composition
Related Skills
Design trio:
/ios-ui-craft— Build visually striking interfaces (produces code)/ios-design-consultant— Design advice and rationale (no code)/ios-liquid-glass— Liquid Glass API reference
Workflow guides:
/guide-swiftui-ui-patterns— Navigation, state, sheets, component patterns/guide-swiftui-animations— Implicit/explicit animation, transitions, keyframes/guide-swiftui-charts— Marks, axes, selection, styling, accessibility/guide-swiftui-view-refactor— View structure, extraction, MV patterns/guide-swiftui-performance-audit— Diagnose and fix performance issues/guide-swift-testing— Swift Testing patterns, async tests, common agent mistakes/guide-swift-concurrency— Concurrency patterns, actors, diagnostics, bug patterns/guide-swiftdata— SwiftData patterns, predicates, CloudKit constraints/guide-macos-spm-packaging— Build macOS apps with SwiftPM
Utilities:
/apple-docs-index— Find the right Apple documentation/simulator-utils— Simulator screenshots and device management/apple-aso— App Store Optimization
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: vabole
- Source: vabole/apple-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.