V3 DDD Architecture

Decomposes monolithic orchestrator code into bounded-context DDD domains with clean architecture layers.

Updated Mar 25, 2026
One-click install
npx skills add https://github.com/dmuhoro/EasyTutor --skill v3-ddd-architecture-dmuhoro
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: V3 DDD Architecture
Source: https://github.com/dmuhoro/EasyTutor/tree/main/archive/.claude/skills/v3-ddd-architecture
Command: npx skills add https://github.com/dmuhoro/EasyTutor --skill v3-ddd-architecture-dmuhoro

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Large TypeScript codebases often accumulate god objects—single files handling task management, sessions, health monitoring, and events all at once—making the code untestable and hard to extend. This Skill provides a structured method to decompose such monoliths into Domain-Driven Design bounded contexts with clean architecture layers. ## Core Features & Use Cases - Domain Decomposition: Splits a 1,440-line orchestrator god object into five focused domains (task management, session management, health monitoring, lifecycle, event coordination), each under 300 lines. - Microkernel & Plugin Architecture: Implements a core kernel that loads domains dynamically and supports optional plugins like swarm coordination with declared dependencies. - Event-Driven Communication: Defines domain events, event handlers, and an event bus so bounded contexts stay loosely coupled. - Use Case: A team maintaining a growing orchestration service uses this Skill to plan a three-phase migration—extracting domain services, introducing use-case interfaces with dependency injection, and enabling a plugin system—while targeting over 90% domain test coverage. ## Quick Start Ask the AI to analyze the current orchestrator architecture and design DDD bounded contexts with clean interfaces and domain events.

Frequently Asked Questions about V3 DDD Architecture

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

FAQPage Schema
How do I break down a god object into DDD bounded contexts?

Identify the distinct responsibilities inside the god object, then map each to a bounded context with its own entities, value objects, services, and repository interface. This Skill demonstrates splitting a 1,440-line orchestrator into five domains, each under 300 lines.

What is the microkernel architecture pattern in DDD?

A microkernel is a minimal core that loads domains as pluggable modules at runtime. The kernel maintains a domain registry and dependency container, while plugins declare dependencies and register services during initialization.

How do bounded contexts communicate without tight coupling?

Bounded contexts communicate through domain events published to an event bus. Each aggregate emits events like TaskAssignedEvent, and handlers in other contexts subscribe to them, keeping domains independent.

Does clean architecture require dependency injection?

Clean architecture requires dependencies to point inward, which is typically enforced through dependency injection. Use cases receive repository interfaces via constructor injection so the domain layer has no external dependencies.

How do I test domain logic in isolation?

Use London School TDD: instantiate domain entities directly, mock collaborators like agents or repositories, and assert on state changes and emitted domain events. This achieves high coverage without infrastructure dependencies.