projection-patterns

Project event streams into read models for CQRS and analytics.

4|Updated Mar 3, 2026
One-click install
npx skills add https://github.com/AI-Foundry-Core/ril-agents --skill projection-patterns-ai-foundry-core
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: projection-patterns
Source: https://github.com/AI-Foundry-Core/ril-agents/tree/main/plugins/backend-development/skills/projection-patterns
Command: npx skills add https://github.com/AI-Foundry-Core/ril-agents --skill projection-patterns-ai-foundry-core

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Projection architectures and templates are provided to turn event streams into ready-to-query read models, enabling CQRS workflows and analytics.

Core Features & Use Cases

  • Clear projection architecture linking event stores, projectors, and read models.
  • Defines projection types (Live, Catchup, Persistent, Inline) for real-time and replay scenarios.
  • Includes templates for Python projections and Elasticsearch-backed search projections, plus multi-table aggregations.

Quick Start

Choose a projection template and wire it to your event stream to start building read models.

Frequently Asked Questions about projection-patterns

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

FAQPage Schema
How do I build read models from event streams for CQRS?

You build read models by applying projection patterns that process event streams and materialize them into queryable structures. This supports CQRS workflows by separating write event stores from optimized read models for real-time analytics.

What is the difference between live, catchup, and persistent projections?

Projection types differ by timing: live projections update read models in real-time, catchup replays historical events to build state, and persistent projections maintain ongoing subscription checkpoints to ensure read models stay synchronized with event streams.

How do I create materialized views from event sourcing for dashboards?

You create materialized views for dashboards by applying projection templates that aggregate multiple event streams into read models. These projections transform raw event data into structured formats suitable for real-time analytics and querying.

Does this projection architecture support Elasticsearch-backed search?

Yes, the projection architecture includes specific templates for Elasticsearch-backed search projections. These templates guide how event streams are projected into Elasticsearch indices to enable efficient querying and search capabilities.

Can I use Python to implement event stream projections?

Yes, you can use Python to implement event stream projections. The architecture provides concrete Python projection templates that wire your event streams to read models, facilitating the creation of CQRS workflows and materialized views.

When should I use inline projections versus catchup projections?

Use inline projections when you need immediate read model updates during write operations, and use catchup projections when you need to replay historical event streams to rebuild or initialize read models from past events.