event-modeling

Model systems as domain events and timelines with GWT tests and SVG diagrams.

6|Updated Feb 19, 2026
One-click install
npx skills add https://github.com/noahseger/agent-skills --skill event-modeling-noahseger
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: event-modeling
Source: https://github.com/noahseger/agent-skills/tree/main/event-modeling
Command: npx skills add https://github.com/noahseger/agent-skills --skill event-modeling-noahseger

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Event modeling provides a shared language to capture how a system behaves as a timeline of interfaces, commands, events, read models, and automations, enabling clear communication and precise specifications.

Core Features & Use Cases

  • Document existing systems and new designs using a single, consistent event-modeling approach.
  • Validate invariants between commands, events, and read models, and auto-generate diagrams for stakeholder review.
  • Generate SVG diagrams from JSON model definitions and produce executable GWT-style tests to serve as a living specification.

Quick Start

Render the event model to an SVG diagram from a JSON model file using the event_model.py tool.

Frequently Asked Questions about event-modeling

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

FAQPage Schema
What is event modeling for designing event-driven architectures?

Event modeling captures system behavior as a timeline of interfaces, commands, events, and read models. This approach provides a shared language to reveal dependencies and enables precise specifications for communicating workflows to teams or AI agents.

How do I generate SVG diagrams from JSON model definitions?

You can render SVG diagrams from JSON model definitions using the event_model.py tool. This allows you to visually validate invariants between commands, events, and read models for stakeholder review.

Can I generate executable GWT tests for domain events?

Yes, you can produce executable GWT-style tests from your event models. These tests serve as a living specification by enforcing concrete scenarios tied to past-tense events and imperative commands.

Does event modeling enforce validation between commands, events, and read models?

Event modeling enforces validation rules across commands, events, and read models. It mandates past-tense events, imperative commands, and linked read models to ensure structural consistency and reveal behavior accurately.

What's the best way to document existing codebases using domain events?

Modeling systems as domain events and timelines is an effective way to document existing codebases. It applies a consistent event-modeling approach to map behavior, interfaces, and automations into a unified specification.

When do I need a timeline of domain events for software design?

You need a domain event timeline when designing new event-driven architectures or communicating complex workflows. It captures how a system behaves through interfaces, commands, and read models to provide clear team alignment.