From forge
Provides Event Modeling facilitation guidance — designing complete system blueprints showing information flow from UI through commands, events, and read models. Use when designing features end-to-end, translating domain events into implementation specs, creating CQRS or event-sourced architectures, or planning shared blueprints across frontend and backend teams.
npx claudepluginhub caiokf/forgeThis skill uses the workspace's default tool permissions.
This skill provides knowledge and facilitation guidance for Event Modeling sessions — a system design technique created by Adam Dymitruk that produces a complete blueprint showing how information flows from user interface through commands, events, and read models.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
Share bugs, ideas, or general feedback.
This skill provides knowledge and facilitation guidance for Event Modeling sessions — a system design technique created by Adam Dymitruk that produces a complete blueprint showing how information flows from user interface through commands, events, and read models.
This skill should be used when:
The model uses four horizontal swimlanes arranged in a left-to-right timeline:
┌─────────────────────────────────────────────────────────────────┐
│ UI/UX │ [Wireframes and screens - white] │
├───────────────┼─────────────────────────────────────────────────┤
│ Commands │ [User intentions - blue] │
├───────────────┼─────────────────────────────────────────────────┤
│ Events │ [Facts that happened - orange] │
├───────────────┼─────────────────────────────────────────────────┤
│ Read Models │ [Query-side projections - green] │
├───────────────┼─────────────────────────────────────────────────┤
│ Automation │ [Policies & processors - lilac] │
└───────────────┴─────────────────────────────────────────────────┘
─────────────────────────────────────────────────→
TIME (left to right)
Establish what system/feature is being modeled, actors, key business rules, existing systems, and compliance requirements.
Start with what the user sees — white boxes. Capture screens, fields (with types and validation), actions, empty states, error messages.
Define commands users trigger. Capture payload, preconditions, rejection events, authorization, idempotency strategy.
Record events resulting from commands. Capture data schemas, versioning, ordering constraints, metadata (correlationId, timestamp, actor).
Define read models powering the UI. Capture fields, source events, freshness requirements (real-time / near real-time / eventually consistent / cached), access controls.
Add automated processes reacting to events. Capture failure handling, retry strategies, escalation paths, priority ordering.
Arrange everything into coherent left-to-right timeline. Identify lifecycle phases, saga coordination needs, compensating actions, and gaps.
Create executable specifications for happy paths, alternative scenarios, boundary conditions, failure modes, and security edge cases.
Compile complete event model, quantify elements, identify gaps and risks, determine implementation priority.
Generate a markdown document using templates/event-model.md containing:
| Pitfall | Problem |
|---|---|
| Commands without failure events | What happens when preconditions aren't met? |
| Orphan events | Events not consumed by any read model or automation indicate gaps |
| Unclear freshness | "Fast" is not a requirement — specify latency bounds |
| No failure handling in automation | What if the email service is down? |
| Missing idempotency | Distributed systems have at-least-once delivery |
| Undocumented authorization | Who can actually execute this command? |
| File | Content |
|---|---|
references/facilitator-prompts.md | Detailed facilitator prompts for each session phase |
references/unsticking-techniques.md | Techniques for when participants get blocked |
templates/event-model.md | Output template for the event model artifact |