clean-architecture

Apply Clean Architecture boundaries to isolate domain logic from infrastructure.

20|3|Updated Apr 30, 2026
One-click install
npx skills add https://github.com/DVNghiem/FlowDeck --skill clean-architecture-dvnghiem
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: clean-architecture
Source: https://github.com/DVNghiem/FlowDeck/tree/main/src/skills/clean-architecture
Command: npx skills add https://github.com/DVNghiem/FlowDeck --skill clean-architecture-dvnghiem

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Apply Clean Architecture boundaries to keep domain logic isolated from frameworks and infrastructure.

Core Features & Use Cases

  • Clear boundary between inner domain (entities, use cases) and outer layers (interfaces, infrastructure)
  • Place dependencies pointing inward and define domain ports with adapters for outer systems
  • Wire components using dependency injection to compose the architecture in both new features and refactors

Quick Start

Identify the core business logic, define the boundary that separates domain from infrastructure, and connect them via dependency injection.

Frequently Asked Questions about clean-architecture

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

FAQPage Schema
How do I isolate domain logic from frameworks and infrastructure?

To isolate domain logic, enforce clean architecture boundaries by separating inner domain entities and use cases from outer infrastructure layers, ensuring dependencies always point inward toward the domain.

What is the best way to structure a codebase for high testability and maintainability?

Structuring with clean architecture boundaries isolates domain logic from frameworks, defining domain ports and outer adapters wired via dependency injection to achieve high testability and maintainability.

How do I apply dependency inversion when refactoring across services and UI layers?

Apply dependency inversion by defining domain ports as interfaces, implementing outer adapters for infrastructure, and wiring them together using dependency injection to invert dependency flow inward during refactors.

When do I need clean architecture boundaries for my software design?

You need clean architecture boundaries during feature design and refactors when isolating core business logic from frameworks and infrastructure is required to improve testability and maintainability across modules.

Does clean architecture require dependency injection to wire components?

Yes, clean architecture requires dependency injection to compose the architecture by wiring outer infrastructure adapters into inner domain ports, ensuring dependencies point inward and domain logic remains isolated.

What are the limitations of enforcing strict clean architecture boundaries?

Enforcing strict clean architecture boundaries requires significant boilerplate to define ports and adapters, increasing initial complexity for simple features where isolating domain logic from infrastructure provides minimal value.