architecture

Enforce architectural principles for module boundaries, patterns, and dependencies.

Updated Dec 25, 2025
One-click install
npx skills add https://github.com/mourato/prisma --skill architecture-mourato
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: architecture
Source: https://github.com/mourato/prisma/tree/main/.agents/skills/architecture
Command: npx skills add https://github.com/mourato/prisma --skill architecture-mourato

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill helps define and enforce architectural standards for software projects, ensuring maintainability, testability, and clear separation of concerns.

Core Features & Use Cases

  • Module Boundary Design: Guides the creation of well-defined modules and their dependencies.
  • Architectural Pattern Application: Promotes patterns like MVVM and Clean Architecture.
  • Dependency Management: Emphasizes explicit dependency injection and protocol-oriented programming.
  • Use Case: When refactoring a large codebase, use this skill to ensure new modules adhere to established architectural principles and dependencies are managed correctly.

Quick Start

Apply Clean Architecture principles to the project's module design.

Frequently Asked Questions about architecture

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

FAQPage Schema
How do I design module boundaries and manage dependencies for a large codebase?

Module boundary design is enforced by defining clear module dependencies and applying explicit dependency injection. This approach ensures maintainability and testability through protocol-oriented programming and canonical module layouts.

What is the best way to apply Clean Architecture and MVVM patterns during a refactoring?

Clean Architecture and MVVM patterns are applied by separating concerns and enforcing architectural principles. This guides the creation of well-defined modules and ensures new dependencies are managed correctly during refactoring.

Does dependency injection work with protocol-oriented programming for software design?

Dependency injection works directly with protocol-oriented programming to support maintainability and testability. This combination enforces explicit dependency management and clear separation of concerns across module boundaries.

How do I enforce architectural constraints for real-time systems with audio hot-paths?

Architectural constraints for real-time systems are enforced by adhering to canonical module layouts and audio hot-path constraints. This ensures the software design maintains performance standards for real-time processing.

When do I need explicit dependency management in software architecture?

Explicit dependency management is needed when defining module boundaries and applying architectural patterns like MVVM. It emphasizes testability and maintainability by ensuring dependencies are correctly managed across the codebase.

Why does protocol-oriented programming help with software testability and maintainability?

Protocol-oriented programming helps testability and maintainability by enforcing explicit dependency injection and clear module boundary design. This architectural principle separates concerns and manages dependencies effectively.