Agent skill

Projection Patterns

by wshobson in wshobson/agents

Covers building read models and materialized views from event streams in CQRS and event-sourced systems, including live, catch-up, persistent and inline projections.

MITAuto-check passedBackend & APIs

Install Projection Patterns

skills CLI
$ npx skills add wshobson/agents --skill projection-patterns -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install wshobson/agents projection-patterns --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/wshobson/agents.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/backend-development/skills/projection-patterns .claude/skills/projection-patterns && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
projection-patterns
GitHub stars
40k
Used in
8 other repos
Token cost
~565 tokens
SKILL.md length
167 words
Files
2 (incl. references)
Skills in repo
142
Repo updated
First seen
Licence
MIT

At a glance

Covers building read models and materialized views from event streams in CQRS and event-sourced systems, including live, catch-up, persistent and inline projections.

  • Works in 2 steps: Projection Architecture → Projection Types
  • Building CQRS read models from an event store
  • SKILL.md covers When to Use This Skill, Core Concepts, Templates and detailed worked… and Best Practices
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

This skill explains how projections turn an event store's stream into read models held in a database. It lays out the architecture as event store, projector and read model, and tabulates four projection types: live for real-time subscriptions, catch-up for replaying history, persistent for resuming from a stored checkpoint, and inline for updates in the same transaction as the write.

The practical rules are to make projections idempotent so replay is safe, store checkpoints, use transactions for multi-table updates, monitor lag, keep each projection independent, process events in order and denormalize for the queries you serve. Use cases include real-time dashboards, search indexes built from events and aggregations across streams. A references/details.md file holds templates.

When your agent uses it

  • Building CQRS read models from an event store
  • Rebuilding a read model from historical events
  • Feeding search indexes or dashboards from an event stream
  • Adding checkpoints and lag monitoring to projections

Example prompts

  • “Create a projector that builds an order summary table from our order events.”
  • “Make this projection idempotent so replaying events does not duplicate rows.”
  • “Add a catch-up projection to rebuild the customer dashboard from history.”

Workflow steps

2 steps, taken from the step headings in SKILL.md.

  1. Projection Architecture
  2. Projection Types

What it can do on your machine

Read from SKILL.md and the folder at commit 46891e7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Projection Patterns loads about 565 tokens when it runs, and up to ~4.1k if it reads all its reference files. Until then it costs about 50 tokens; SKILL.md has 167 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~50
When it runs · the whole SKILL.md, loaded when a task matches
~565
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from wshobson/agents at commit 46891e7, republished under its MIT licence (© wshobson). 167 words, ~565 tokens.

Download SKILL.mdSave it as .claude/skills/projection-patterns/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
projection-patterns
description
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.

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
┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│ Event Store │────►│ Projector   │────►│ Read Model  │
│             │     │             │     │ (Database)  │
│ ┌─────────┐ │     │ ┌─────────┐ │     │ ┌─────────┐ │
│ │ Events  │ │     │ │ Handler │ │     │ │ Tables  │ │
│ └─────────┘ │     │ │ Logic   │ │     │ │ Views   │ │
│             │     │ └─────────┘ │     │ │ Cache   │ │
└─────────────┘     └─────────────┘     └─────────────┘
2. Projection Types
TypeDescriptionUse Case
LiveReal-time from subscriptionCurrent state queries
CatchupProcess historical eventsRebuilding read models
PersistentStores checkpointResume after restart
InlineSame transaction as writeStrong 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

© wshobson, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in plugins/backend-development/skills/projection-patterns of wshobson/agents.

  • SKILL.md
  • references/details.md

Open the folder on GitHubat commit 46891e7

Used in 8 other repositories

We found 22 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 8 other GitHub owners. This page covers the copy in wshobson/agents, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Projection Patterns next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Projection Patterns compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Projection Patterns this skillwshobson/agents40k8 repos~565Automated safety check: PassMIT
NestJS Modular Monolith Architecttech-leads-club/agent-skills7k—~3.9kAutomated safety check: PassCC-BY-4.0
Microservices ArchitectJeffallan/claude-skills12k—~1.8kAutomated safety check: PassMIT
Quarkus Patternsaffaan-m/ECC274k1 repos~5.4kAutomated safety check: PassMIT
Architecture Selectionrsmdt/the-startup536—~1.2kAutomated safety check: PassMIT
Quarkus Patternsaffaan-m/ECC274k—~6.1kAutomated safety check: PassMIT

Similar skills

  • NestJS Modular Monolith Architect

    tech-leads-club/agent-skills

    Designs scalable NestJS modular monoliths with domain-driven design, Clean Architecture layers and optional CQRS, defining bounded contexts and strict module boundaries.

    7k GitHub stars~3.9k tokensUpdated 17 days ago
    Backend & APIsAuto-check passed
  • Microservices Architect

    Jeffallan/claude-skills

    Designs distributed systems: bounded-context service boundaries, sync and async communication, data ownership, resilience, tracing and rollout strategy.

    12k GitHub stars~1.8k tokensUpdated 4 days ago
    Backend & APIsAuto-check passed
  • Quarkus Patterns

    affaan-m/ECC

    Quarkus 3.x LTS architecture patterns with Camel for messaging, RESTful API design, CDI services, data access with Panache, and async processing.

    274k GitHub starsUsed in 1 repo~5.4k tokens
    Backend & APIsAuto-check passed
  • Architecture Selection

    rsmdt/the-startup

    System architecture patterns including monolith, microservices, event-driven, and serverless, with C4 modeling, scalability strategies, and technology selection criteria.

    536 GitHub stars~1.2k tokensUpdated 2 mo ago
    Backend & APIsAuto-check passed
  • Quarkus Patterns

    affaan-m/ECC

    Quarkus 3.x LTS architecture patterns with Camel for messaging, RESTful API design, CDI services, data access with Panache, and async processing.

    274k GitHub stars~6.1k tokensUpdated 2 days ago
    Backend & APIsAuto-check passed
  • System Design

    ninehills/skills

    Design scalable distributed systems using structured approaches for load balancing, caching, database scaling, and message queues.

    281 GitHub stars~4.7k tokensUpdated 3 mo ago
    Backend & APIsAuto-check passed

More from wshobson/agents

All 142 skills in this repo
  • Cuts cloud spend across AWS, Azure, GCP and OCI with cost tagging, rightsizing, commitment and spot pricing models, and architecture changes.

    40k GitHub starsUsed in 13 repos~1.7k tokens
    Auto-check passed
  • Billing Automation

    wshobson/agents

    Covers building subscription billing: billing cycles, subscription states, invoice generation, proration, tax handling and dunning for failed payments.

    40k GitHub starsUsed in 12 repos~473 tokens
    Auto-check passed
  • Profiles slow Python code with cProfile and memory profilers, then applies targeted fixes for CPU, memory, I/O and query bottlenecks.

    40k GitHub starsUsed in 12 repos~814 tokens
    Auto-check passed
  • Portfolio Risk Metrics

    wshobson/agents

    Covers portfolio risk measurement with VaR, CVaR, Sharpe, Sortino and drawdown, plus guidance on limits, stress tests and tail risk.

    40k GitHub starsUsed in 12 repos~502 tokens
    Auto-check passed
  • Plans memory headroom, works through out-of-memory failures and watches temperature and power during long ML training jobs on NVIDIA DGX Spark.

    40k GitHub starsUsed in 1 repo~2k tokens
    Auto-check passed
  • Writes unit tests for shell scripts with Bats: error-condition tests, fixtures and mocks, cross-shell checks, parallel runs, helper files and CI integration.

    40k GitHub starsUsed in 11 repos~1.3k tokens
    Auto-check passed

Questions about Projection Patterns

What does Projection Patterns do?

Covers building read models and materialized views from event streams in CQRS and event-sourced systems, including live, catch-up, persistent and inline projections. This skill explains how projections turn an event store's stream into read models held in a database. It lays out the architecture as event store, projector and read model, and tabulates four projection types: live for real-time subscriptions, catch-up for replaying history, persistent for resuming from a stored checkpoint, and inline for updates in the same transaction as the write.

When should I use Projection Patterns?

Projection Patterns fits situations like: building CQRS read models from an event store; rebuilding a read model from historical events; feeding search indexes or dashboards from an event stream; adding checkpoints and lag monitoring to projections.

How do I install Projection Patterns in Claude Code?

Run `npx skills add wshobson/agents --skill projection-patterns -a claude-code`. Or copy the skill folder (plugins/backend-development/skills/projection-patterns in wshobson/agents) into .claude/skills/projection-patterns in your project. Claude Code loads it when a task matches its description.

How do I install Projection Patterns in Codex?

Run `npx skills add wshobson/agents --skill projection-patterns -a codex`. Or copy the skill folder (plugins/backend-development/skills/projection-patterns in wshobson/agents) into .agents/skills/projection-patterns in your project. Codex loads it when a task matches its description.

Can I use Projection Patterns in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add wshobson/agents --skill projection-patterns -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/projection-patterns, .gemini/skills/projection-patterns, .github/skills/projection-patterns and .opencode/skills/projection-patterns in your project.

What does Projection Patterns need to run?

SKILL.md names no scripts, command-line tools or credentials: Projection Patterns is instructions for the agent only.

Does Projection Patterns access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Projection Patterns safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Projection Patterns use?

Projection Patterns is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Projection Patterns use?

About 565 tokens (SKILL.md is roughly 2.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.6k tokens, read only when the agent opens those files.

What are the alternatives to Projection Patterns?

Skills that share tags, products or a category with Projection Patterns: NestJS Modular Monolith Architect (tech-leads-club/agent-skills, 7k stars), Microservices Architect (Jeffallan/claude-skills, 12k stars), Quarkus Patterns (affaan-m/ECC, 274k stars) and Architecture Selection (rsmdt/the-startup, 536 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Projection Patterns?

wshobson (a GitHub user) maintains it in wshobson/agents, which has 40,254 GitHub stars. The repository holds 142 skills in this directory. The repository was last updated on October 5, 2026.

Source: wshobson/agents on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.