new-domain-event

Add a domain event type to the transactional outbox system across contracts, models, schemas, workflows, and persistence.

1|Updated Feb 20, 2026
One-click install
npx skills add https://github.com/jamesaphoenix/tx-agent-kit --skill new-domain-event
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: new-domain-event
Source: https://github.com/jamesaphoenix/tx-agent-kit/tree/main/.claude/skills/new-domain-event
Command: npx skills add https://github.com/jamesaphoenix/tx-agent-kit --skill new-domain-event

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This capability standardizes how new domain events are introduced into the transactional outbox, ensuring consistent registration, payload typing, and end-to-end wiring.

Core Features & Use Cases

  • Register the event type in contracts.
  • Create and wire the corresponding payload interface in the domain layer and the matching EventPayloadSchema in the Temporal client.
  • Add a dispatcher case in the worker workflow and implement the corresponding domain event workflow.
  • Ensure transactional writes follow the outbox pattern for reliability and idempotence.

Quick Start

Register and wire a new domain event by updating contracts, domain event interfaces, Temporal schemas, and worker workflow cases.

Frequently Asked Questions about new-domain-event

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

FAQPage Schema
How do I add a new domain event to a transactional outbox pattern?

To add a new domain event to a transactional outbox, you register the event type in contracts, create a matching payload interface and schema, wire a dispatcher case, and ensure writes occur transactionally.

What is the transactional outbox pattern for domain events?

The transactional outbox pattern for domain events ensures reliable and idempotent event publishing by writing event payloads to an outbox table within the same database transaction as your domain state changes.

How do I wire a new domain event workflow in Temporal?

To wire a domain event workflow in Temporal, you add a matching EventPayloadSchema in the Temporal client, add a dispatcher case in the worker workflow, and implement the corresponding workflow handler.

How do I register domain event types across TypeScript contracts and schemas?

To register domain event types across TypeScript contracts and schemas, you define the event type in contracts, create a corresponding payload interface in the domain layer, and generate a matching EventPayloadSchema.

When do I need a dispatcher case for event-driven architecture?

You need a dispatcher case for event-driven architecture when introducing a new event type that requires a dedicated worker workflow handler to process the event payload and execute the corresponding business logic.

Why should domain events be written transactionally in the outbox?

Domain events must be written transactionally in the outbox to guarantee that event records and their associated domain state changes commit atomically, preventing data inconsistency and ensuring reliable event delivery.