modern-architecture

Design complex software features using domain-driven design and clean architecture.

4|1|Updated Mar 21, 2026
One-click install
npx skills add https://github.com/Cor-Incorporated/claude-code-skills --skill modern-architecture
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: modern-architecture
Source: https://github.com/Cor-Incorporated/claude-code-skills/tree/main/skills/modern-architecture
Command: npx skills add https://github.com/Cor-Incorporated/claude-code-skills --skill modern-architecture

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve?

This Skill provides guidance for designing complex features in TypeScript, Python, and Go using Domain-Driven Design, Test-Driven Development, Clean Architecture, Event-Driven architecture, and API-First patterns.

Core Features & Use Cases

  • DDD Tactical Patterns: Assist in defining domain complexity with entities, value objects, and aggregates.
  • Clean Architecture: Guide the structuring of projects with layer separation and bounded contexts.
  • Outside-In TDD: Implement a TDD approach starting from the outside (acceptance test) and working inward.
  • Event-Driven: Design CQRS or Event Sourcing systems for asynchronous/real-time communication.
  • API-First: Create API contracts before implementation for better documentation and collaboration.
  • Use Case: Use this Skill when starting a new project architecture or designing features with complex domain logic.

Quick Start

Use the modern-architecture skill to design the architecture for a new feature in your project.

Frequently Asked Questions about modern-architecture

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

FAQPage Schema
How do I design complex software features using Domain-Driven Design?

To design complex software features using Domain-Driven Design, define domain complexity by structuring entities, value objects, and aggregates. This approach separates bounded contexts to manage intricate domain logic effectively.

What is the best way to structure a project with clean architecture and bounded contexts?

Structuring a project with clean architecture involves enforcing strict layer separation and defining bounded contexts. This separation isolates domain logic from infrastructure, ensuring high-quality software design.

How do I implement test-driven development starting from the outside in?

Outside-in test-driven development starts by writing acceptance tests at the external boundaries, then working inward to implement the required domain logic. This ensures the software meets external requirements precisely.

Can I use event-driven architecture and CQRS for asynchronous communication?

Yes, you can design event-driven architecture systems using CQRS or Event Sourcing patterns for asynchronous and real-time communication. This separates read and write models to optimize data flow and scalability.

Does this architecture approach support API-first development for TypeScript, Python, and Go?

Yes, this approach supports API-first development across TypeScript, Python, and Go. You create API contracts before implementation, which improves documentation and establishes clear boundaries for complex features.

When should I not use outside-in TDD for complex domain logic?

Outside-in TDD may not be suitable when a project lacks clear external boundaries or acceptance criteria. It requires understanding of design patterns and architecture principles to implement the inward progression effectively.