architecture-patterns

Guide iOS teams in selecting MVVM, TCA, or Clean Architecture by feature complexity.

3|2|Updated Jan 18, 2026
One-click install
npx skills add https://github.com/dagba/ios-mcp --skill architecture-patterns-dagba
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: architecture-patterns
Source: https://github.com/dagba/ios-mcp/tree/main/skills/architecture-patterns
Command: npx skills add https://github.com/dagba/ios-mcp --skill architecture-patterns-dagba

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill provides a compact reference to help iOS teams decide which architecture pattern (MVVM, TCA, Clean Architecture) to apply based on feature complexity, reducing guesswork during design.

Core Features & Use Cases

  • Decision criteria by complexity: Simple, Medium, Complex, and Enterprise guidance.
  • Pattern guidance: When to use MVVM, TCA, or Clean Architecture across SwiftUI and UIKit projects.
  • Rules & references: Key rules (DI, unidirectional data flow, modular boundaries) with quick access to reference guides.
  • Use Case: Starting a new feature with one screen and local state suggests MVVM; multi-screen modules suggest TCA or Clean Architecture.

Quick Start

Review the decision tree to select the appropriate architecture pattern based on feature complexity. Apply MVVM for simple screens, MVVM for moderate complexity, TCA for complex flows, and Clean Architecture for multi-team projects. Reference the included mvvm-patterns.md, tca-guide.md, and clean-architecture.md for deeper guidance.

Frequently Asked Questions about architecture-patterns

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

FAQPage Schema
How do I choose the right iOS architecture pattern for a new feature?

To choose an iOS architecture pattern, evaluate feature complexity. Apply MVVM for simple one-screen local state, TCA for complex multi-screen flows, and Clean Architecture for large multi-team modular projects.

When should I use TCA over MVVM in a SwiftUI project?

Use TCA over MVVM in SwiftUI projects when handling complex multi-screen modules. MVVM is recommended for simple single-screen components with local state, while TCA manages complex flows requiring unidirectional data flow.

Can I apply these iOS architecture patterns to UIKit projects?

Yes, you can apply these iOS architecture patterns to both SwiftUI and UIKit projects. The guidance covers selecting and applying MVVM, TCA, or Clean Architecture based on feature complexity across both UI frameworks.

What design rules are enforced when applying Clean Architecture in iOS?

Applying Clean Architecture in iOS enforces design rules including protocol-based dependency injection, unidirectional data flow, and strict modular boundaries to maintain structure across large multi-team projects.

How do I refactor an existing iOS screen to a new architecture pattern?

To refactor an existing iOS screen, use the decision tree to match feature complexity to the appropriate pattern. The referenced guides for MVVM, TCA, and Clean Architecture provide the rules needed for both new features and refactors.