architecture-patterns

Design backend systems with Clean Architecture, Hexagonal Architecture, and Domain-Driven Design.

1|Updated Dec 23, 2025
One-click install
npx skills add https://github.com/ccf/claude-code-ccf-marketplace --skill architecture-patterns-ccf
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: architecture-patterns
Source: https://github.com/ccf/claude-code-ccf-marketplace/tree/main/plugins/backend-development/skills/architecture-patterns
Command: npx skills add https://github.com/ccf/claude-code-ccf-marketplace --skill architecture-patterns-ccf

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve?

Solves backend architecture design challenges by applying Clean Architecture, Hexagonal Architecture, and Domain-Driven Design to create scalable, maintainable systems.

Core Features & Use Cases

  • Pattern-led design enforcing clear boundaries between Domain, Use Cases, Adapters, and Infrastructure.
  • Loosely coupled components via ports and adapters for easy swapping of implementations.
  • Guided refactoring and scaffolding to decompose monoliths into scalable services with bounded contexts.

Quick Start

  • Create a new backend project skeleton with folders app/domain, app/use_cases, app/adapters, and app/infrastructure.
  • Define domain models, value objects, and aggregates; implement ports as interfaces and adapters for persistence and external services.
  • Use references and templates to bootstrap the architecture and ensure consistency across teams.

Frequently Asked Questions about architecture-patterns

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

FAQPage Schema
What is the best way to design backend architecture for scalable systems?

Hexagonal Architecture uses ports and adapters to isolate domain logic from infrastructure, enabling easy swapping of implementations. It creates clear separation between Domain, Use Cases, Adapters, and Infrastructure to enforce testability and maintainability.

How do I refactor a monolith into scalable services with bounded contexts?

Clean Architecture suits existing services needing clear boundaries and replaceable components during refactors. It enforces domain modeling and separation of concerns, making it applicable for both new projects and decomposing monolithic systems into scalable services.

How do I structure a new backend project skeleton using Domain-Driven Design?

Structure a new backend project by creating folders for app/domain, app/use_cases, app/adapters, and app/infrastructure. Define domain models, value objects, and aggregates, then implement ports as interfaces and adapters for external persistence services.

When should I not use Clean Architecture or Hexagonal Architecture patterns?

Avoid Clean Architecture or Hexagonal Architecture when systems do not require replaceable components or strict domain modeling. These patterns enforce separation of concerns that may introduce unnecessary complexity for simple applications not needing bounded contexts.