Habilidades projection-patterns
📦

projection-patterns

Riesgo bajo 🌐 Acceso a red⚙️ Comandos externos

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.

Soporta: Claude Codex Code(CC)
📊 69 Adecuado
1

Descargar el ZIP de la skill

2

Subir en Claude

Ve a Configuración → Capacidades → Skills → Subir skill

3

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 bajo
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
Archivos escaneados
664
Líneas analizadas
2
hallazgos
4
Auditorías totales

Puntuación de calidad

38
Arquitectura
100
Mantenibilidad
87
Contenido
29
Comunidad
90
Seguridad
91
Cumplimiento de la especificación

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

Proyección básica
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.
Actualización multi-tabla
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.
Sincronización de índice de búsqueda
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.
Métricas diarias
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?
Las plantillas usan asyncpg para PostgreSQL pero los patrones se aplican a cualquier controlador de base de datos asíncrono como SQLAlchemy o bases de datos con soporte asíncrono.
¿Cómo manejan las proyecciones altos volúmenes de eventos?
Implementar procesamiento por lotes con batch_size configurable y puntos de verificación para gestionar memoria y permitir capacidad de reinicio.
¿Puedo usar estos patrones con Kafka?
Sí, el patrón de proyector funciona con cualquier fuente de eventos. Reemplazar la llamada event_store.read_all() con su lógica de consumidor de Kafka.
¿Mis datos están seguros con estas proyecciones?
Estas son plantillas arquitectónicas. La seguridad real de los datos depende de los permisos de su base de datos, seguridad de conexión y controles de acceso.
¿Por qué mi proyección se está quedando atrás del flujo de eventos?
Verificar tamaño de lote de eventos, rendimiento de consultas de base de datos y asegurar indexado adecuado en tablas de modelo de lectura para patrones de datos de eventos.
¿Cómo se diferencia esto de las tuberías ETL?
Las proyecciones procesan eventos en orden a medida que ocurren, manteniendo estado. ETL típicamente ejecuta trabajos por lotes en datos históricos sin actualizaciones en tiempo real.

Detalles del desarrollador

Estructura de archivos

📄 SKILL.md