Implement Command Query Responsibility Segregation for scalable architectures. Use when separating read and write models, optimizing query performance, or building event-sourced systems.
Comprehensive guide to implementing CQRS (Command Query Responsibility Segregation) patterns.
┌─────────────┐
│ Client │
└──────┬──────┘
│
┌────────────┴────────────┐
│ │
▼ ▼
┌─────────────┐ ┌─────────────┐
│ Commands │ │ Queries │
│ API │ │ API │
└──────┬──────┘ └──────┬──────┘
│ │
▼ ▼
┌─────────────┐ ┌─────────────┐
│ Command │ │ Query │
│ Handlers │ │ Handlers │
└──────┬──────┘ └──────┬──────┘
│ │
▼ ▼
┌─────────────┐ ┌─────────────┐
│ Write │─────────►│ Read │
│ Model │ Events │ Model │
└─────────────┘ └─────────────┘
| Component | Responsibility | | ------------------- | ------------------------------- | | Command | Intent to change state | | Command Handler | Validates and executes commands | | Event | Record of state change | | Query | Request for data | | Query Handler | Retrieves data from read model | | Projector | Updates read model from events |
Full template library and detailed worked examples live in references/details.md. Read that file when you need the concrete templates.
Copy a source-pinned command for your client. You run it yourself.
Destination: .claude/skills/cqrs-implementation · pinned to the source commit
git clone https://github.com/wshobson/agents.git
cd agents
git checkout d82998e7df393c671ede2387a8435075f0b633f5
mkdir -p ".claude/skills/cqrs-implementation"
cp -r "plugins/backend-development/skills/cqrs-implementation" ".claude/skills/cqrs-implementation"Review the source before running. This copies files into your project; it is not a one-click install and does not verify runtime safety.
Scanner static-checks@0.1.0 · commit d82998e7df39. Static checks cannot prove runtime safety – review the source and the exact diff before installing. How checks work.
No static rules matched. This is not a safety guarantee.