software-architecture

Guide software architecture design using Clean Architecture and Domain-Driven Design.

1|Updated Mar 20, 2026
One-click install
npx skills add https://github.com/stericishere/skills --skill software-architecture-stericishere
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: software-architecture
Source: https://github.com/stericishere/skills/tree/main/software-architecture
Command: npx skills add https://github.com/stericishere/skills --skill software-architecture-stericishere

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This guide helps teams design and evaluate high-quality software architectures by aligning with Clean Architecture and Domain-Driven Design principles, ensuring a clear separation of concerns and maintainable codebases.

Core Features & Use Cases

  • Guidance based on Clean Architecture and DDD principles to separate domain logic from infrastructure.
  • Naming conventions and modular decomposition to avoid vague, generic names.
  • Anti-pattern avoidance, strong emphasis on testable, maintainable designs, and code quality.
  • Use Case: Design or review software architectures for projects spanning frontend, backend, and services.

Quick Start

Ask me to apply these architecture guidelines to a new or existing module to generate a maintainable, well-structured design.

Frequently Asked Questions about software-architecture

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

FAQPage Schema
How do I design software architecture using Clean Architecture and DDD principles?

Software architecture design using Clean Architecture and DDD separates domain logic from infrastructure to ensure maintainable codebases. This approach guides developers in establishing clear separation of concerns, defining bounded contexts, and enforcing modular decomposition across frontend, backend, and services.

How do I avoid common anti-patterns when structuring a new software module?

To avoid anti-patterns when structuring a software module, apply strict naming conventions and modular decomposition to prevent vague, generic names. Emphasizing testable designs and clear separation of concerns eliminates common structural pitfalls and improves overall code quality.

What is the best way to separate domain logic from infrastructure code?

The best way to separate domain logic from infrastructure code is applying Clean Architecture and Domain-Driven Design principles. These architecture guidelines establish bounded contexts and enforce separation of concerns, keeping business rules independent of external frameworks and data access layers.

Can I use these architectural guidelines to review an existing codebase?

Yes, you can use these architecture guidelines to review an existing codebase. The principles apply during code analysis and system reviews, helping teams evaluate separation of concerns, identify anti-patterns, and refactor toward a maintainable, well-structured design.

When do I need to establish bounded contexts in software design?

You need to establish bounded contexts in software design when decomposing complex domains into modular, maintainable systems. Applying Domain-Driven Design principles clarifies naming conventions and enforces separation of concerns across projects spanning frontend, backend, and services.

Does this architectural approach work for both frontend and backend projects?

Yes, this architectural approach works for frontend, backend, and service projects. The Clean Architecture and DDD guidelines apply across the entire system stack to ensure consistent naming conventions, modular decomposition, and high code quality regardless of the specific platform.