mcpField
A
architecture-paradigms

architecture-paradigms

github.com/atholaDevelopment343121 installsUpdated 1d ago
Repository

About architecture-paradigms

architecture-paradigms is a routing skill for teams choosing an architecture approach based on system needs and context. It compares concerns such as testability, team autonomy, flexibility, and complexity, then points to a specific paradigm skill for implementation guidance.

Key features

  1. 01Route scenarios to architecture paradigms
  2. 02Evaluate needs and system context
  3. 03Distinguish DDD from structural paradigms
  4. 04Link to paradigm-specific implementation skills
  5. 05Support ADR and implementation planning

Use cases

  1. 01Selecting an approach for a new system
  2. 02Choosing a target paradigm for refactoring
  3. 03Preparing an ADR or implementation plan

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/athola/claude-night-market --skill architecture-paradigms

After installing, type/architecture-paradigmsin Claude Code to confirm it loaded.

Details

From the project README

When NOT To Use

  • The paradigm is already chosen, so go straight to that paradigm's skill
  • Reviewing an existing design against its ADRs (use pensive:architecture-review)

Architecture Paradigm Router

This skill helps you select the right architecture paradigm(s) for your system, then routes you to the specific paradigm skill for implementation details.

Quick Scenario Router

Match your needs to the recommended paradigm:

Your ScenarioPrimary ParadigmLoad Skill
Enterprise app with multiple teamsMicroservices or Modular Monolitharchitecture-paradigm-microservices or architecture-paradigm-modular-monolith
Complex business rules & testingFunctional Core, Imperative Shellarchitecture-paradigm-functional-core
Real-time/event processingEvent-Driven Architecturearchitecture-paradigm-event-driven
Legacy system modernizationHexagonal (Ports & Adapters)architecture-paradigm-hexagonal
Cloud-native/bursty workloadsServerlessarchitecture-paradigm-serverless
ETL/data processing pipelinePipeline Architecturearchitecture-paradigm-pipeline
Simple CRUD appLayered Architecturearchitecture-paradigm-layered
Command/query separationCQRS and Event Sourcingarchitecture-paradigm-cqrs-es
Rich business rules to modelDomain-Driven Designarchitecture-paradigm-domain-driven

One of these is not like the others. Domain-Driven Design answers "what are the concepts and what do we call them." The rest answer "where does the code go." DDD composes with a structural paradigm (commonly layered, hexagonal, or modular monolith) rather than competing with it, so selecting it does not mean deselecting one of the others.

3-Step Selection Workflow

Step 1: Define Your Needs

Primary Concerns (select all that apply):

  • Testability: Isolate business logic → functional-core or hexagonal
  • Team Autonomy: Independent deployment → microservices or modular-monolith
  • Infrastructure Flexibility: Swap databases/frameworks → hexagonal
  • Real-time Scaling: Variable loads with events → event-driven or space-based
  • Simplicity: Maintainable without complexity → layered or modular-monolith
  • Legacy Integration: Work with existing systems → hexagonal or microkernel

System Context:

  • Team Size: < 5 → Layered/Functional Core | 5-15 → Modular Monolith | 15-50 → Microservices | 50+ → Microservices/Space-Based
  • Domain Complexity: Simple → Layered | Moderate → Hexagonal/Modular Monolith | Complex → Functional Core/CQRS | Highly Complex → Microservices/Event-Driven
Step 2: Evaluate Paradigms

Based on your needs from Step 1, review these options:

For Testability & Business Logic

  • Load architecture-paradigm-functional-core - Isolates business logic from infrastructure
  • Load architecture-paradigm-hexagonal - Clear domain/infrastructure boundaries

For Team Autonomy

  • Load architecture-paradigm-microservices - Independent deployment and scaling
  • Load architecture-paradigm-modular-monolith - Team autonomy without distributed complexity

For Infrastructure Flexibility

  • Load architecture-paradigm-hexagonal - Swap infrastructure without domain changes

For Simplicity & Maintainability

  • Load architecture-paradigm-layered - Simple, well-understood separation

For Rich Business Rules

  • Load architecture-paradigm-domain-driven - Models the business in its own language. Pair it with whichever structural paradigm you picked above; it does not replace one. Skip it when the domain is CRUD over a form, where the model would just be the schema under a new name.

For Real-time Event Processing

  • Load architecture-paradigm-event-driven - Scalable, decoupled processing
  • Load architecture-paradigm-space-based - In-memory data grids for linear scalability

For Legacy Integration

  • Load architecture-paradigm-microkernel - Plugin architecture for extensible platforms
  • Load architecture-paradigm-hexagonal - Adapters for external systems
Step 3: Load Paradigm Skill for Implementation

Once you've selected your paradigm(s), load the specific skill for detailed guidance:

# Example: You selected Hexagonal Architecture
Skill(archetypes:architecture-paradigm-hexagonal)

The individual paradigm skill provides:

  • ✅ Complete implementation guide
  • ✅ ADR templates
  • ✅ Migration checklist
  • ✅ Code examples
  • ✅ Testing strategies
  • ✅ Risk assessments

Available Paradigm Skills

ParadigmComplexityTeam SizeBest ForSkill Name
Functional CoreMediumSmall-LargeComplex business logicarchitecture-paradigm-functional-core
HexagonalMediumSmall-LargeInfrastructure changesarchitecture-paradigm-hexagonal
LayeredLowSmall-MediumSimple domainsarchitecture-paradigm-layered
Modular MonolithMediumMedium-LargeEvolving systemsarchitecture-paradigm-modular-monolith
MicroservicesHighLargeComplex domainsarchitecture-paradigm-microservices
Event-DrivenHighMedium-LargeReal-time processingarchitecture-paradigm-event-driven
CQRS and ESHighMedium-LargeAudit trailsarchitecture-paradigm-cqrs-es
Service-BasedMediumMediumCoarse-grained servicesarchitecture-paradigm-service-based
ServerlessMediumSmall-MediumCloud-native/burstyarchitecture-paradigm-serverless
MicrokernelMediumSmall-MediumPlugin systemsarchitecture-paradigm-microkernel
Space-BasedHighLargeLinear scalabilityarchitecture-paradigm-space-based
PipelineLowSmall-MediumETL workflowsarchitecture-paradigm-pipeline
Client-ServerLowSmallTraditional appsarchitecture-paradigm-client-server
Domain-Driven DesignMediumSmall-LargeRich business rules (composes with the above)architecture-paradigm-domain-driven

Integration with Other Skills

  • Architecture Review: Use this skill first to select paradigms, then /architecture-review for evaluation
  • Implementation Planning: Select paradigms here, then /writing-plans for detailed task breakdown
  • Refactoring: Identify target paradigms here, then use paradigm-specific skills for migration strategies

Exit Criteria

  • At least one paradigm is selected with clear rationale
  • Specific paradigm skill has been loaded for detailed guidance
  • Ready to create ADR or implementation plan

Next Steps

  1. Load the specific paradigm skill - Use Skill(archetypes:architecture-paradigm-NAME)
  2. Generate an ADR - Use the paradigm's ADR templates
  3. Create implementation plan - Use paradigm's migration checklist
  4. Set up monitoring - Track success metrics from paradigm guidance

Comments

Markdown supported