backend-architect

Provide backend architecture guidance on hexagonal, DDD, SOLID, and clean code patterns.

12|1|Updated Oct 31, 2025
One-click install
npx skills add https://github.com/Bikach/skills-claude-code --skill backend-architect-bikach
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: backend-architect
Source: https://github.com/Bikach/skills-claude-code/tree/main/backend-architect
Command: npx skills add https://github.com/Bikach/skills-claude-code --skill backend-architect-bikach

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill captures expert guidance for backend architecture to help teams design, implement, review, and refactor backend systems. It guides through hexagonal/DDD, SOLID, clean code, and testing strategies to reduce complexity and maintainability.

Core Features & Use Cases

  • Architecture Design Guidance: propose hexagonal boundaries, ports/adapters, and context mapping for new features.
  • Code Review & Refactoring: analyze existing code, detect smells, and suggest concrete improvements.
  • Quality & Testing Guidance: ensure unit tests align with SRP/SOLID and architecture boundaries; check for code smells, dependencies, and architectural conformance.
  • Problem Solving & Debugging: diagnose architectural issues and propose solutions to maintainability and performance.
  • Use Case Scenarios: help define bounded contexts, domain models, and interaction flows for features.

Quick Start

Prompt the Backend Architect to review the service's architecture and propose improvements to hexagonal boundaries and domain modeling.

Frequently Asked Questions about backend-architect

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

FAQPage Schema
How do I structure a backend with hexagonal architecture and DDD?

Hexagonal architecture isolates your domain logic in a core bounded context, then wraps it with ports (interfaces) and adapters (implementations) for external dependencies. This separates business rules from infrastructure, making systems testable and maintainable. Define domain boundaries first, then map ports for databases, APIs, and external services.

What are SOLID principles and how do they apply to backend code?

SOLID is five design principles—Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion—that reduce complexity and coupling in backend systems. Applying them prevents code smells, improves testability, and makes refactoring safer by keeping each class or module focused on one reason to change.

How do I review backend code for architectural problems?

Examine code for violations of SOLID, unclear domain boundaries, tight coupling between layers, and missing abstractions. Check that tests align with responsibilities, dependencies flow inward toward the domain, and business logic stays separate from infrastructure. Flag code smells like duplicate domain logic or hard-to-test functions.

When should I refactor a backend service's architecture?

Refactor when you detect code smells—tight coupling, scattered domain logic, poor testability, or unclear boundaries between features. Also refactor proactively when adding features becomes slow due to tangled dependencies, or when multiple services share duplicated business logic that should be a bounded context.

How do I define domain boundaries and bounded contexts?

A bounded context is a logical boundary around a cohesive set of business rules and domain models. Identify contexts by grouping related entities and use cases, then define explicit interfaces (ports) where contexts communicate. This prevents domain logic from leaking across services and makes teams autonomous.

How do I ensure my backend tests respect architectural boundaries?

Write unit tests that verify domain logic in isolation, integration tests that check adapters and external dependencies separately, and avoid circular dependencies between test layers. Enforce the dependency graph: tests should mock or stub anything outside the core domain, ensuring Single Responsibility and testability.