clean-architecture

Guide software design with Clean Architecture principles and dependency rules.

193|17|Updated Jan 16, 2026
One-click install
npx skills add https://github.com/pproenca/dot-skills --skill clean-architecture-pproenca
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: clean-architecture
Source: https://github.com/pproenca/dot-skills/tree/main/skills/.experimental/clean-architecture
Command: npx skills add https://github.com/pproenca/dot-skills --skill clean-architecture-pproenca

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) and assets (resource) components.

What problem does it solve?

This Skill provides a comprehensive methodology for designing software systems that are maintainable, testable, and scalable by enforcing clear separation of concerns and dependency rules.

Core Features & Use Cases

  • Architectural Guidance: Offers detailed rules and principles based on Robert C. Martin's Clean Architecture.
  • Dependency Management: Guides on structuring code to ensure dependencies point inward, preventing cascade failures.
  • Use Case: When designing a new microservice, use this Skill to ensure its internal structure adheres to Clean Architecture principles, making it easier to test and maintain.

Quick Start

Apply the clean-architecture skill to refactor the existing codebase to adhere to the Dependency Rule.

Frequently Asked Questions about clean-architecture

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

FAQPage Schema
What is clean architecture and how does the dependency rule work?

Clean architecture is a software design methodology that enforces separation of concerns by ensuring dependencies always point inward toward core entities. This dependency rule prevents outer layers like frameworks from affecting inner business logic, ensuring maintainability.

How do I structure a microservice to improve testability and maintainability?

To improve testability and maintainability, isolate use cases, define clear boundaries, and separate interface adapters from core logic. This structure isolates framework dependencies, allowing you to test business rules independently of external systems.

When should I use clean architecture for software design?

Use clean architecture when designing new microservices or refactoring complex codebases where maintainability and testability are critical. It addresses challenges in code organization and inter-layer communication by strictly enforcing dependency direction.

What's the best way to refactor an existing codebase to follow clean architecture principles?

The best way to refactor for clean architecture is to apply the dependency rule, isolating entities and use cases from interface adapters and frameworks. This process restructures code organization to ensure dependencies point inward, preventing cascade failures.

Does clean architecture isolate frameworks and external systems from business logic?

Yes, clean architecture isolates frameworks by keeping them in the outermost layers. By defining strict boundaries and using interface adapters, the core business logic remains independent of external systems and framework changes.

What are the limitations of clean architecture for component cohesion?

A limitation of clean architecture is the initial complexity and boilerplate required to define boundaries and interface adapters. Strict adherence to the dependency rule can introduce overhead for small software systems where simpler designs might suffice.