agentsclimarketplace

Ios architecture

Skill ComeOnOliver/skillshub/skills/HoangNguyen0403/agent-skills-standard/ios-architecture

🧠 The right skill, one API call. AI agent skills registry with token-efficient skill resolution. 5,000+ skills from 500+ top repos.

Install
npx -y skills add ComeOnOliver/skillshub --skill ios-architecture

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

What its author says it does

Copied from the file, not written here

Standards for MVVM, Coordinators, and Clean Architecture (VIP/VIPER). Use when applying MVVM, Coordinators, or VIP/VIPER architecture in iOS apps. (triggers: **/*ViewModel.swift, **/*Coordinator.swift, **/*ViewController.swift, MVVM, Coordinator, ViewState, Output, Input)

SKILL.md

2.6 KB, 501 tokens by cl100k_base, as published. Nobody here has run it

iOS Architecture Standards

Priority: P0 (CRITICAL)

Implementation Guidelines

MVVM (Model-View-ViewModel)

  • ViewModel Responsibility: Handle business logic, formatting, and state. No UIKit imports (except for platform types like UIImage if strictly necessary).
  • ViewState: Use a single state object or discrete @Published properties for UI updates. Expose state as private(set) or using publishers.
  • Inputs/Outputs: Define explicit protocols or nested types for inputs (events from View) and outputs (state for View).

Coordinator Pattern

  • Navigation Logic: Decouple ViewControllers from navigation logic. The Coordinator handles instantiation and push/present. Do NOT use navigationController directly in the ViewController for screen transitions.
  • Dependency Injection: Pass dependencies (Services, Repositories) through the Coordinator into the ViewModels.
  • Child Coordinators: Maintain a hierarchy; correctly remove child coordinators from the parent's collection when their flow is finished.

Clean Architecture (VIP/VIPER)

  • VIP (Clean Swift): Use Interactor for logic, Presenter for UI formatting, and ViewController for display.
  • Unidirectional Flow: Data flows: View -> Interactor -> Presenter -> View.
  • VIPER: (View, Interactor, Presenter, Entity, Router) — another common architectural pattern for iOS apps.

Anti-Patterns

  • No Logic in VC: Move business logic to ViewModel/Interactor.
  • No Public ViewModel State: Keep state private(set) or using publishers.
  • No Direct Navigation: Use a Coordinator for screen transitions. Never use navigationController directly.

Verification Checklist (Mandatory)

  • Pure ViewModel: Does the ViewModel have any UIKit imports? (Prohibited)
  • Navigation: Is navigationController used directly in the VC for transitions? (Use Coordinator)
  • State Access: Is ViewModel state exposed as public var? (Use private(set) or publishers)
  • Deallocation: Are child coordinators correctly removed from the parent's collection on finish?
  • VIP Unidirection: Is the data flow unidirectional (View -> Interactor -> Presenter -> View)?

References

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 327,069. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.