clean-architecture

Define software architecture layers and dependency rules for Clean Architecture.

Updated Aug 27, 2026
One-click install
npx skills add https://github.com/paulalarosa/lumihub --skill clean-architecture-paulalarosa
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: clean-architecture
Source: https://github.com/paulalarosa/lumihub/tree/main/skills/.agents/skills/_all_skills/clean-architecture
Command: npx skills add https://github.com/paulalarosa/lumihub --skill clean-architecture-paulalarosa

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Clean Architecture provides a disciplined approach to structuring software so that business rules remain independent of frameworks, databases, and delivery mechanisms. It guides system design by enforcing boundaries and promoting testability, maintainability, and evolvability across changing technologies.

Core Features & Use Cases

  • Dependency Rule: inner circles define policies and outer circles implement details to keep high-level logic pure.
  • Layered boundaries: Entities, Use Cases, Interface Adapters, and Frameworks & Drivers structure the system for swap-friendly evolution.
  • Plugin architecture: Main wires concrete implementations at startup, enabling infrastructure swaps without touching core business rules.

Quick Start

Use Clean Architecture to separate business rules from delivery mechanisms and wire the system via a Main composition root that plugs in adapters for persistence, UI, and external services.

Frequently Asked Questions about clean-architecture

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

FAQPage Schema
How does the dependency rule work in clean architecture?

The dependency rule in clean architecture mandates that inner circles defining policies and core business rules cannot depend on outer circles implementing details, ensuring high-level logic remains pure and independent of frameworks.

How do I structure software to keep business rules independent of frameworks?

Structure software using clean architecture by defining boundary layers, applying SOLID principles and dependency inversion, and wiring concrete implementations through a Main composition root that plugs in adapters for persistence and UI.

When should I use clean architecture for software design?

Use clean architecture for software design when you need to enforce boundary definitions, enable plugin-friendly infrastructure swaps, and maintain high testability and evolvability across changing technologies and delivery mechanisms.

How do I wire infrastructure adapters in a clean architecture Main composition root?

Wire infrastructure adapters in a clean architecture Main composition root by plugging concrete implementations for persistence, UI, and external services into use case boundaries at startup, enabling infrastructure swaps without modifying core business rules.