swift-architecture

Select SwiftUI and UIKit app architectures for maintainability and testability.

Updated May 10, 2026
One-click install
npx skills add https://github.com/FelixRauch/medat-figuren --skill swift-architecture-felixrauch
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: swift-architecture
Source: https://github.com/FelixRauch/medat-figuren/tree/main/.agents/skills/swift-architecture
Command: npx skills add https://github.com/FelixRauch/medat-figuren --skill swift-architecture-felixrauch

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It helps Swift app teams avoid architectural mismatches that cause slow development, hard-to-test code, and brittle state management.

Core Features & Use Cases

  • Architecture Selection: Pick an appropriate pattern (MV with @Observable, MVVM, MVI, TCA, Clean Architecture, Coordinator) based on feature complexity and team needs.
  • Pattern Migration Guidance: Plan upgrades and migrations between patterns while keeping responsibilities and data flow clear.
  • Quality Review Checklist: Use a structured checklist to validate testability, dependency injection, navigation separation, and auditable state mutation.
  • Apple Platform Scope: Focused on Swift 6.3 with SwiftUI and UIKit, including practical decision rules for common scenarios.

Quick Start

Ask for a recommendation: “I’m building a new SwiftUI iOS feature with complex state and side effects—should I use MVI or TCA, and what migration steps should I follow?”

Frequently Asked Questions about swift-architecture

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
What is the best Swift architecture pattern for a complex SwiftUI app?

SwiftUI architecture selection depends on feature complexity, using MV with @Observable for simple views and MVI or TCA for complex state. This ensures deterministic state flow and testability.

How do I migrate my iOS app from MVVM to TCA?

To migrate from MVVM to TCA, plan incremental upgrades while keeping responsibilities and data flow clear. Apply a quality checklist to validate dependency injection, navigation separation, and auditable state mutation throughout the process.

Should I use MVI or Clean Architecture for state management in Swift?

Choose MVI for strict unidirectional state flow in complex views, and Clean Architecture for broader system separation. Selection involves reviewing architecture fit based on specific feature complexity and team needs.

Does Swift 6.3 support dependency injection for testable UIKit and SwiftUI apps?

Yes, Swift 6.3 supports dependency injection to ensure testability across UIKit and SwiftUI apps. Using @Observable-based models and deterministic state-flow guidance helps validate separation and auditable state mutation.

When should I not use the Coordinator pattern for iOS navigation?

You should avoid the Coordinator pattern when navigation separation adds unnecessary complexity to simple SwiftUI views. A quality review checklist helps validate if the Coordinator pattern fits your specific feature complexity and team needs.