Software Architect

Design layered software architectures with ports and adapters for client customization.

Updated Jan 29, 2026
One-click install
npx skills add https://github.com/Alpizar28/BookingTemplate --skill software-architect-alpizar28
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: Software Architect
Source: https://github.com/Alpizar28/BookingTemplate/tree/main/skills/software-architect
Command: npx skills add https://github.com/Alpizar28/BookingTemplate --skill software-architect-alpizar28

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps architects create clear, extensible, and maintainable software architectures that keep the core independent from client-specific customizations, reducing coupling and tech debt.

Core Features & Use Cases

  • Layered Architecture Blueprint: define clear responsibilities for Domain, Application, and Infrastructure.
  • Ports & Adapters: establish interfaces and plug-in implementations to isolate the core.
  • Client Customization Best Practices: enable per-client variants (e.g., payment gateway, database) without altering the core.

Quick Start

Start by outlining Domain, Application, and Infrastructure layers; define core entities, value objects, and domain services; specify Ports and corresponding Adapters; then sketch a minimal clone-friendly module structure and a simple use case to validate separation.

Frequently Asked Questions about Software Architect

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

FAQPage Schema
How do I design scalable software architecture for multi-client product templates?

Design scalable software architecture for multi-client templates by defining layered Domain, Application, and Infrastructure boundaries, separating core logic from client-specific configurations to ensure the base remains stable while allowing pluggable customizations.

What is the best way to isolate a domain model from external infrastructure changes?

Isolate a domain model from external infrastructure by implementing a ports and adapters pattern, establishing defined interfaces that protect core domain logic from external changes like database or payment gateway swaps.

How do I structure a codebase for per-client customization without increasing coupling?

Structure per-client customization by creating plug-in implementations for client-specific variants while keeping the core domain independent, reducing coupling and tech debt by preventing client configurations from altering the base domain model.

When do I need hexagonal architecture for enterprise software?

You need hexagonal architecture for enterprise software when building product templates intended for multi-client clones, requiring defined ports and adapters to minimize coupling while enabling independent per-client customizations.

How to start applying DDD and clean architecture to a new project?

Start applying DDD and clean architecture by outlining Domain, Application, and Infrastructure layers, defining core entities and value objects, specifying ports and adapters, then sketching a minimal clone-friendly module structure to validate separation.