software-architecture

Guide code quality and architecture using Clean Architecture and Domain-Driven Design.

Updated Dec 22, 2025
One-click install
npx skills add https://github.com/royhenengel/Claude-Customizations --skill software-architecture-royhenengel
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: software-architecture
Source: https://github.com/royhenengel/Claude-Customizations/tree/main/skills/Code-Quality/software-development-practices/references/cek-software-architecture
Command: npx skills add https://github.com/royhenengel/Claude-Customizations --skill software-architecture-royhenengel

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill provides guidance on writing high-quality code and designing maintainable software architectures, focusing on principles like Clean Architecture and Domain-Driven Design to reduce technical debt and improve code longevity.

Core Features & Use Cases

  • Code Quality Standards: Enforces best practices for code style, decomposition, and error handling.
  • Architectural Guidance: Promotes separation of concerns, domain-specific naming, and a library-first approach.
  • Anti-Pattern Avoidance: Helps developers steer clear of common pitfalls like NIH syndrome and poor architectural choices.
  • Use Case: When starting a new project or refactoring existing code, consult this skill for best practices on structuring modules, naming conventions, and deciding when to use external libraries versus custom code.

Quick Start

Apply Clean Architecture and Domain-Driven Design principles to the software development process.

Frequently Asked Questions about software-architecture

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

FAQPage Schema
What is clean architecture and when should I apply it to my software project?

Clean architecture is a software design approach emphasizing separation of concerns and domain-driven design to reduce technical debt. Apply it when starting a new project or refactoring existing code to ensure maintainability, enforce domain-specific naming, and improve code longevity.

How do I avoid common anti-patterns like NIH syndrome during software development?

Avoid NIH syndrome by adopting a library-first approach instead of writing custom code for solved problems. This architectural guidance helps developers steer clear of poor structural choices, promoting the use of external libraries over unnecessary custom implementations.

How do I refactor existing code to improve code quality and maintainability?

Refactor existing code by applying clean architecture and domain-driven design principles to enforce best practices. Focus on proper code style, logical decomposition, clear naming conventions, and strict separation of concerns to reduce accumulated technical debt.

Does domain-driven design work for small codebases or is it only for large enterprise applications?

Domain-driven design benefits both small and large codebases by enforcing domain-specific naming and separation of concerns. While highly effective for enterprise architectural guidance, its core principles actively reduce technical debt and improve longevity regardless of project scale.

What is the best way to structure modules and enforce separation of concerns in software architecture?

The best way to structure modules is by applying clean architecture principles that enforce strict separation of concerns. This approach utilizes logical decomposition, domain-driven naming conventions, and a library-first mindset to ensure high code quality and maintainability.

Why does poor code decomposition lead to technical debt and how can I fix it?

Poor code decomposition leads to technical debt by creating tangled modules that violate separation of concerns. Fix it by refactoring with clean architecture principles, enforcing proper code style, logical decomposition, and domain-specific naming conventions for better maintainability.