projection-patterns — скилл для Claude Code: проекции и установка
Скилл помогает проектировать модели чтения из потоков событий. Подойдёт для CQRS, материализованных представлений и поисковых индексов.
/plugin marketplace add wshobson/agents
/plugin install backend-development@claude-code-workflowsЧто делает projection-patterns
Скилл описывает путь от Event Store через обработчик событий к модели чтения. В нём разобраны live-проекции для запросов текущего состояния, catchup-проекции для обработки истории, persistent-проекции с контрольными точками и inline-проекции в одной транзакции с записью.
Рекомендации охватывают повторное воспроизведение событий, транзакции при обновлении нескольких таблиц, контроль задержки и восстановление моделей. Подробные шаблоны и примеры находятся в references/details.md. События нужно обрабатывать по порядку, а ошибки — журналировать и отслеживать. Ставьте скилл, если проект строит read side из событий; для обычных запросов без event sourcing он не по адресу.
Какие задачи решает
- собрать CQRS-модель чтения из событий
- перестроить материализованное представление по истории
- создать поисковый индекс из потока событий
- агрегировать данные из нескольких потоков
- возобновить проекцию после сбоя по контрольной точке
Примеры запросов агенту
- Спроектируй CQRS-модель чтения для этих событий.
- Покажи, как восстановить проекцию из истории и сохранять контрольную точку.
- Как создать поисковый индекс из потока событий с учётом порядка обработки?
Как установить projection-patterns
1Через маркетплейс плагинов
/plugin marketplace add wshobson/agents/plugin install backend-development@claude-code-workflowsКоманда ставит плагин backend-development целиком, со всеми его скиллами
2Через Skills CLI (Vercel)
npx skills add wshobson/agents --skill projection-patterns -a claude-code3Вручную: положить файлы
~/.claude/skills/projection-patterns/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/projection-patterns/
1Через Skills CLI (Vercel)
npx skills add wshobson/agents --skill projection-patterns -a codex2Вручную: положить файлы
.agents/skills/projection-patterns/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add wshobson/agents --skill projection-patterns -a cursor2Вручную: положить файлы
.cursor/skills/projection-patterns/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install wshobson/agents projection-patterns2Вручную: положить файлы
.github/skills/projection-patterns/SKILL.mdКомандой платформы
gemini skills install https://github.com/wshobson/agents --path plugins/backend-development/skills/projection-patternsВручную: положить файлы
.devin/skills/projection-patterns/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Claude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
Из того же набора213
Весь набор →Похожие
Вопросы о projection-patterns
Как установить projection-patterns в Claude Code?
Выполните npx skills add wshobson/agents --skill projection-patterns -a claude-code. Также во входных командах есть установка через /plugin marketplace add wshobson/agents и /plugin install backend-development@claude-code-workflows.
Что делает projection-patterns?
Скилл объясняет, как строить модели чтения и проекции из событий, включая обработку текущего состояния и восстановление по историческим событиям.
Где найти шаблоны и подробные примеры?
Они находятся в references/details.md; скилл советует читать этот файл, когда нужны конкретные шаблоны.
Исходный текст
SKILL.md · MIT
--- 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 | 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
© Seth Hobson · MIT · wshobson/agents