Agent skill

clean-architecture

Clean Architecture principles and best practices from Robert C. Martin's book. This skill should be used when designing software systems, reviewing code structure, or refactoring applications to achieve better separation of concerns. Triggers on tasks involving layers, boundaries, dependency direction, entities, use cases, or system architecture.

Stars 20
Forks 6

Install this agent skill to your Project

npx add-skill https://github.com/petekp/claude-code-setup/tree/main/skills/clean-architecture

SKILL.md

Clean Architecture Best Practices

Comprehensive guide to Clean Architecture principles for designing maintainable, testable software systems. Based on Robert C. Martin's "Clean Architecture: A Craftsman's Guide to Software Structure and Design." Contains 42 rules across 8 categories, prioritized by architectural impact.

When to Apply

Reference these guidelines when:

  • Designing new software systems or modules
  • Structuring dependencies between layers
  • Defining boundaries between business logic and infrastructure
  • Reviewing code for architectural violations
  • Refactoring coupled systems toward cleaner structure

Rule Categories by Priority

Priority Category Impact Prefix
1 Dependency Direction CRITICAL dep-
2 Entity Design CRITICAL entity-
3 Use Case Isolation HIGH usecase-
4 Component Cohesion HIGH comp-
5 Boundary Definition MEDIUM-HIGH bound-
6 Interface Adapters MEDIUM adapt-
7 Framework Isolation MEDIUM frame-
8 Testing Architecture LOW-MEDIUM test-

Quick Reference

1. Dependency Direction (CRITICAL)

2. Entity Design (CRITICAL)

3. Use Case Isolation (HIGH)

4. Component Cohesion (HIGH)

5. Boundary Definition (MEDIUM-HIGH)

6. Interface Adapters (MEDIUM)

7. Framework Isolation (MEDIUM)

8. Testing Architecture (LOW-MEDIUM)

How to Use

Read individual reference files for detailed explanations and code examples:

Reference Files

File Description
references/_sections.md Category definitions and ordering
assets/templates/_template.md Template for new rules
metadata.json Version and reference information

Didn't find tool you were looking for?

Be as detailed as possible for better results