inter-invariant

Enforce cross-aggregate invariants via domain events in the quizzes module.

5|2|Updated Jun 28, 2023
One-click install
npx skills add https://github.com/socialsoftware/microservices-simulator --skill inter-invariant
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: inter-invariant
Source: https://github.com/socialsoftware/microservices-simulator/tree/main/.claude/skills/inter-invariant
Command: npx skills add https://github.com/socialsoftware/microservices-simulator --skill inter-invariant

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Cross-aggregate consistency rules are needed to ensure domain events across multiple aggregates are coordinated to avoid conflicting outcomes.

Core Features & Use Cases

  • Implement inter-invariant patterns that span publisher and consumer aggregates via domain events.
  • Provide shared event classes, subscriptions, and command handling for Sagas and TCC workflows in a quizzes module.
  • Use this skill to model cross-aggregate policies such as ensuring a consumer's invariant holds after a publisher event.

Quick Start

Review the SKILL.md, implement the event subscription wiring, and add the required handlers, commands, and sagas following the examples in the repository.

Frequently Asked Questions about inter-invariant

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

FAQPage Schema
How do I enforce cross-aggregate consistency in microservices?

Cross-aggregate consistency is enforced by coordinating domain events between publisher and consumer aggregates to prevent conflicting outcomes. This approach uses inter-invariant patterns to ensure a consumer's invariant holds after a publisher event.

What is the best way to coordinate sagas and TCC workflows with domain events?

Coordinating sagas and TCC workflows with domain events requires shared event classes, subscriptions, and command handling. This implementation models cross-aggregate policies to track state and manage command flows across publisher and consumer aggregates.

Why do I need cross-aggregate invariants in event-driven architectures?

Cross-aggregate invariants are needed in event-driven architectures to ensure domain events across multiple aggregates are coordinated to avoid conflicting outcomes. They enforce policies such as ensuring a consumer's invariant holds after a publisher event.

How do I implement event subscriptions and command handlers for inter-invariant patterns?

Implementing inter-invariant patterns involves wiring event subscriptions and adding required handlers, commands, and sagas. You review the SKILL.md, implement the subscription wiring, and follow repository examples for the quizzes module.

Do I need specific dependencies to model cross-aggregate policies with sagas?

No specific dependencies are required to model cross-aggregate policies with sagas. The implementation relies on shared event classes and command flows within the module to coordinate event subscriptions and state tracking.