--- asset_id: PA-REB-RClub-SherpaIA-Artefactos-Gustavo-v01 version: v01 tipo: PA — Plan de Acción status: Listo para ejecución owner: Anahí Martínez destinatario: Gustavo (Frontend Developer) cc: Jesús (Backend) intellbank: IB-REB-Rebelocity subbank: RebelocityClub fecha: 2026-06-24 referencias: - SPEC-REB-RClub-SherpaIA-ArtefactosUI-Gustavo-v01 (spec técnica completa) - DC-REB-RClub-SherpaIA-Templates-LinkedIn-Membretada-v01 (templates de contenido) - CP-REB-RClub-SherpaIA-ArtefactosTemplates-v01 (conceptualización) - MOCKUP-REB-RClub-SherpaIA-Artefactos-v01.html (mockup interactivo) --- # Plan de Acción — Sherpa IA · Artefactos con Templates ## Para: Gustavo (Frontend) · RebelocityClub > **TL;DR:** El Sherpa IA de RebelocityClub ya genera DOCX, MD y Audio. Vamos a añadir una nueva sección "Artefactos" debajo de cada respuesta, con 3 formatos de salida pre-diseñados: Post LinkedIn, Carrusel y Hoja Membretada. Este documento es tu plan de ejecución en 3 sprints. --- ## Contexto en 2 líneas El Sherpa sabe qué decir. Los templates definen cómo presentarlo para que el atleta pueda publicar directamente en LinkedIn o generar un documento formal sin re-formatear nada. **Mockup interactivo** (abrir en el navegador para ver el flujo completo): `MOCKUP-REB-RClub-SherpaIA-Artefactos-v01.html` --- ## Lo que tienes que construir (resumen) ### Qué se agrega a la UI actual Después de cada respuesta del Sherpa, debajo de los botones existentes (Copiar / DOCX / MD / Audio), se añade una nueva sección: ``` ── Artefactos ────────────────────────────────────────────── [ 🔵 Post LinkedIn ] [ 📊 Carrusel ] [ 📋 Membretada ] ``` Cada botón abre un **drawer** (panel deslizable desde la derecha) con opciones de configuración y un preview editable del resultado. --- ## Sprint 1 — MVP · Post LinkedIn **Objetivo:** El usuario puede generar un Post de LinkedIn desde cualquier respuesta del Sherpa, editarlo y copiarlo al portapapeles. **Tareas:** - [ ] Añadir separador "Artefactos" + chip "Post LinkedIn" debajo de las respuestas del Sherpa - Solo en la **última respuesta** del chat (simplifica el MVP) - Colores: texto rojo `#E8171A`, borde rojo, fondo `#FDE8E8` - [ ] Implementar drawer lateral que se desliza sobre el panel del Sherpa (`translateX(100% → 0)`) - [ ] Formulario dentro del drawer con estos controles (pill selectors): - **Variante:** Inspiracional *(default)* / Técnico / Narrativo - **Longitud:** Corta ~150 / Estándar ~250 *(default)* / Larga ~350 - **Fuente:** Esta respuesta *(default)* / Capítulo activo / Playbook completo - **Voz:** Personal (nombre del usuario) / Canal RClub - [ ] Botón "Generar post" → llamada al Sherpa con el template seleccionado inyectado como instrucción adicional en el prompt - [ ] Leer del perfil del usuario: `nombre`, `apellidos`, `disciplina`, `evento_objetivo` → inyectar en el prompt del Sherpa - [ ] Estado de carga: mostrar "Generando..." mientras el Sherpa responde - [ ] Área de preview **editable** (textarea) con el post generado - [ ] Botón **Copiar** → clipboard + feedback visual "✓ Copiado" por 2 segundos - [ ] Botón **Descargar .txt** - [ ] Botón **Regenerar** (vuelve a llamar al Sherpa con los mismos parámetros) - [ ] Botón Cerrar / flecha Atrás para volver al chat **Comportamiento por defecto:** Al abrir el drawer, generar el post automáticamente con los defaults sin esperar a que el usuario cambie nada. **Si el perfil está incompleto:** mostrar toast: *"Completa tu perfil para personalizar el post con tu nombre y datos."* --- ## Sprint 2 — Completar Tier 1 · Hoja Membretada **Objetivo:** Añadir la Hoja Membretada (DOCX) y completar todos los campos del panel de LinkedIn. **Tareas LinkedIn (completar lo que faltó en Sprint 1):** - [ ] Banco de hashtags automático según disciplina del perfil + tema del libro activo - [ ] Hashtags aparecen debajo del preview, editables **Tareas Hoja Membretada:** - [ ] Añadir chip "Membretada" al separador de Artefactos (color azul `#1B3A8A`, fondo `#E8ECF8`) - [ ] Drawer con estos controles: - **Estilo:** RClub Oficial *(default)* / Personal-Atleta / Coach / Sin branding - **Destinatario:** campo texto libre (opcional) - **Asunto:** campo texto libre (se autogenera si se deja vacío) - **Formato:** DOCX editable *(default)* / PDF - [ ] Consumir endpoint de Jesús → `POST /api/artifacts/docx` - Request: `{ contenido, estilo, campos_perfil: { nombre, rol, club, email, instagram, evento_objetivo }, playbook: { titulo, url } }` - Response: archivo `.docx` descargable - [ ] Mostrar resultado con nombre del archivo autogenerado: `[Tema]_[Apellido]_[YYYYMMDD].docx` - [ ] Botón Descargar + botón Regenerar **⚠️ Coordinar con Jesús antes de empezar:** el endpoint de generación del DOCX membretado no existe aún. Hay que alinear el contrato de la API (request/response) al inicio del sprint. --- ## Sprint 3 — Tier 2 · Carrusel **Objetivo:** Añadir el artefacto Carrusel (Fase 1: solo texto estructurado por slides). **Tareas:** - [ ] Añadir chip "Carrusel" al separador (color gris `#7A7A7A`, fondo `#F4F4F4`) - [ ] Drawer con estos controles: - **Número de slides:** 3 / 5 *(default)* / 8 / 10 - **Plataforma:** LinkedIn 1:1 *(default)* / Instagram 4:5 / Stories 9:16 - **Fuente:** Esta respuesta *(default)* / Capítulo activo - [ ] Misma lógica que LinkedIn: llamada al Sherpa con template estructurado por slides - [ ] Preview con estructura de slides, editable - [ ] Botones: Copiar / Descargar .md / Regenerar **Fase 2 del carrusel (para después del Sprint 3):** renderizado visual HTML/CSS exportable. Coordinar con Jesús cuando se llegue a esa fase. --- ## Decisiones que necesito que definas antes de Sprint 1 Respóndeme estas 4 preguntas y empezamos: 1. **¿Drawer o modal?** El mockup usa drawer lateral sobre el panel del Sherpa. ¿Eso funciona con el layout actual o prefieres modal centrado? 2. **¿El prompt del Sherpa se llama nuevamente para generar el artefacto, o el mismo texto se re-procesa client-side?** Recomiendo llamada nueva (mejor calidad). ¿Hay alguna restricción de costo o rate limit que lo complique? 3. **¿Los chips de artefactos van en todas las respuestas del historial o solo en la última?** El mockup los pone solo en la última — ¿confirmamos eso para Sprint 1? 4. **¿El perfil del usuario ya expone un endpoint/store con los campos que necesitamos** (`nombre`, `disciplina`, `club`, `instagram`, `evento_objetivo`)? Si no, ¿cómo los obtenemos? --- ## Archivos de referencia (todos en `IB-REB-Rebelocity/RebelocityClub`) | Archivo | Qué contiene | |---|---| | `MOCKUP-REB-RClub-SherpaIA-Artefactos-v01.html` | Mockup interactivo completo — abrir en el navegador | | `SPEC-REB-RClub-SherpaIA-ArtefactosUI-Gustavo-v01.md` | Spec técnica completa (wireframes ASCII, flujo detallado, estados de UI) | | `DC-REB-RClub-SherpaIA-Templates-LinkedIn-Membretada-v01.md` | Estructura exacta de los 3 templates de LinkedIn + reglas de generación | | `CP-REB-RClub-SherpaIA-ArtefactosTemplates-v01.md` | Conceptualización completa (decisiones de producto, tier prioritization) | --- ## División de responsabilidades | Qué | Quién | |---|---| | Chips, drawer, pill selectors, preview editable, copy/clipboard | **Gustavo** | | Leer perfil del usuario e inyectar en el prompt | **Gustavo** | | Llamada al Sherpa con template como instrucción adicional | **Gustavo** (coordinar con quien mantiene el Sherpa) | | Endpoint `POST /api/artifacts/docx` para la membretada | **Jesús** | | Generación PDF (Sprint 3+) | **Jesús** | --- ## Criterios de aceptación Sprint 1 - Usuario puede abrir el drawer de LinkedIn desde una respuesta del Sherpa - El post se genera automáticamente con defaults al abrir el drawer - El usuario puede cambiar variante/longitud y regenerar - El texto generado es editable antes de copiar - El botón Copiar funciona y da feedback visual - Si el perfil tiene nombre y disciplina, aparecen en la voz del post - El drawer se puede cerrar y volver al chat sin perder la respuesta del Sherpa --- *PA-REB-RClub-SherpaIA-Artefactos-Gustavo-v01 · 2026-06-24* *Owner: Anahí Martínez · Para: Gustavo (Frontend) · CC: Jesús (Backend)* *IntelliBank: IB-REB-Rebelocity · RebelocityClub*