Build, review, and refactor iOS mobile apps (Swift) using modern iOS patterns. Use for tasks like SwiftUI UI, navigation, state management, networking (URLSession), persistence (Core Data/SwiftData/Keychain), dependency injection, modularization (SPM), testing, performance, accessibility, and App Store release readiness.
Scanned 9/6/2026
Install to Claude Code
npx -y skills add muzhicaomingwang/ai-ideas --skill iOS --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of IOS?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/muzhicaomingwang-ios)More formats (shields.io, HTML) on the badges page.
---
name: ios
description: Build, review, and refactor iOS mobile apps (Swift) using modern iOS patterns. Use for tasks like SwiftUI UI, navigation, state management, networking (URLSession), persistence (Core Data/SwiftData/Keychain), dependency injection, modularization (SPM), testing, performance, accessibility, and App Store release readiness.
---
# ios
Use this skill when working on iOS client (大前端 / 移动端) codebases.
## Defaults (unless repo dictates otherwise)
- Language: Swift
- UI: SwiftUI (if UIKit exists, follow existing architecture and integrate incrementally)
- Architecture: MVVM + unidirectional state where appropriate
- Concurrency: async/await, `Task`, `Actor` as needed
- Modularization: Swift Package Manager (SPM) if present
## Project structure (recommended)
- `App/`: application entry, app lifecycle, root navigation
- `Features/<Name>/`: feature modules (UI + ViewModel + domain models)
- `Core/`: shared utilities, design system, logging, networking primitives
- `Data/`: API clients, persistence implementations
- `Resources/`: assets, localization
## Workflow
1) Establish constraints
- iOS deployment target, supported devices, required permissions.
- SwiftUI vs UIKit and existing patterns (coordinator, reducers, etc.).
2) Define app flows
- Identify screens and navigation.
- Define `ViewState`/`Action` for each screen; keep states serializable and testable.
3) Networking
- Prefer `URLSession` + typed request/response models.
- Centralize auth headers, retries, and error mapping.
- Avoid leaking raw transport errors into UI; map to domain errors.
4) Persistence
- Choose one consistent approach: SwiftData/Core Data for structured data; UserDefaults for small prefs; Keychain for secrets/tokens.
- Add migration strategy notes if schema evolves.
5) UI & state
- Views should be mostly declarative; business logic lives in ViewModel.
- Make loading/error/empty states explicit.
- Use `@MainActor` for UI-facing state updates.
6) Performance & UX
- Minimize unnecessary view updates; use value types, `Equatable` states where helpful.
- Images: async loading/caching; list virtualization with `List` best practices.
- Accessibility: VoiceOver labels, Dynamic Type, sufficient contrast.
7) Quality gates
- Unit tests for ViewModels and domain logic.
- Snapshot/UI tests where valuable.
- Ensure release config (entitlements, signing, privacy strings) is correct.
## Output expectations when making changes
- Keep diffs localized; avoid broad refactors unless requested.
- Add/adjust tests when changing behavior.
- For new features: include navigation entry, state contract, and data wiring.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!