projection-patterns
Implementar patrones de proyección CQRS
Los sistemas con eventos fuente necesitan modelos de lectura eficientes para consultas de alto rendimiento. Esta habilidad proporciona patrones y plantillas listas para producción para construir proyecciones, modelos de lectura y vistas materializadas desde flujos de eventos usando Python.
Descargar el ZIP de la skill
Subir en Claude
Ve a Configuración → Capacidades → Skills → Subir skill
Activa y empieza a usar
Pruébalo
Usando "projection-patterns". Crear una proyección básica de resumen de pedidos
Resultado esperado:
- Manejador de eventos para OrderCreated: Insertar nuevo registro de resumen de pedido con datos del cliente
- Manejador de eventos para OrderItemAdded: Actualizar total_amount e incrementar item_count
- Manejador de eventos para OrderShipped: Establecer estado como enviado y registrar timestamp de shipped_at
- Seguimiento de puntos de verificación: Almacenar global_position después de cada evento procesado
- Diseño idempotente: Seguro para reproducir eventos al reiniciar el sistema
Usando "projection-patterns". Construir una proyección de seguimiento de actividad del cliente
Resultado esperado:
- Manejador CustomerCreated: Insertar registro de cliente e inicializar resumen de actividad
- Manejador OrderCompleted: Actualizar total_orders y total_spent en tabla de resumen
- Manejador OrderCompleted: Insertar en tabla de historial de pedidos para auditoría
- Manejador ReviewSubmitted: Incrementar conteo de reseñas y registrar última fecha de reseña
- Manejador CustomerTierChanged: Actualizar tier y timestamp de cambio de nivel
Usando "projection-patterns". Implementar una proyección de panel de ventas en tiempo real
Resultado esperado:
- Manejador OrderCompleted: Upsert de registro de ventas diarias con nuevos totales de pedidos
- Manejador OrderRefunded: Decrementar ingresos e incrementar totales de reembolsos
- Extracción de fecha: Parsear fecha de completación para agrupar ventas por día
- Actualizaciones atómicas: Usar ON CONFLICT de base de datos para seguridad contra condiciones de carrera
- Cálculos de métricas: Rastrear total de pedidos, ingresos, artículos y reembolsos por día
Auditoría de seguridad
Riesgo bajoThis 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.
Factores de riesgo
🌐 Acceso a red (3)
Puntuación de calidad
Lo que puedes crear
Construir modelos de lectura
Transformar flujos de eventos en modelos de lectura optimizados para su arquitectura CQRS.
Crear vistas de análisis
Construir vistas agregadas en tiempo real para paneles de control y sistemas de informes.
Diseñar sistemas de eventos
Planificar e implementar estrategias de proyección para microservicios con eventos fuente.
Prueba estos prompts
Crear una clase de proyección básica que maneje eventos OrderCreated y OrderCompleted desde un flujo de eventos y actualice un modelo de lectura PostgreSQL.
Escribir una proyección que actualice tanto una tabla de resumen de cliente como una tabla de historial de pedidos cuando ocurra un evento OrderCompleted, usando una sola transacción de base de datos.
Crear una proyección Elasticsearch que indexe eventos de producto para búsqueda de texto completo, manejando operaciones de creación, actualización y eliminación.
Escribir una proyección que agregue datos de ventas por día, manejando tanto pedidos completados como reembolsos con lógica de upsert.
Mejores prácticas
- Hacer proyecciones idempotentes para que puedan reproducir eventos de forma segura después de fallos o reinicios
- Usar transacciones de base de datos cuando un solo evento actualiza múltiples tablas relacionadas
- Almacenar puntos de verificación para permitir la reanudación desde la última posición de evento procesado
Evitar
- Acoplar proyecciones entre sí crea fallos en cascada y dependencias de ordenamiento estrictas
- Omitir manejo de errores causa fallos silenciosos e inconsistencia de datos en modelos de lectura
- Sobre-normalizar modelos de lectura derrotan el propósito de las proyecciones al agregar complejidad de joins
Preguntas frecuentes
¿Qué bases de datos funcionan con estas proyecciones?
¿Cómo manejan las proyecciones altos volúmenes de eventos?
¿Puedo usar estos patrones con Kafka?
¿Mis datos están seguros con estas proyecciones?
¿Por qué mi proyección se está quedando atrás del flujo de eventos?
¿Cómo se diferencia esto de las tuberías ETL?
Detalles del desarrollador
Autor
wshobsonLicencia
MIT
Repositorio
https://github.com/wshobson/agents/tree/main/plugins/backend-development/skills/projection-patternsRef.
main
Estructura de archivos
📄 SKILL.md