Communitygithub.com

recsys-pipeline-architect

Diseña pipelines de recomendación, clasificación y feeds componibles usando el marco de seis etapas Source→Hydrator→Filter→Scorer→Selector→SideEffect popularizado por xAI.

¿Qué es recsys-pipeline-architect?

Este skill permite a desarrolladores e ingenieros de sistemas de recomendación diseñar y generar código para pipelines de recomendación, clasificación y feeds utilizando un patrón de seis etapas: Source (fuente), Hydrator (hidratador), Filter (filtro), Scorer (puntuador), Selector (selector) y SideEffect (efecto secundario), popularizado por el algoritmo open-source 'For You' de xAI. El skill guía al usuario a través de un flujo de trabajo de 8 pasos para clarificar el caso de uso, identificar fuentes de candidatos, hidrataciones, filtros, diseñar la cadena de puntuación, selector y efectos secundarios, y finalmente generar un andamio (scaffold) ejecutable en TypeScript, Go o Python. Es útil para cualquier sistema que necesite seleccionar los 'top K' elementos para un usuario/contexto, como feeds personalizados o sistemas de recomendación. El skill enfatiza buenas prácticas como filtrar antes de puntuar para ahorrar cómputo, efectos secundarios asíncronos, y expone compensaciones clave como puntuación única vs. predicción multi-acción, puntuación aislada vs. conjunta, y procesamiento en línea vs. fuera de línea (offline). Todo el patrón se atribuye correctamente a xAI, pero se implementa de forma independiente bajo licencia MIT.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/affaan-m/ECC/tree/main/skills/recsys-pipeline-architect

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace recsys-pipeline-architect?

Un skill de especificación y andamiaje para construir pipelines de recomendación, clasificación y feeds componibles. Codifica el patrón de seis etapas — Source → Hydrator → Filter → Scorer → Selector → SideEffect — popularizado por el algoritmo For You de código abierto de xAI (Apache 2.0). Este skill es una reimplementación independiente del patrón (MIT) — no se ha copiado código del original.

Upstream: https://github.com/mturac/recsys-pipeline-architect

Cuándo usar

  • El usuario quiere construir cualquier sistema que seleccione "los top K elementos para un usuario/contexto"
  • El usuario pregunta "cómo debería clasificar X" o describe un problema de feed/personalización
  • El usuario tiene una función de puntuación y necesita la infraestructura del pipeline alrededor
  • El usuario quiere migrar de una única puntuación de relevancia a predicción multi-acción con pesos ajustables
  • El usuario está envolviendo un puntuador de LLM/ML y necesita filtros, hidratadores, efectos secundarios y un andamio ejecutable en su stack (TypeScript / Go / Python)
  • Disparadores: "sistema de recomendación", "algoritmo de feed", "pipeline de clasificación", "feed para ti", "pipeline de candidatos", "recomendador de contenido", "arquitectura de pipeline para recsys", "reranker de recuperación RAG"

Cuándo NO usar

  • Trabajo de arquitectura de modelos (diseño de transformers, recuperación de dos torres, entrenamiento de embeddings) — este skill es la infraestructura alrededor del modelo, no el modelo en sí
  • Pipelines de entrenamiento de ML puro — la función de puntuación es responsabilidad del usuario
  • Operar un pipeline desplegado (monitoreo, autoescalado) — fuera del alcance

El marco de seis etapas

#EtapaTrabajo¿Paralelo?
1SourceObtener candidatos de uno o más orígenesSí — múltiples fuentes se ejecutan en paralelo
2HydratorEnriquecer cada candidato con los metadatos necesarios para el filtrado y la puntuaciónSí — hidratadores independientes se ejecutan en paralelo
3FilterDescartar candidatos que nunca deberían mostrarse (bloqueados, caducados, duplicados, no elegibles)Secuencial — cada filtro ve menos elementos
4ScorerAsignar a cada candidato superviviente una o más puntuacionesSecuencial — los puntuadores posteriores ven las puntuaciones anteriores
5SelectorOrdenar por puntuación final, devolver top KOperación única
6SideEffectAlmacenar en caché IDs servidos, registrar impresiones, emitir eventos, actualizar contadoresAsíncrono — nunca debe bloquear la respuesta

Por qué este orden exacto

  • Sources antes de hydratación: saber qué candidatos existen antes de pagar por enriquecerlos
  • Hydratación antes del filtrado: muchos filtros necesitan metadatos que la fuente no proporcionó
  • Filtrado antes de la puntuación: la puntuación es la etapa costosa; descartar primero los no elegibles
  • Cadena de puntuadores (no un único puntuador): los sistemas reales combinan puntuación ML + reranking de diversidad + reglas de negocio
  • Selector después de la puntuación: mantiene la puntuación determinista y almacenable en caché
  • SideEffects al final y asíncronos: los efectos secundarios nunca deben bloquear la respuesta del usuario

Flujo de trabajo al invocarse

Guiar al usuario a través de estos ocho pasos:

  1. Aclarar el caso de uso (una ronda, tres preguntas): ¿elementos a clasificar? ¿contexto de entrada? ¿idioma/entorno de ejecución?
  2. Identificar las fuentes de candidatos: normalmente dentro de la red (seguidos/propios/suscritos) + fuera de la red (recuperación ML / tendencias / similar-a-gustados)
  3. Listar las hidrataciones necesarias: para cada filtro y puntuador, ¿qué datos necesita que la fuente no proporcionó?
  4. Listar los filtros: duplicado, propio, antigüedad, bloqueo/silencio, previamente servido, elegibilidad. El orden importa: baratos antes que caros.
  5. Diseñar la cadena de puntuadores: primario (ML) → combinador (multi-acción con pesos) → diversidad → reglas de negocio
  6. Selector: ordenar descendente por puntuación final, tomar top K (o mezcla estratificada para dentro de la red/fuera de la red)
  7. SideEffects: almacenar en caché IDs servidos, emitir eventos de impresión, actualizar contadores, registrar analíticas — todo disparar y olvidar
  8. Generar el andamio en el stack del usuario

Compensaciones clave a exponer (no establecer valores predeterminados en silencio)

1. Puntuación única vs predicción multi-acción

  • Puntuación única: entrenar un modelo para predecir relevancia. Para cambiar el comportamiento → reentrenar.
  • Multi-acción: predecir P(acción) para muchas acciones (leer, gustar, compartir, saltar, reportar), combinar con pesos en tiempo de servicio. Para cambiar el comportamiento → cambiar pesos. Sin reentrenamiento.

El sistema X For You usa multi-acción con pesos tanto positivos como negativos. Recomendar multi-acción cuando el usuario espera ajustar con frecuencia.

2. Aislamiento de candidatos en la puntuación

  • Aislado: cada candidato puntuado de forma independiente. Determinista, almacenable en caché.
  • Conjunto: los candidatos se atienden entre sí durante la puntuación (ej., transformer sobre el lote). Más expresivo pero no determinista entre lotes.

Por defecto, aislado. Solo conjunto cuando hay una razón específica (ej., diversidad explícita consciente del lote).

3. En línea vs fuera de línea

  • En tiempo de solicitud (en línea): el pipeline se ejecuta en cada solicitud. Presupuesto de latencia: 100–300ms. Por defecto.
  • Precomputado (lote fuera de línea): el pipeline se ejecuta periódicamente, resultados almacenados en caché. Menor latencia, menor frescura.
  • Híbrido: recuperación de candidatos fuera de línea, clasificación en línea.

Reglas estrictas

  1. No inventar números de referencia. "¿Cuánto más rápido?" → "depende de la carga de trabajo, pruébelo usted mismo."
  2. Disciplina de atribución. Cuando se haga referencia al patrón, atribuir como "popularizado por el algoritmo For You de código abierto de xAI" / github.com/xai-org/x-algorithm (Apache 2.0).
  3. Sin uso de marca registrada. No nombrar el artefacto del usuario como "similar a X" o usar la marca "For You". El patrón es libre; la marca no lo es. Nombres sugeridos: "pipeline de candidatos", "pipeline de feed", "pipeline de clasificación", "pipeline de recsys".
  4. Exponer compensaciones. Multi-acción vs única, aislado vs conjunto, en línea vs fuera de línea — nunca establecer valores predeterminados en silencio.
  5. El andamio generado debe ejecutarse. No se acepta pseudocódigo que pase por código.
  6. El orden de los filtros importa. Baratos antes que caros. Universales antes que específicos del usuario.
  7. Los efectos secundarios nunca bloquean. Envolver en patrones de disparar y olvidar (goroutines / promesas sin await / tareas asyncio).

Anti-patrones

  • Puntuación antes del filtrado (desperdicia cómputo en candidatos que serán descartados de todas formas)
  • Efectos secundarios síncronos (escrituras en caché / emisiones de impresión bloqueando la respuesta)
  • Una única puntuación de "relevancia" cuando el producto necesita ajustar múltiples objetivos (compromiso vs seguridad vs diversidad vs anuncios)
  • Puntuación conjunta como predeterminada (no determinista, más difícil de almacenar en caché, no se compone con etapas de reranking)
  • Generar pseudocódigo "para ilustración" — el andamio debe ejecutarse realmente

Contenido del repositorio upstream

El repositorio upstream en https://github.com/mturac/recsys-pipeline-architect incluye:

  • SKILL.md completo con el flujo de trabajo de 8 pasos
  • 5 documentos de referencia cargables bajo demanda: interfaces en 4 lenguajes (TS/Go/Python/Rust), patrón de puntuación multi-acción, aislamiento de candidatos, recetario de filtros (12 patrones), recetario de puntuadores (suma ponderada, MMR, penalización de diversidad, desesgo de posición)
  • 3 andamios de ejemplo ejecutables, todos pasando su suite de pruebas:
    • Plugin Strapi v5 (TypeScript / Jest — 3/3 pasan)
    • Pipeline compatible con Zentra (Go con genéricos — 3/3 pasan)
    • Priorizador de tareas PMAI (Python / FastAPI / pytest — 3/3 pasan)
  • Versión v0.1.0 etiquetada
  • Licencia MIT; patrón atribuido al algoritmo X For You de xAI (Apache 2.0)

Instalación mediante skills.sh: npx skills add mturac/recsys-pipeline-architect

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/content-engine

Create platform-native content systems for X, LinkedIn, TikTok, YouTube, newsletters, and repurposed multi-platform campaigns. Use when the user wants social posts, threads, scripts, content calendars, or one source asset adapted cleanly across platforms.

affaan-m/ECC

Multi-platform content distribution across X, LinkedIn, Threads, and Bluesky. Adapts content per platform using content-engine patterns. Never posts identical content cross-platform. Use when the user wants to distribute content across social platforms.

affaan-m/fal-ai-media

Unified media generation via fal.ai MCP — image, video, and audio. Covers text-to-image (Nano Banana), text/image-to-video (Seedance, Kling, Veo 3), text-to-speech (CSM-1B), and video-to-audio (ThinkSound). Use when the user wants to generate images, videos, or audio with AI.

affaan-m/manim-video

日本語翻訳:このファイルは manim-video 用の日本語翻訳が必要です

affaan-m/remotion-video-creation

Remotion のベストプラクティス - React で動画を作成する。3D、アニメーション、音声、字幕、チャート、トランジションなどをカバーするドメイン固有の29のルール。

affaan-m/video-editing

AI-assisted video editing workflows for cutting, structuring, and augmenting real footage. Covers the full pipeline from raw capture through FFmpeg, Remotion, ElevenLabs, fal.ai, and final polish in Descript or CapCut. Use when the user wants to edit video, cut footage, create vlogs, or build video content.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

agent-self-evaluation

Use after completing any non-trivial task. The agent self-rates its output on 5 axes — accuracy, completeness, clarity, actionability, conciseness — with concrete evidence per criterion. Produces a structured 1-5 scorecard with specific improvement suggestions.

agent-sort

Build an evidence-backed ECC install plan for a specific repo by sorting skills, commands, rules, hooks, and extras into DAILY vs LIBRARY buckets using parallel repo-aware review passes. Use when ECC should be trimmed to what a project actually needs instead of loading the full bundle.

ai-first-engineering

Engineering operating model for teams where AI agents generate a large share of implementation output. Use when setting team process, review gates, or ownership rules for a codebase largely written by agents.

ai-regression-testing

Regression testing strategies for AI-assisted development. Sandbox-mode API testing without database dependencies, automated bug-check workflows, and patterns to catch AI blind spots where the same model writes and reviews code. Use when adding regression coverage to AI-assisted code, or when the same model both wrote and reviewed a change.

android-clean-architecture

Clean Architecture patterns for Android and Kotlin Multiplatform projects — module structure, dependency rules, UseCases, Repositories, and data layer patterns. Use when structuring modules, layers, or data flow in an Android or KMP project.

angular-developer

Generates Angular code and provides architectural guidance. Trigger when creating projects, components, or services, or for best practices on reactivity (signals, linkedSignal, resource), forms, dependency injection, routing, SSR, accessibility (ARIA), animations, styling (component styles, Tailwind CSS), testing, or CLI tooling.

Skills relacionados