본문으로 건너뛰기
cccskills
무료GitHub에 공개

event-storming

Event Storming Big Picture on a bounded context or the whole project. Explores code to discover domain events, commands, entities, context boundaries, and produces structured markdown following Vaughn Vernon's strategic patterns. Usage: /event-storming <bc-name> or /event-storming global

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구GitLab
설치 방법 보기

포함된 파일(2)

  • SKILL.md9.1 KB
  • references/templates.md3.7 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Event Storming Big Picture

Tu es un facilitateur Event Storming (Alberto Brandolini) specialise en DDD strategique pour ReviewFlow (Node.js, Fastify 5, Clean Architecture).

Tu appliques les patterns strategiques de Vaughn Vernon (Implementing Domain-Driven Design) pour le Context Mapping.

Terminologie Clean Architecture

Ce projet utilise la terminologie Clean Architecture, PAS DDD tactique.

Clean Architecture (ce projet)DDD tactique (NE PAS utiliser)
Entity (entities/)Aggregate, Domain Entity
Use Case (usecases/)Application Service, Command Handler
Gateway contract (entities/<domain>/<domain>.gateway.ts)Repository, Port
Gateway impl (interface-adapters/gateways/)Adapter, Repository Impl
Controller (interface-adapters/controllers/)Inbound Adapter
Presenter (interface-adapters/presenters/)Read Model Projection
View (interface-adapters/views/)UI Component
Guard (*.guard.ts)Specification, Validator

Dans les livrables Event Storming, mapper vers cette terminologie :

  • 🟨 Entity (pas "Aggregate") — entities/<domain>/
  • 🟦 Use Case (pas "Command Handler") — usecases/*.usecase.ts
  • 🟩 Presenter (pas "Read Model") — interface-adapters/presenters/*.presenter.ts
  • ⬜ Gateway (pas "Repository") — entities/*/*.gateway.ts + interface-adapters/gateways/*

Coding Standards

Lire .claude/rules/coding-standards.md AVANT de travailler.

Ubiquitous Language

Lire docs/reference/ubiquitous-language.md — c'est la source de verite pour les termes du domaine.

Modes d'execution

Mode cible (par defaut)

Input : /event-storming <bc-name> (ex: review, tracking, insight, job) Output : docs/ddd/event-storming/<bc-name>.md + mise a jour du document global

Mode audit global

Input : /event-storming global Output : docs/ddd/EVENT_STORMING_BIG_PICTURE.md avec tous les BCs


Phase 1 : EXPLORATION — Decouvrir le domaine dans le code

ReviewFlow organise le code par couches (pas par modules). Les Bounded Contexts sont implicites, revelees par les repertoires dans entities/.

  1. Identifier les fichiers sources du BC cible :
RepertoireCe qu'il revele
entities/<domain>/Entities, schemas, guards, gateway contracts, value objects
usecases/<domain>/ ou usecases/*.usecase.tsCommands (Use Cases)
interface-adapters/controllers/webhook/Event handlers (webhook events → domain)
interface-adapters/controllers/http/HTTP API commands
interface-adapters/controllers/mcp/MCP tool commands
interface-adapters/gateways/External system integrations
interface-adapters/presenters/Read models / projections
interface-adapters/views/dashboard/UI (Humble Objects)
frameworks/Infrastructure (queue, logging, Claude invocation)
  1. Scanner les patterns revelateurs :
Pattern fichierSignification
*.usecase.tsCommand / Use Case
*.guard.tsBusiness Rule / Policy
*.schema.tsEntity shape / validation
*.gateway.ts dans entities/Gateway contract (frontiere du BC)
*.gitlab.gateway.ts / *.github.gateway.tsPlatform-specific gateway impl
*.cli.gateway.tsCLI-based external interaction
*.fileSystem.ts / *.memory.gateway.tsPersistence gateway impl
*.presenter.tsRead model projection
*.routes.tsHTTP endpoint → controller wiring
Pattern codeSignification
UseCase<Input, Output>Command
createGuard(schema, 'context')Business Rule
z.object({...}) (Zod schema)Entity / Value Object shape
interface *GatewayFrontiere du BC (dependency inversion)
imports @/entities/<autre-domain>/Relation cross-BC
imports @/shared/Shared Kernel
app.post('/webhooks/...') dans routes.tsExternal Event entry point
PQueue / queue patternsAsync processing
  1. Analyser les relations avec les autres BCs :
    • Quels gateway contracts sont definis vs implementes ?
    • Quels types de shared/ sont utilises ?
    • Y a-t-il des imports directs vers @/entities/<autre-domain>/ dans les use cases ?
    • Comment les controllers orchestrent-ils plusieurs use cases ?

Phase 2 : MODELISATION — Structurer les decouvertes

Organiser selon le schema de couleurs Event Storming (Alberto Brandolini) :

CouleurElementSource dans le code
🟧 OrangeDomain EventWebhook events, state transitions, completion callbacks
🟦 BleuUse Case (Command)*.usecase.ts, controller handlers
🟨 JauneEntityentities/, schemas, types, value objects
🟪 VioletPolicy / Business RuleGuards, validations, conditions dans usecases
🩷 RoseHot Spot / QuestionViolations, incoherences, dette technique
🟩 VertPresenterPresenters, view models
⬜ BlancExternal System (Gateway)Gateway implementations, CLI calls, API calls

Phase 3 : CONTEXT MAPPING — Patterns de Vaughn Vernon

Pour chaque relation entre BCs, identifier le pattern applicable :

PatternSignal dans le code
PartnershipModifications synchronisees entre 2 domaines
Shared KernelTypes dans shared/ utilises par plusieurs domaines
Customer-SupplierGateway interface dans le consumer, implementation fournie par le supplier
ConformistImport direct de types d'un autre domaine sans transformation
Anti-Corruption LayerController/Adapter qui transforme les donnees d'une plateforme (GitLab/GitHub → domain)
Open Host ServiceAPI HTTP/MCP exposee par le BC
Published LanguageSchemas Zod partages, webhook event formats
Separate WaysAucun import croise

ACL specifique a ReviewFlow

Le pattern ACL est central dans ReviewFlow — les controllers webhook transforment les evenements GitLab/GitHub en concepts domaine :

  • GitLab MergeRequest Event → ReviewRequest (ACL dans gitlab.controller.ts)
  • GitHub PullRequest Event → ReviewRequest (ACL dans github.controller.ts)

Phase 4 : REDACTION

Utiliser les templates dans references/templates.md pour produire les livrables.

Regles de redaction :

  • Documents en anglais (documentation language du projet)
  • Noms au passe pour les Domain Events : ReviewCompleted, pas CompleteReview
  • Noms imperatifs pour les Commands : TriggerReview, pas ReviewTriggered
  • Toujours nommer le pattern Vaughn Vernon pour les relations, pas juste "depends on"
  • Toujours referencer le fichier source exact, pas un repertoire vague
  • Respecter le ubiquitous language defini dans docs/reference/ubiquitous-language.md

Phase 5 : ECRITURE LOCALE

  1. Creer docs/ddd/event-storming/ si inexistant
  2. Ecrire le document par BC : docs/ddd/event-storming/<bc-name>.md
  3. Lire le document global existant (s'il existe)
  4. Mettre a jour le document global docs/ddd/EVENT_STORMING_BIG_PICTURE.md (enrichir, jamais ecraser)
  5. Afficher un resume des decouvertes cles

Phase 6 : PUBLICATION WIKI GITHUB

Apres l'ecriture locale, publier sur le wiki GitHub pour une lecture confortable.

Structure wiki

Home.md                              ← Landing page with links
_Sidebar.md                          ← Side navigation
DDD-Event-Storming-Big-Picture.md    ← Global document
DDD-Event-Storming-<BC-Name>.md      ← Per-BC document (PascalCase)

Commandes

cd /tmp && rm -rf review-flow.wiki
git clone "https://$(gh auth token)@github.com/DGouron/review-flow.wiki.git" review-flow.wiki
cd review-flow.wiki

# Copy/update pages
# Enrich _Sidebar.md with new links
# Enrich Home.md with new links in Navigation section

git add -A && git commit -m "docs: update event storming — <bc-name>" && git push origin master

Conventions

  • Nommage des pages : DDD-Event-Storming-<BC-Name> (PascalCase, tirets)
  • Toujours mettre a jour _Sidebar.md et la section Navigation de Home.md
  • Utiliser des diagrammes Mermaid (supportes nativement par GitHub wiki)
  • Ajouter des liens de navigation en bas de chaque page (← Big Picture / Home)

Contraintes

  • Read-first : toujours lire le code source, ne jamais inventer des events ou commands
  • Incremental : ne jamais ecraser le document global, toujours enrichir
  • Hot Spots : signaler les violations de frontiere, imports cross-domain, dette technique
  • Ubiquitous Language : toujours verifier contre docs/reference/ubiquitous-language.md
  • Ne PAS commiter le repo principal — laisser l'utilisateur decider via /commit

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Guide for creating optimized Claude Code agents. Use to design a new specialized agent, a swarm sub-agent, or a multi-agent workflow. Follows the Skill → Agent (preloaded skills) → Skill orchestration pattern.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

DGouron/review-flow442026년 10월 18일 업데이트

Anti-overengineering guide based on YAGNI. Use before adding an architectural pattern, during code review, or to challenge an overly complex implementation.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

DGouron/review-flow442026년 10월 18일 업데이트

Clean Architecture (Uncle Bob) guide for this project. Use when creating modules, entities, use cases, presenters, controllers, gateways, guards, services. Contains tactical patterns and structure conventions.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

DGouron/review-flow442026년 10월 18일 업데이트

Audit documentation for duplication, staleness, language issues, and verbosity. Read-only — produces an actionable report.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

DGouron/review-flow442026년 10월 18일 업데이트

Local auto-review of modified code (no GitLab/GitHub). Runs 5 sequential audits and generates a local report. Ideal for validating code before creating a MR/PR.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

DGouron/review-flow442026년 10월 18일 업데이트

Clean Code (Robert C. Martin) guide to produce and challenge code that is readable, durable, simple, and consistent. Covers naming, functions, comments, smells, and refactor heuristics. Complements `/solid` (SOLID principles) and `/anti-overengineering` (YAGNI/KISS). Activate during the REFACTOR phase of the TDD cycle and during implementation self-review.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

DGouron/review-flow442026년 10월 18일 업데이트

DGouron의 스킬 모두 보기

이 스킬의 문제 신고