architecture

Document the Ensemble app architecture across packages, domains, and cross-cutting concerns.

3|1|Updated Jan 29, 2026
One-click install
npx skills add https://github.com/videogorl/ensemble --skill architecture-videogorl
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: architecture
Source: https://github.com/videogorl/ensemble/tree/main/.claude/skills/architecture
Command: npx skills add https://github.com/videogorl/ensemble --skill architecture-videogorl

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Provides a centralized reference that defines the Ensemble app’s structure, relationships between layers, and governance for scalable development.

Core Features & Use Cases

  • Canonical package layout across EnsembleAPI, EnsembleCore, EnsemblePersistence, and EnsembleUI to align teams.
  • Guidelines for patterns like MVVM, dependency injection, repository usage, and actor-based concurrency, plus cross-cutting concerns (artwork caching, waveform, hub system, network resilience, and Siri integration).
  • Use Case: Plan a new feature by mapping its impact on services, data models, and UI, avoiding ad-hoc architecture changes.

Quick Start

Review the architecture blueprint and use it as the foundation for planning and implementing new features.

Frequently Asked Questions about architecture

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

FAQPage Schema
How do I structure a Swift app using MVVM and dependency injection?

Structure a Swift app with MVVM and dependency injection by defining a canonical package layout across API, Core, Persistence, and UI layers. This blueprint aligns teams on repository patterns and actor-based concurrency for scalable feature wiring.

What is the best way to plan cross-cutting concerns like artwork caching and waveform visualization in a layered architecture?

Plan cross-cutting concerns in a layered architecture by mapping their impact on services, data models, and UI within the blueprint. Guidelines cover artwork caching, waveform visualization, and network resilience to avoid ad-hoc architectural changes.

How do I implement offline download orchestration and Siri intents within a repository pattern?

Implement offline download orchestration and Siri intents by following the blueprint's subsystem coverage guidelines. The architecture defines how repository patterns and domain layers interact with these specific subsystems for resilient data handling.

Does this architecture blueprint support hub-based home screens and playback tracking?

Yes, the architecture blueprint supports hub-based home screens and playback tracking. It provides canonical subsystem coverage that defines how these features wire into the EnsembleUI and EnsembleCore packages.

When should I use actor-based concurrency instead of standard repository patterns in Swift?

Use actor-based concurrency alongside repository patterns when managing cross-cutting concerns like network resilience and offline download orchestration. The blueprint provides governance for applying concurrency within the layered MVVM structure.