What problem does it solve? Building a CQRS/Event Sourcing system with Apache Pekko and Scala involves many non-obvious decisions: how to separate domain models from actors, how to persist events safely, how to version event schemas, and how to wire read models. This Skill provides concrete, production-tested implementation patterns so you avoid architectural mistakes. ## Core Features & Use Cases - Aggregate Actor Patterns: Implement aggregate actors using PersistenceEffector with state-separated handler functions, type-safe state transitions via enums, and supervision strategies. - Pure Domain Modeling: Design framework-independent domain models where state changes return Either[Error, (NewState, Event)], keeping Pekko out of business logic. - Event & Serialization Design: Define versioned events (e.g., Renamed_V1) with Protocol Buffers serialization, snapshot strategies, and ZIO-based use case layers. - Use Case: When asked to implement a user account aggregate with create/rename/delete commands in a Scala 3 + Pekko CQRS system, this Skill supplies the full layered structure from domain model to GraphQL-facing use case. ## Quick Start Ask the assistant to implement a Pekko aggregate actor with event sourcing for a Scala 3 CQRS application, for example a user account with rename and delete commands.