solid-swift

SOLID Swift - Apple Best Practices 2026

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "solid-swift" with this command: npx skills add fusengine/agents/fusengine-agents-solid-swift

SOLID Swift - Apple Best Practices 2026

Agent Workflow (MANDATORY)

Before ANY implementation, use TeamCreate to spawn 3 agents:

  • fuse-ai-pilot:explore-codebase - Analyze existing architecture

  • fuse-ai-pilot:research-expert - Verify Swift/Apple docs via Apple Docs MCP + Context7

  • XcodeBuildMCP - Build validation after code changes. Then run fuse-ai-pilot:sniper.

DRY - Reuse Before Creating (MANDATORY)

Before writing ANY new code:

  • Grep the codebase for similar protocols, services, or logic

  • Check shared locations: Core/Extensions/ , Core/Utilities/ , Core/Protocols/

  • If similar code exists -> extend/reuse instead of duplicate

  • If code will be used by 2+ features -> create it in Core/ directly

Architecture (Features Modular MANDATORY)

Layer Location Max Lines

Views Features/[Feature]/Views/

80

ViewModels Features/[Feature]/ViewModels/

100

Services Features/[Feature]/Services/

100

Protocols Features/[Feature]/Protocols/

30

Shared Core/{Models,Protocols,Services,Extensions,Utilities}/

NEVER use flat Sources/ structure - always Features/[Feature]/

Critical Rules (MANDATORY)

Rule Value

File limit 100 lines (split at 90)

ViewModels @MainActor @Observable

Protocols Features/[Feature]/Protocols/ or Core/Protocols/ ONLY

Models Sendable structs

Documentation /// on all public APIs

Previews Every View MUST have #Preview

Reference Guide

Concepts

Topic Reference When to consult

SOLID Overview solid-principles.md Quick reference all principles

SRP single-responsibility.md Fat views/VMs, splitting files

OCP open-closed.md Adding providers, extensibility

LSP liskov-substitution.md Protocol contracts, testing

ISP interface-segregation.md Fat protocols, splitting

DIP dependency-inversion.md Injection, testing, mocking

Concurrency concurrency-patterns.md Actors, @MainActor, Sendable

Anti-Patterns anti-patterns.md Code smells detection

Templates

Template When to use

view.md SwiftUI View with subviews and #Preview

viewmodel.md @Observable ViewModel with @MainActor

service.md API Service, Mock, Cache actor

protocol.md Service protocol, CQRS, Auth

model.md Model, DTO, Error, Enum

Forbidden

Anti-Pattern Fix

Files > 100 lines Split at 90

Protocols in impl files Move to Protocols/ directory

ObservableObject

Use @Observable

Completion handlers Use async/await

Missing #Preview

Add preview for every View

Non-Sendable in async Use struct with let

Flat Sources/ structure Use Features/[Feature]/

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

laravel-livewire

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

laravel-blade

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

laravel-architecture

No summary provided by upstream source.

Repository SourceNeeds Review