architecture-patterns

Define and apply Clean Architecture, Hexagonal Architecture, and Domain-Driven Design patterns to backend systems.

16|1|Updated Mar 5, 2026
One-click install
npx skills add https://github.com/Jannael/Glinter --skill architecture-patterns-jannael
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: architecture-patterns
Source: https://github.com/Jannael/Glinter/tree/main/.agents/skills/architecture-patterns
Command: npx skills add https://github.com/Jannael/Glinter --skill architecture-patterns-jannael

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Guides teams to architect backend systems with clear separation of concerns, bounded contexts, and testable boundaries, reducing coupling and brittle dependencies.

Core Features & Use Cases

  • Define and apply patterns like Clean Architecture, Hexagonal Architecture, and Domain-Driven Design to new services or refactors.
  • Establish bounded contexts, ports/adapters, aggregates, and value objects to support maintainable evolution.
  • Provide structural guidance, anti-corruption layers, and testing boundaries to help break dependency cycles.

Quick Start

Describe the service boundary and select an architecture pattern to apply.

Frequently Asked Questions about architecture-patterns

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

FAQPage Schema
How do I apply clean architecture and DDD when refactoring a monolith?

To apply clean architecture and DDD when refactoring a monolith, establish bounded contexts, enforce domain boundaries with aggregates and value objects, and use ports and adapters to break dependency cycles.

What is the best way to structure a backend service using hexagonal architecture?

The best way to structure a backend service using hexagonal architecture is to isolate business logic via ports and adapters, ensuring testable boundaries and clear separation of concerns to reduce brittle dependencies.

How do you break dependency cycles across bounded contexts in a backend system?

Break dependency cycles across bounded contexts by implementing anti-corruption layers, enforcing strict domain boundaries, and defining clear ports and adapters to decouple core logic from external dependencies.

When do I need domain-driven design for my backend architecture?

You need domain-driven design when designing new services or evolving complex backend systems that require strict separation of concerns, testable boundaries, and maintainable structural guidance to prevent coupling.

Can I use clean architecture and ports adapters for microservice design?

Yes, you can use clean architecture and ports adapters for microservice design. They help define clear service boundaries, enforce testable domain logic, and establish structural guidance for maintainable evolution.