architecture-patterns

Design maintainable backend architectures with domain boundaries and dependency rules.

Updated May 5, 2026
One-click install
npx skills add https://github.com/Movchanets/Microservices_Learning --skill architecture-patterns-movchanets
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: architecture-patterns
Source: https://github.com/Movchanets/Microservices_Learning/tree/main/.agents/skills/architecture-patterns
Command: npx skills add https://github.com/Movchanets/Microservices_Learning --skill architecture-patterns-movchanets

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps you design and refactor backend systems that stay maintainable, testable, and scalable as they grow in complexity.

Core Features & Use Cases

  • Clean Architecture Guidance: Define inward dependency flow, stable domain rules, and clear separation between business logic and infrastructure.
  • Hexagonal Architecture Support: Model ports and adapters so core logic can switch databases, APIs, and messaging providers with minimal disruption.
  • DDD Planning: Identify bounded contexts, aggregates, entities, and domain events for microservices and modular monoliths.
  • Use Case: Use it when decomposing a marketplace platform into services, establishing architecture standards, or validating a migration away from tightly coupled code.

Quick Start

Ask the skill to assess your current backend architecture and produce a step-by-step plan for boundaries, dependencies, and migration improvements.

Frequently Asked Questions about architecture-patterns

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

FAQPage Schema
How do I design scalable backend architecture using domain-driven design and bounded contexts?

To design scalable backend architecture using domain-driven design, you identify bounded contexts, aggregates, and domain events to establish clear boundaries. This creates maintainable, testable systems with stable domain rules and inward dependency flow for framework-independent microservices or modular monoliths.

What is the best way to refactor a tightly coupled backend into a microservices architecture?

The best way to refactor a tightly coupled backend into microservices is to assess current architecture, clarify domain boundaries, and establish dependency rules. This produces a step-by-step migration plan validating inward dependency flow and testable abstractions for scalable, framework-independent systems.

How does hexagonal architecture support switching databases and APIs with minimal disruption?

Hexagonal architecture supports switching databases and APIs by modeling ports and adapters around core logic. This layering strategy isolates business logic from infrastructure, allowing you to swap messaging providers or databases with minimal disruption while maintaining testable abstractions and inward dependency flow.

When do I need clean architecture for my backend systems?

You need clean architecture when backend systems grow in complexity and require clear separation between business logic and infrastructure. It enforces inward dependency flow and stable domain rules, ensuring your system stays maintainable, testable, and scalable during architecture refactoring or microservices decomposition.

Can I use this approach to decompose a marketplace platform into services?

Yes, you can use this approach to decompose a marketplace platform into services. By applying domain-driven design to identify bounded contexts and validating migration steps, you establish testable abstractions and inward dependency flow for scalable, framework-independent microservices decomposition.

Why does my backend architecture fail to scale and how do I fix the dependency flow?

Backend architecture fails to scale when tightly coupled code violates inward dependency flow and lacks testable abstractions. You fix it by applying clean architecture or hexagonal architecture to define stable domain rules, separate business logic from infrastructure, and validate migration steps for maintainable systems.