The Standard Events

Standardize event-driven communication with Publish[Entity]Async and SubscribeTo[Entity]Event via IEventBroker.

Updated May 1, 2024
One-click install
npx skills add https://github.com/NHSISL/CsvHelperClient --skill the-standard-events-nhsisl
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: The Standard Events
Source: https://github.com/NHSISL/CsvHelperClient/tree/main/.agents/skills/the-standard-events
Command: npx skills add https://github.com/NHSISL/CsvHelperClient --skill the-standard-events-nhsisl

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

The Standard Events framework provides a formal, repeatable blueprint for implementing event-driven communication between services, reducing coupling and enabling scalable integration across bounded contexts.

Core Features & Use Cases

  • CulDeSac pattern guidance, event brokers, and foundation event services
  • Validation, exception mapping, and test structure with consistent naming conventions
  • Startup activation and DI lifetime rules for reliable event delivery with LeVent

Quick Start

Configure a per-entity event service with Publish[Entity]Async and SubscribeTo[Entity]Event, wire a singleton IEventBroker, and activate subscriptions at startup.

Frequently Asked Questions about The Standard Events

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

FAQPage Schema
How do I standardize event-driven communication between microservices to reduce coupling?

You standardize event-driven communication by implementing a formal event service contract with Publish[Entity]Async and SubscribeTo[Entity]Event operations per entity, using a singleton IEventBroker to enable scalable integration across bounded contexts.

What is the CulDeSac pattern in event-driven architecture?

The CulDeSac pattern is a structural guidance approach for event brokers and foundation event services, ensuring consistent validation, exception mapping, and test scaffolding across orchestration and foundation services.

How do I configure dependency injection lifetimes for reliable event delivery?

You configure DI lifetimes by wiring a singleton IEventBroker and activating event subscriptions at startup, ensuring reliable event delivery across services without relying on ILoggingBroker.

Does LeVent work with dependency injection for event-driven service activation?

Yes, LeVent integrates with dependency injection by requiring startup activation for subscriptions and enforcing singleton IEventBroker lifetimes to maintain reliable publisher and subscriber workflows.

What's the best way to structure event broker test scaffolding across services?

The best way to structure test scaffolding is following consistent naming conventions for event services, applying validation and exception handling rules, and using the CulDeSac pattern to standardize publisher and subscriber workflows.

Why should I avoid ILoggingBroker in event-driven service implementations?

You avoid ILoggingBroker because the event service contract specifically relies on IEventBroker and LeVent for communication, enforcing validation and exception handling without introducing logging broker dependencies.