architecture-patternslisted
Install: claude install-skill SebastienDegodez/skraft-plugin
# Architecture Patterns
## Overview
A catalogue of architectural patterns used in Clean Architecture + DDD + Event-Driven systems.
**Core principle:** Patterns are tools — select based on problem, not preference. Every pattern added to a design must be justified by a story or a quality attribute requirement. YAGNI applies to architecture.
The patterns in this skill compose in a specific order: Event Modeling → DDD Strategic → DDD Tactical → Clean Architecture → CQRS, with Event Sourcing applied at the Domain/Infrastructure boundary when history has value.
---
## Event Modeling
BDD-first methodology to model system behaviour as a timeline of events. It is the starting point for every DESIGN session.
### Core Concepts
| Concept | Definition | Example |
|---|---|---|
| **Command** | An expression of user or system intent. Imperative mood. May be rejected. | `CheckEligibility`, `SubmitApplication` |
| **Event** | An immutable fact that records a state change. Past tense. Cannot be rejected. | `EligibilityChecked`, `ApplicationSubmitted` |
| **Read Model** | A query output optimised for a specific view. No mutation. | `EligibilityResult`, `ApplicationSummary` |
### Timeline Structure
Commands cause Events. Events update Read Models. The timeline reads left to right:
```
[Command] → [Event] → [Read Model]
```
Each vertical grouping of Command + Event + Read Model is a **Slice** — the minimum unit of deliverable business value.
### How to Build a Timeline from Stories