eventmodeling-designing-event-models

Design event-sourced domain models mapping business processes to immutable events and command-specific projections.

10|2|Updated Feb 9, 2026
One-click install
npx skills add https://github.com/TrogonStack/agentskills --skill eventmodeling-designing-event-models
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: eventmodeling-designing-event-models
Source: https://github.com/TrogonStack/agentskills/tree/main/plugins/trogonstack-eventmodeling/skills/eventmodeling-designing-event-models
Command: npx skills add https://github.com/TrogonStack/agentskills --skill eventmodeling-designing-event-models

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill resolves the common architectural struggle of designing event-sourced systems by preventing the misuse of DDD aggregate patterns and ensuring clean, minimal state projections for command validation.

Core Features & Use Cases

  • Stream Boundary Definition: Establishes clear identity strategies to prevent aggregate anti-patterns.
  • Minimal State Projection: Guides the creation of command-specific read models to ensure validation logic remains pure and performant.
  • Use Case: Use this when architecting a new event-driven service to map business processes into immutable events while maintaining strict separation between command validation state and UI query models.

Quick Start

Initiate the event modeling process for the current domain by describing your primary entity and the commands that trigger state changes.

Frequently Asked Questions about eventmodeling-designing-event-models

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

FAQPage Schema
How do I design event-sourced models without falling into the DDD aggregate anti-pattern?

Design event-sourced models by mapping business processes to immutable events and establishing clear stream boundaries. This approach enforces minimal, command-driven state isolation, preventing the DDD aggregate anti-pattern while keeping validation logic pure and performant.

What is a minimal state projection for command validation in event streaming systems?

A minimal state projection is a command-specific read model used to validate business rules before generating immutable events. It ensures validation logic remains strictly separated from UI query models and performs efficiently by isolating only the necessary state for each command.

When do I need to define stream boundaries for event-sourced domain models?

You need to define stream boundaries during the architectural phase of event streaming systems when mapping business processes. Establishing clear identity strategies at this stage prevents state coupling and avoids the DDD aggregate anti-pattern in your event-sourced domain models.

How do I map business processes to immutable events and state projections?

Initiate the event modeling process by describing your primary entity and its triggering commands. This maps business processes into immutable events while maintaining a strict architectural separation between command validation state and UI query models.

Does event modeling work for separating command validation state from UI query models?

Yes, event modeling explicitly guides the creation of command-specific read models to ensure validation logic remains pure. It maintains strict separation between command validation state and UI query models in event-driven services.

Why does using DDD aggregate patterns cause issues in event-sourced systems?

Using DDD aggregate patterns in event-sourced systems causes state coupling and boundary violations. Event modeling resolves this architectural struggle by enforcing minimal, command-driven state isolation and establishing clear stream identity strategies to prevent aggregate anti-patterns.