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.