kbelasheuski
UserChoose, audit, refactor & migrate iOS app architectures. A Claude Code & Codex agent plus skills.
Categories
Indexed Skills (15)
analyser
Audit an existing iOS codebase, detect the current architecture (or closest match), score it across nine parameters, and produce either a refactor plan to improve it in place OR a migration recommendation. Use when the user asks for a codebase audit, refactor planning, "what architecture do we have", or wants to know if it's worth migrating.
arch-clean-architecture
Layered Clean Architecture for iOS — Domain (Entities, Use Cases, Repository protocols), Data (DTOs, repository impls), Presentation (any UI pattern, MVVM by default). Dependency rule outer→inner. Use for medium/large apps with non-trivial domain logic.
arch-clean-swift
Clean Swift (VIP) by Raymond Law. Strict V → I → P → V cycle, per-boundary Request/Response/ViewModel structs, Worker for repo access. Use for TDD-committed UIKit teams; avoid in SwiftUI.
arch-modular-tma
Modular / TMA (The Modular Architecture) — each feature is a Tuist or SPM module with Interface, Sources, Tests, Example targets. Orthogonal to in-module pattern (MVVM, TCA, etc.). Use for medium-to-large teams (≥5 devs or ≥30 screens).
arch-mvc
Apple Cocoa MVC for iOS (UIKit). Use when implementing or refactoring against the default Apple sample-code pattern. Reject for production apps that will scale past 20 screens.
arch-mvp
Model-View-Presenter for UIKit. Passive View + Presenter holding presentation logic. Use when migrating MVC towards testability without taking on Combine/Rx.
arch-mvvm-c
MVVM + Coordinator. UIKit variant uses Coordinator classes owning UINavigationController. SwiftUI variant uses a typed Router with NavigationStack(path:). Use for UIKit medium/large apps with deep-linking or SwiftUI apps where NavigationStack alone is too thin.
arch-mvvm-swiftui
MVVM for SwiftUI using the iOS 17 Observation framework (@Observable). Default for medium SwiftUI apps. Use when implementing or refactoring SwiftUI screens with non-trivial presentation logic.
arch-mvvm-uikit
MVVM for UIKit using Combine. ViewModel exposes @Published outputs + command methods; ViewController binds via Combine sinks. Use for medium UIKit codebases comfortable with Combine.
arch-redux-reswift
Redux / ReSwift for iOS. Single global store, pure reducers, actions, middleware for side effects. Use when sharing business logic across platforms or when a team has Redux background. Consider TCA first for greenfield SwiftUI.
arch-ribs
Uber RIBs (Router-Interactor-Builder). Hierarchical RIB tree, RxSwift-driven, Builder/Component DI. Use only at Uber-scale teams (≥30 iOS engineers) with deeply nested state. Reject otherwise.
arch-tca
The Composable Architecture (TCA) by Point-Free, SwiftUI-first. @Reducer + @ObservableState, Effect-driven, exhaustive testing via TestStore. Use for correctness-critical greenfield SwiftUI apps with capacity to absorb the learning curve.
arch-viper
VIPER for UIKit. Five-component module per screen — View, Interactor, Presenter, Entity, Router — plus Builder. Use for large UIKit codebases with multi-team ownership or regulated domains. Reject for SwiftUI-first and small teams.
migrator
Migrate an iOS codebase from one architecture pattern to another. Covers all 12×12 source→target pairs across MVC, MVP, MVVM-UIKit, MVVM-SwiftUI, MVVM-C, VIPER, Clean Swift, Clean Architecture, TCA, Redux/ReSwift, RIBs, and Modular/TMA. Produces a phased plan with shared primitives, per-pair playbook, and rollback triggers. Use when the user wants to migrate, port, or replace the architecture of an existing iOS project.
researcher
Greenfield iOS architecture decision. Asks structured discovery questions about the project, team, timeline, tech stack, and constraints, then recommends a primary architecture with rationale and a fallback. Use when the user is starting a new app, picking a stack, or asking "what should we use".
Bio shown is the top-scored skill's repo description as a fallback — real GitHub bios land in a future update.