solution-architecture

Design scalable software architectures with layered structure and DDD-based modeling.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This guide provides a structured methodology for shaping scalable, maintainable software architectures using layered architecture, Domain-Driven Design (DDD), and solid design principles like SOLID.

Core Features & Use Cases

  • Layered architecture guidance: Present a clear separation of concerns across Presentation, Application, Domain, and Infrastructure layers.
  • DDD alignment and boundaries: Help identify bounded contexts, aggregates, and domain services to ensure clean domain modeling.
  • Architectural governance: Provide decision criteria for repository placement, service boundaries, and dependency direction to prevent architectural erosion.
  • Use Cases: Starting a new module, refactoring a monolith, or evaluating architecture during code reviews.

Quick Start

Define your core domain concepts, establish the four layers, and draft minimal interfaces for repositories and services to anchor the design

Frequently Asked Questions about solution-architecture

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

FAQPage Schema
What is layered architecture in Domain-Driven Design?

Layered architecture in Domain-Driven Design separates concerns across Presentation, Application, Domain, and Infrastructure layers to establish clear boundaries and enforce dependency direction for maintainable software.

How do I identify bounded contexts and aggregates for DDD alignment?

To identify bounded contexts and aggregates for DDD alignment, define your core domain concepts and draft minimal interfaces for repositories and domain services to anchor the design and ensure clean domain modeling.

What's the best way to refactor a monolith using a layered architecture?

The best way to refactor a monolith using a layered architecture is to establish the four separation layers and enforce dependency direction to prevent architectural erosion during the transition.

When do I need architectural governance for repository placement?

You need architectural governance for repository placement when evaluating architecture during code reviews or scaling teams, applying decision criteria to service boundaries to prevent structural decay.

Does this architectural approach work for starting a new startup module?

Yes, this approach works for starting a new startup module by providing a structured methodology to shape scalable software using SOLID design principles and DDD-based modeling.

Why enforce dependency direction across presentation and infrastructure layers?

Enforcing dependency direction across presentation and infrastructure layers prevents architectural erosion by ensuring layer boundaries are respected and core domain logic remains isolated.