jwa91

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.

jwa91 0 Updated 3mo ago

Resources

1
GitHub

Install

npx skillscat add jwa91/agentskills/clean-architecture

Install via the SkillsCat registry.

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