Compétences projection-patterns
📦

projection-patterns

Risque faible 🌐 Accès réseau⚙️ Commandes externes

Implémenter des modèles de projection CQRS

Les systèmes basés sur l’event sourcing ont besoin de modèles de lecture efficaces pour des requêtes à haute performance. Cette compétence fournit des modèles et patrons prêts pour la production afin de construire des projections, des read models et des vues matérialisées à partir de flux d’événements avec Python.

Prend en charge: Claude Codex Code(CC)
📊 69 Adéquat
1

Télécharger le ZIP du skill

2

Importer dans Claude

Allez dans Paramètres → Capacités → Skills → Importer un skill

3

Activez et commencez à utiliser

Tester

Utilisation de "projection-patterns". Create a basic order summary projection

Résultat attendu:

  • Event handler for OrderCreated: Insert new order summary record with customer data
  • Event handler for OrderItemAdded: Update total_amount and increment item_count
  • Event handler for OrderShipped: Set status to shipped and record shipped_at timestamp
  • Checkpoint tracking: Store global_position after each processed event
  • Idempotent design: Safe to replay events on system restart

Utilisation de "projection-patterns". Build a customer activity tracker projection

Résultat attendu:

  • CustomerCreated handler: Insert customer record and initialize activity summary
  • OrderCompleted handler: Update total_orders and total_spent in summary table
  • OrderCompleted handler: Insert into order history table for audit trail
  • ReviewSubmitted handler: Increment review count and record last review date
  • CustomerTierChanged handler: Update tier and tier change timestamp

Utilisation de "projection-patterns". Implement a real-time sales dashboard projection

Résultat attendu:

  • OrderCompleted handler: Upsert daily sales record with new order totals
  • OrderRefunded handler: Decrement revenue and increment refund totals
  • Date extraction: Parse completion date to group sales by day
  • Atomic updates: Use database ON CONFLICT for race condition safety
  • Metric calculations: Track total orders, revenue, items, and refunds per day

Audit de sécurité

Risque faible
v4 • 1/17/2026

This skill is documentation-only containing Python code templates for CQRS projection patterns. Static scanner flagged 42 patterns, but all are false positives triggered by documentation formatting and terminology. No executable code, network calls, or system modifications exist. The skill only provides architectural guidance via markdown templates.

2
Fichiers analysés
664
Lignes analysées
2
résultats
4
Total des audits

Score de qualité

38
Architecture
100
Maintenabilité
87
Contenu
29
Communauté
90
Sécurité
91
Conformité aux spécifications

Ce que vous pouvez construire

Construire des read models

Transformer des flux d’événements en read models optimisés pour votre architecture CQRS.

Créer des vues analytiques

Construire des vues agrégées en temps réel pour les tableaux de bord et les systèmes de reporting.

Concevoir des systèmes événementiels

Planifier et implémenter des stratégies de projection pour des microservices en event sourcing.

Essayez ces prompts

Projection de base
Create a basic projection class that handles OrderCreated and OrderCompleted events from an event stream and updates a PostgreSQL read model.
Mise à jour multi‑table
Write a projection that updates both a customer summary table and order history table when an OrderCompleted event occurs, using a single database transaction.
Synchronisation d’index de recherche
Create an Elasticsearch projection that indexes product events for full-text search, handling create, update, and delete operations.
Métriques quotidiennes
Write a projection that aggregates sales data by day, handling both completed orders and refunds with upsert logic.

Bonnes pratiques

  • Rendre les projections idempotentes afin de pouvoir rejouer les événements en toute sécurité après des échecs ou des redémarrages
  • Utiliser des transactions de base de données lorsqu’un seul événement met à jour plusieurs tables liées
  • Stocker des checkpoints pour permettre la reprise à partir de la dernière position d’événement traitée

Éviter

  • Coupler les projections entre elles crée des défaillances en cascade et des dépendances d’ordre strictes
  • Ignorer la gestion des erreurs provoque des échecs silencieux et des incohérences de données dans les read models
  • Sur‑normaliser les read models va à l’encontre de l’objectif des projections en ajoutant de la complexité de jointure

Foire aux questions

Quelles bases de données fonctionnent avec ces projections ?
Les modèles utilisent asyncpg pour PostgreSQL, mais les patrons s’appliquent à tout pilote de base de données asynchrone comme SQLAlchemy ou aux bases offrant un support async.
Comment les projections gèrent‑elles de forts volumes d’événements ?
Implémentez un traitement par lots avec batch_size configurable et un checkpointing pour gérer la mémoire et permettre la reprise.
Puis‑je utiliser ces patrons avec Kafka ?
Oui, le patron de projecteur fonctionne avec n’importe quelle source d’événements. Remplacez l’appel event_store.read_all() par la logique de votre consommateur Kafka.
Mes données sont‑elles en sécurité avec ces projections ?
Ce sont des modèles architecturaux. La sécurité réelle des données dépend de vos permissions de base de données, de la sécurité des connexions et des contrôles d’accès.
Pourquoi ma projection prend‑elle du retard par rapport au flux d’événements ?
Vérifiez la taille des lots d’événements, les performances des requêtes de base de données et assurez‑vous d’un indexage approprié des tables de read model pour les schémas de données d’événements.
En quoi est‑ce différent des pipelines ETL ?
Les projections traitent les événements dans l’ordre où ils surviennent, en maintenant l’état. L’ETL exécute généralement des jobs batch sur des données historiques sans mises à jour en temps réel.

Détails du développeur

Structure de fichiers

📄 SKILL.md