alesanabriav7

ios-architect

Scaffold modern iOS apps and features with Clean Architecture, MVVM, SwiftUI, GRDB, Swift Concurrency, optional Apple Foundation Models integration, and modular local packages. Use when creating a new iOS app, adding a feature/service/model/migration/design system component/package, or enforcing Domain/Data/Presentation separation with feature-local ownership by default and shared modules only for true cross-domain concerns.

alesanabriav7 2 1 Updated 3mo ago

Resources

1
GitHub

Install

npx skillscat add alesanabriav7/ios-architect-skill/ios-architect

Install via the SkillsCat registry.

SKILL.md

iOS Architect

Keep token usage low by loading only the references needed for the current request.

Load Strategy

  1. Always read references/intake.md first.
  2. Read only the references relevant to the build type:

New app from scratch

  • references/new-app-scaffold.md
  • references/feature-scaffold.md
  • references/database-and-migrations.md
  • references/design-system.md
  • references/testing-concurrency-di.md
  • references/privacy-and-compliance.md
  • Optional: references/networking.md — when the app has API-backed features
  • Optional: references/navigation.md — when deep linking or iPad/multi-column is required
  • Optional: references/foundation-models.md — for on-device AI features
  • Optional: references/liquid-glass.md — when iOS 26+ Liquid Glass styling is requested

New feature

  • references/feature-scaffold.md
  • If persistence changes: references/database-and-migrations.md
  • If custom UI components: references/design-system.md
  • If tests/concurrency concerns: references/testing-concurrency-di.md
  • If API-backed: references/networking.md
  • If navigation/deep linking changes: references/navigation.md
  • If on-device AI generation/streaming: references/foundation-models.md
  • If Liquid Glass styling: references/liquid-glass.md

New cross-domain shared service or model

  • references/testing-concurrency-di.md
  • If DB-backed: references/database-and-migrations.md
  • If API-backed: references/networking.md
  • If Apple Foundation Models: references/foundation-models.md

New design system component

  • references/design-system.md
  • If Liquid Glass: references/liquid-glass.md

New database migration

  • references/database-and-migrations.md

New local SPM package

  • references/new-app-scaffold.md
  • references/testing-concurrency-di.md

Do not bulk-load all references when the task is narrow.

Shared Placement Rule

  • Default all model/repository/view-model ownership to the feature that uses it.
  • Use Shared only for true cross-domain capabilities consumed by at least two domains/features (e.g. Settings).
  • Keep shared capabilities domain-scoped (Shared/Settings/...) with their own Domain/Data/Presentation split.
  • Never create catch-all buckets such as Shared/Models or Shared/Data.

Execution Contract

  1. Run intake first (build type, name, flow, fields, data source, integrations, test scope).
  2. Generate complete, compile-ready files with concrete names.
  3. Keep Clean Architecture boundaries strict:
    • Domain — models and protocols only
    • Data — repository implementations and records
    • Presentation — SwiftUI views, view models, feature UI components
    • Keep each layer in the owning feature by default; only promote to shared for proven cross-domain reuse.
  4. Use modern APIs (@Observable, @MainActor, Swift Concurrency, Swift Testing).
    If AI is included, enforce runtime availability checks and deterministic fallback.
  5. Validate generated output:
    • New Tuist app: tuist generate + one build
    • Feature/module changes: targeted build/tests
  6. Report created files, validations run, and assumptions.