Agent skill · software engineering · wshobson

projection-patterns

Build read models and projections from event streams. Use when implementing CQRS read sides, building materialized views, or optimizing query performance in event-sourced systems.

Why this skill is useful

Provides domain-specific knowledge on building projections and read models in event-sourced systems, which the AI wouldn't reliably generate on its own.

What it needs

About 1k tokens when loaded. Last updated 2026-08-05. 38,570 stars on the source repository.

What this skill does

Projection Patterns Comprehensive guide to building projections and read models for event-sourced systems. When to Use This Skill Building CQRS read models Creating materialized views from events Optimizing query performance Implementing real-time dashboards Building search indexes from events Aggregating data across streams Core Concepts 1. Projection Architecture 2. Projection Types Type Description Use Case -------------- --------------------------- ---------------------- Live Real-time from subscription Current state queries Catchup Process historical events Rebuilding read models Persistent Stores checkpoint Resume after restart Inline Same transaction as write Strong consistency Templates and detailed worked examples Full template library and detailed worked examples live in references/details.md. Read that file when you need the concrete templates. Best Practices Do's Make projections idempotent - Safe to replay Use transactions - For multi-table updates Store checkpoints - Resume after failures Monitor lag - Alert on projection delays Plan for rebuilds - Design for reconstruction Don'ts Don't couple projections - Each is independent Don't skip error handling - Log and alert on failures Don't ignore ordering - Events must be processed in order Don't over-normalize - Denormalize for query patterns

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills wshobson/projection-patterns

View the source on GitHub

Browse the @skills marketplace