agent-harness-design
Designing agent harnesses and tool systems — risk taxonomy for tools, permission decisions, draft/commit pattern, structured tool…
Comprehensive iOS app development skill. Use this skill for ANY iOS-related task: writing Swift/SwiftUI/UIKit code, architecting apps, debugging crashes, setting up navigation, networking, data persistence, animations, performance optimization, App Store submission, Xcode
$ npx -y skills add AnastasiyaW/codex-claude-code-config --skill ios-development --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/ios-developmentContext preview
The summary Claude sees to decide when to auto-load this skill.
Comprehensive iOS app development skill. Use this skill for ANY iOS-related task: writing Swift/SwiftUI/UIKit code, architecting apps, debugging crashes, setting up navigation, networking, data persistence, animations, performance optimization, App Store submission, Xcode
name: ios-development description: > Comprehensive iOS app development skill. Use this skill for ANY iOS-related task: writing Swift/SwiftUI/UIKit code, architecting apps, debugging crashes, setting up navigation, networking, data persistence, animations, performance optimization, App Store submission, Xcode configuration. Trigger when user mentions: iOS, Swift, SwiftUI, UIKit, Xcode, iPhone/iPad app, Combine, CoreData, SwiftData, MVVM, TCA, URLSession, async/await, @State/@Binding/@ObservableObject, NavigationStack, XCTest, TestFlight, provisioning profiles, or any Apple platform development. Always use this skill before writing iOS code or architecture. Do NOT use for web frontends (HTML/CSS/JS, React/Vue, browser UI) — even a WebView's page content is web work; use frontend-design for that. This skill is native Apple-platform code only.
Before anything else, identify: 1. **UI framework** → SwiftUI / UIKit / mixed? 2. **Architecture** → MVVM / TCA / VIPER / Clean / MVC? 3. **iOS target** → iOS 16 / 17 / 18? (affects API availability) 4. **Task type** → new feature / debug / refactor / architecture / performance / release? 5. **Graphics intensity** → стандартный UI / средняя 3D / тяжёлая графика / Metal?
Если задача связана с **Metal, GPU, рендерингом, шейдерами, TBDR, MetalFX, GPU profiling, frame pacing, PSO, heaps, ICB, MTLIO** → читать `references/metal-graphics.md` первым.
Then read the relevant reference file before writing code.
---
| Topic | File | When to read | |---|---|---| | SwiftUI pipeline | `references/swiftui.md` | SwiftUI views, state, bindings, modifiers, animations | | UIKit pipeline | `references/uikit.md` | UIViewController, Auto Layout, delegates, storyboards | | Architecture | `references/architecture.md` | MVVM, TCA, VIPER, Clean, Coordinator | | Networking | `references/networking.md` | URLSession, async/await, REST/GraphQL, auth | | Data persistence | `references/data.md` | CoreData, SwiftData, UserDefaults, Keychain, FileManager | | Navigation | `references/navigation.md` | NavigationStack, Coordinator, deep links, sheets | | Performance | `references/performance.md` | Instruments, memory, launch time, rendering | | **Metal & Heavy Graphics** | `references/metal-graphics.md` | Metal, GPU рендер, TBDR, PSO/heaps/argument buffers, ICB, MTLIO, MetalFX, терморегуляция, профилирование GPU |
---
| Feature | Min iOS | |---|---| | SwiftUI | iOS 13 | | `async/await` | iOS 15 | | NavigationStack | iOS 16 | | SwiftData | iOS 17 | | `@Observable` macro | iOS 17 | | RippleEffect, ScrollView phases | iOS 18 |
Always check target before using newer APIs. Use `#available` guards for backward compatibility:
if #available(iOS 17, *) {
// SwiftData or @Observable
} else {
// fallback
}---
// Prefer this
func loadUser() async throws -> User {
let data = try await URLSession.shared.data(from: url).0
return try JSONDecoder().decode(User.self, from: data)
}
// Call site
Task {
do {
user = try await loadUser()
} catch {
errorMessage = error.localizedDescription
}
}enum AppError: LocalizedError {
case networkUnavailable
case decodingFailed(String)
case unauthorized
var errorDescription: String? {
switch self {
case .networkUnavailable: return "No internet connection"
case .decodingFailed(let detail): return "Data error: \(detail)"
case .unauthorized: return "Please sign in again"
}
}
}Prefer `struct` over `class` unless you need reference semantics, inheritance, or `@Observable`.
---
Is the screen purely data-display with simple interaction? YES → MVC / simple SwiftUI View with @State is fine NO ↓ Is business logic testable without UI? Required → use ViewModel (MVVM) or Store (TCA) Is navigation/routing complex (deep links, coordinator)? YES → read references/navigation.md → Coordinator pattern Is the team large or is this a long-lived product? YES → Clean Architecture or TCA → read references/architecture.md Default for most apps: MVVM + Coordinator
---
Local transient state → @State
Passed from parent → @Binding
Shared across views → @StateObject / @ObservedObject (iOS 16-)
→ @State with @Observable class (iOS 17+)
App-wide environment → @EnvironmentObject / @Environment@Observable
class UserStore {
var users: [User] = []
var isLoading = false
}
// In View — no property wrapper needed
struct UserListView: View {
var store: UserStore // just pass it
var body: some View {
List(store.users) { Text($0.name) }
}
}class UserViewModel: ObservableObject {
@Published var users: [User] = []
@Published var isLoading = false
}
struct UserListView: View {
@StateObject private var vm = UserViewModel()
}---
**New project:**
**Capabilities to enable when needed:**
---
// Unit test — ViewModel @MainActor final class U
A practical configuration kit for Claude Code, Codex, and other coding agents. It contains architectural principles, enforcement hooks, skills, drop-in rules, starter templates, and dynamic-workflow commands.
Designing agent harnesses and tool systems — risk taxonomy for tools, permission decisions, draft/commit pattern, structured tool…
Use when designing, auditing, refactoring, or explaining an agentic harness for any domain, especially when work must continue…
Практическая инженерия диффузионных моделей: архитектуры, обучение, инференс, оптимизация памяти. Использовать при любых задачах…
Expert prompt engineering for FLUX.2 [klein] image generation and editing model. Use this skill whenever the user wants to create…
Plan or review LoRA and edit-training work specifically for FLUX.2 Klein or Qwen-Image-Edit, including paired datasets,…
Forensic image-to-prompt compiler for image generation models. Use this skill whenever the user wants to: convert/describe an…