arch-events

Automate design and implementation decisions for event-driven Python architectures.

3|Updated Jan 25, 2026
One-click install
npx skills add https://github.com/ai-enhanced-engineer/aiee-team --skill arch-events
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: arch-events
Source: https://github.com/ai-enhanced-engineer/aiee-team/tree/main/skills/arch-events
Command: npx skills add https://github.com/ai-enhanced-engineer/aiee-team --skill arch-events

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Patterns for building reactive, decoupled Python applications using domain events and commands to enable scalable microservices and robust architectures.

Core Features & Use Cases

  • Domain Events: immutable events emitted after business operations.
  • Commands + Message Bus: centralized routing and handler choreography for decoupled workflows.
  • CQRS & Bootstrap: separate write/read models and a single composition root for wiring dependencies.

Quick Start

Practice these patterns by examining the examples and applying the bootstrap to a Python project to implement reactive workflows.

Frequently Asked Questions about arch-events

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

FAQPage Schema
What is an event-driven architecture in Python and when should I use it?

An event-driven architecture in Python uses immutable domain events emitted after business operations to decouple workflows. You should use it to build scalable microservices and reactive systems where components need to react to state changes independently.

How do I implement a message bus and command routing in Python?

To implement a message bus in Python, you route commands to centralized handlers that choreograph decoupled workflows. This pattern enables centralized routing for commands, ensuring that specific handler functions process designated actions without direct coupling.

How do I separate read and write models using CQRS in Python?

Separating read and write models using CQRS in Python involves splitting your business logic into distinct paths: commands for writes and queries for reads. This pattern optimizes independent scaling and performance for complex, high-traffic domains.

What is the best way to wire dependencies for Python microservices?

The best way to wire dependencies for Python microservices is using a bootstrap pattern with a single composition root. This approach centralizes dependency injection, ensuring consistent setup for event-driven workflows and message bus routing.

Does event-driven design work for reactive microservices without external dependencies?

Yes, event-driven design works for reactive microservices without requiring external dependencies. You can implement domain events, message buses, and CQRS patterns natively in Python to achieve decoupled, scalable architectures.

When should I avoid using domain events and commands in Python applications?

You should avoid using domain events and commands in simple Python applications where CRUD operations suffice. The overhead of a message bus, CQRS, and bootstrap wiring is unjustified unless you need scalable, decoupled reactive workflows.