---
name: mapa-de-sistemas
description: Genera el Mapa de Sistemas de un cliente siguiendo la metodología y formato exacto de Género Valor. Triggera con "mapa de sistemas para [cliente]", "ecosistema tecnológico de [cliente]", "Dx de sistemas para [cliente]", "análisis de sistemas para [cliente]", "levantemos el mapa de sistemas de [cliente]", o cuando el usuario suba entrevistas de levantamiento tecnológico (.docx con transcripción Teams) y pida un análisis. Produce dos entregables: PPTX siguiendo plantilla canónica de Género Valor (Banco Manabí base) y archivo .drawio multi-página para diagramas editables. NO usar para guías de discovery, plantillas de entrevistas, ni análisis financieros — solo para el entregable final del Mapa de Sistemas.
---

# Skill: Mapa de Sistemas — Género Valor

Este skill replica la metodología de Género Valor para producir un Mapa de Sistemas profesional a partir de entrevistas de levantamiento tecnológico. Está diseñado para uso interno del equipo de consultoría de Género Valor.

## Cuándo usarlo

El consultor invoca el skill diciendo algo como:
- "Empecemos con un análisis del mapa de sistemas para el cliente XXXX"
- "Levantemos el ecosistema tecnológico de XXXX"
- "Hagamos el Dx de sistemas para XXXX"

## Reglas duras (innegociables)

1. **Toda afirmación debe ser trazable** a una entrevista o al contexto provisto. Si no hay fuente → marcar `[FALTA INFORMACIÓN: …]` y preguntar al consultor antes de generar el entregable. Nunca asumir, nunca rellenar con conocimiento general.
2. **Los estilos no se modifican.** Usar la plantilla `templates/canon_dx.pptx` (clonada de Banco Manabí) como base. No alterar paletas, fuentes (Raleway 12pt body / 24pt header), márgenes, layouts, imágenes embebidas (logo GV, footer "GENERO VALOR"), ni colores de segmentos.
3. **Tono de redacción canónico** — descriptivo en tercera persona, conectores adversativos ("sin embargo…", "no obstante…"), frase clave en bold rojo `#C00000` señalando el problema, consecuencia operativa concreta. Imitar el estilo de los mapas previos en `Background/`.
4. **Output siempre en español.**
5. **Nunca eliminar ni agregar slides fuera del canon** sin acuerdo explícito del consultor.
6. **Drawio en formato `.drawio`** (no `.png`, no `.svg`, no exportado) — debe quedar editable en diagrams.net.

## Flujo conversacional paso a paso

### Paso 1 — Recoger contexto

Cuando se invoque el skill, responder al consultor con esta pregunta exacta (adaptada al cliente):

> Para arrancar el mapa de sistemas de **{{CLIENTE}}** necesito contexto. Cuéntame:
> 1. **¿A qué se dedica la empresa?** (industria, modelo de negocio, países donde opera)
> 2. **¿Cuáles son las dolencias o focos** que motivaron este diagnóstico? (qué problemas tecnológicos están viendo)
> 3. **¿Conoces los sistemas core?** (los que el cliente considera más críticos)
> 4. **¿Qué alcance tiene el análisis?** (a) general — solo entrevista con TI/Director; (b) por área — TI + entrevistas de áreas operativas

Si el consultor no responde alguna pregunta, no avanzar. Insistir hasta tener las 4 respuestas mínimas.

### Paso 2 — Recibir entrevista de TI (obligatoria)

> Súbeme la entrevista con la persona de TI (gerente, director, líder técnico — quien sepa más de la infraestructura y sistemas). Es obligatoria. Acepto archivos `.docx` (transcripciones de Teams), `.txt`, o pegar el texto directamente.

**Validación crítica:** si el archivo no contiene contenido sustantivo sobre sistemas (ej. solo agenda o intro), pedir la entrevista completa.

### Paso 3 — Si alcance es "por área" → recibir entrevistas adicionales

> Súbeme las entrevistas adicionales por área (Operaciones, Comercial, Finanzas, Recursos Humanos, etc.). Una por archivo. Cuando termines de subir, dime "listo".

Procesar todas antes de avanzar.

### Paso 4 — Procesar entrevistas

Para cada entrevista:
1. Ejecutar `scripts/parse_interview.py` para extraer el diálogo limpio
2. Identificar todos los **sistemas mencionados** con sus atributos (nombre, propósito, modalidad SaaS/Desktop/Web, ownership Inhouse/Contratado, estado activo/migración/legacy)
3. Identificar **integraciones** (origen → destino, tipo: API/ODBC/Manual/Native, dirección, frecuencia)
4. Identificar **frictions, manualidades, deficiencias** que mencione el entrevistado (citar literal en lo posible)
5. Identificar **indicadores y KPIs** que mencionen (qué miden, dónde lo miden)

**Regla:** no inventar atributos. Si el entrevistado no dijo si un sistema es SaaS o Inhouse, marcarlo como `[no especificado]` y preguntar al consultor antes de generar el entregable.

### Paso 5 — Clasificar inventario en 4 segmentos

Aplicar las definiciones canónicas:
- **CORE** — sistemas que soportan las operaciones y procesos críticos del negocio. Definidos por el cliente en el contexto (Paso 1).
- **OPERACIÓN** — sistemas de gestión de operaciones internas (ERP módulos no-core, gestión documental, gestión de planta, monitoreo, etc.).
- **CLIENTES** — plataformas y aplicaciones que interactúan directamente con clientes finales (portales, apps, canales digitales).
- **USUARIO** — herramientas de productividad y comunicación de los colaboradores (ofimática, BI, intranet).

**Reglas de clasificación:**
- Filtrar solo sistemas activos. Descartar inactivos.
- Agrupar variantes del mismo proveedor en un solo ítem (ej. "Suite de Office 365" en lugar de Word, Excel, PowerPoint separados).
- Si un sistema no encaja claramente, preguntar al consultor.

Ver `prompts/01_clasificar_inventario.md` para el prompt detallado.

### Paso 6 — Redactar narrativas por segmento

Para cada uno de los 4 segmentos, redactar dos bloques:

**A. Narrativa principal** (columna derecha del slide del segmento) — 2-4 párrafos en estilo canon:
- Párrafo 1: descripción del sistema y su rol
- Párrafo 2: identificación del problema con frase clave en bold rojo
- Párrafo 3: consecuencia operativa concreta y trayectoria

**B. Riesgos Tecnológicos Asociados** (columna izquierda, debajo del cuadrante mini) — 2-3 bullets compactos. Cada bullet: título en bold rojo + 1-2 frases de explicación.

Ver `prompts/02_redactar_segmento.md` para ejemplos canónicos.

### Paso 7 — Mapa de Interconexiones

Identificar las áreas de oportunidad a nivel de integraciones y bases de datos. Generar 1-2 slides de interconexiones con la misma estructura visual de Banco Manabí slides 7-8:
- Diagrama izquierdo (cajas + flechas) — se ilustra en el PPTX
- Bloque derecho con título "Área de oportunidad: [NOMBRE]" en rojo + narrativa + Riesgos tecnológicos identificados

Las áreas de oportunidad típicas: ausencia de gobernanza de datos, integraciones manuales/jobs sin APIs modernas, dispersión de bases de datos, modelos sombra en Excel.

Ver `prompts/04_interconexiones.md`.

### Paso 8 — Si alcance es "por área" → tabla compacta

Generar 1-2 slides adicionales con tabla 3 columnas: **ÁREA · HERRAMIENTAS Y SISTEMAS · ÁREAS DE OPORTUNIDAD**.

Cabecera navy `#0E2841` con texto blanco bold. Primera columna: bloque navy con nombre del área + responsable en itálica. Filas alternas blanco/gris claro.

Ver `prompts/03_areas_oportunidad.md`.

### Paso 9 — Conclusiones

Formato canónico Género Valor (5 bullets numerados):
```
1. PALABRA_CLAVE_EN_MAYUSCULAS: Frase descriptiva con dato cuantitativo verificado. Em dash — para contexto adicional.
2. ...
```

Ver `prompts/05_conclusiones.md` para el formato exacto y ejemplos.

### Paso 10 — Generar entregables

Ejecutar:
1. `scripts/populate_pptx.py` — rellena la plantilla `templates/canon_dx.pptx` con el contenido generado, preservando todos los estilos. Output: `Mapa de sistemas_Dx_{{CLIENTE}}.pptx`
2. `scripts/build_drawio.py` — genera `Mapa de sistemas_{{CLIENTE}}.drawio` siguiendo `templates/canon_diagrama.drawio` como referencia de estilos

Entregar ambos archivos al consultor con links computer://.

## Estructura canónica del PPTX (9 slides — sin madurez)

| # | Slide | Contenido | Plantilla |
|---|---|---|---|
| 1 | Cover | Imagen embebida GV / 2GV / pillares | No tocar |
| 2 | Agenda | Título "Agenda" + pill "1. Mapa de sistemas" | No tocar |
| 3 | Mapa de Sistemas — 4 cuadrantes | Inventario clasificado en CORE/OPS/CLI/USR con conteos | Reemplazar pills |
| 4 | Sistemas CORE | Cuadrante mini + Riesgos + Narrativa + iconos | Reemplazar texto |
| 5 | Sistemas OPERACIÓN | Cuadrante mini + Riesgos + Narrativa + iconos | Reemplazar texto |
| 6 | Sistemas CLIENTES | Cuadrante mini + Riesgos + Narrativa + iconos | Reemplazar texto. Si no hay sistemas CLI, omitir slide. |
| 7 | Sistemas USUARIO | Cuadrante mini + Riesgos + Narrativa + iconos | Reemplazar texto |
| 8 | Interconexiones — Oportunidad 1 | Diagrama + Área de oportunidad | Reemplazar texto + diagrama |
| 9 | Plan de Adopción / Próximos pasos | 3 fases con dial | Reemplazar contenido de fases |

**Slides opcionales** (insertar antes del 8 si alcance es "por área"):
- Tabla compacta de áreas operativas (1-2 slides según cantidad)

## Paleta visual canónica

| Elemento | Hex |
|---|---|
| Header navy | `#002D6C` |
| Accent blue (subtítulos) | `#2D8BE3` |
| Highlight rojo (frase clave) | `#C00000` |
| Rojo brillante (oportunidad) | `#FF0000` |
| CORE fondo | `#E4EFDA` / pill `#4EA72E` |
| OPERACIÓN fondo | `#DBE6F3` / pill `#0E2841` |
| CLIENTES fondo | `#FBECB8` / pill `#C98B1C` |
| USUARIO fondo | `#EAEAEA` / pill `#6C757D` |

**Fuente:** Raleway. Body 12pt regular. Header 24pt bold. Subheader 14-16pt SemiBold accent blue. Tablas 10-11pt.

## Convenciones drawio

| Elemento | Estilo |
|---|---|
| Sistema activo | `fillColor=#D4EDDA;strokeColor=#1A7A4A;fontColor=#1A3C1A;arcSize=8` |
| Sistema en migración | `fillColor=#FFF3CC;strokeColor=#B07800` |
| Sistema legacy | `fillColor=#FDE8D0;strokeColor=#C85A0A` |
| Sistema inactivo/discontinuo | `fillColor=#EBEBEB;strokeColor=#999999;fontColor=#555555` |
| Categoría contenedora | `fillColor=#EBF4FF;strokeColor=#1E3A5F;arcSize=4;fontSize=13` |
| Conector API unidireccional | `strokeColor=#EA580C;dashed=1;dashPattern=8 4;endArrow=block` |
| Conector interfaz bidireccional | `strokeColor=#0369A1;dashed=0;startArrow=block;endArrow=block` |

**Etiquetas dentro de cajas de sistema:**
- Línea 1 bold: `<Nombre del sistema>`
- Línea 2: `(Web App - SaaS)` / `(Desktop App)` / `(Web App)` etc.
- Línea 3 small: `[Contratado]` (color #1E3A5F) o `[Inhouse]` (color #0E7490)
- Notas opcionales: `⚠ <observación>` (color #EA580C)

## Páginas del .drawio

Para alcance general: 1 página "Mapa General" + 1 página "Interconexiones".
Para alcance por área: 1 página "Mapa General" + 1 por segmento (Core, Operación, Clientes, Usuario) + 1 por área operativa entrevistada + 1 de "Interconexiones".

## Comandos para ejecutar el skill

```bash
# 1. Parsear todas las entrevistas
python scripts/parse_interview.py --input <ruta_a_docx_o_directorio> --output /tmp/parsed/

# 2. Generar PPTX
python scripts/populate_pptx.py \
    --template templates/canon_dx.pptx \
    --content /tmp/skill_content.json \
    --output "<ruta_destino>/Mapa de sistemas_Dx_<CLIENTE>.pptx"

# 3. Generar drawio
python scripts/build_drawio.py \
    --template templates/canon_diagrama.drawio \
    --content /tmp/skill_content.json \
    --output "<ruta_destino>/Mapa de sistemas_<CLIENTE>.drawio"
```

El JSON de contenido (`skill_content.json`) tiene la estructura:

```json
{
  "cliente": "...",
  "industria": "...",
  "alcance": "general" | "por_area",
  "core": {
    "sistemas": [{"nombre": "...", "tipo": "...", "ownership": "...", "estado": "..."}],
    "narrativa": "...",
    "riesgos": [{"titulo": "...", "descripcion": "..."}]
  },
  "operacion": { ... },
  "clientes": { ... },
  "usuario": { ... },
  "interconexiones": [
    {
      "oportunidad": "...",
      "narrativa": "...",
      "riesgos": [...]
    }
  ],
  "areas": [
    {"nombre": "...", "responsable": "...", "herramientas": [...], "oportunidades": [...]}
  ],
  "plan_adopcion": {
    "fase1": {...},
    "fase2": {...},
    "fase3": {...}
  }
}
```

## Validación final antes de entregar

Antes de mostrar los archivos al consultor, ejecutar:

1. **Sin placeholders sin llenar** — buscar `{{...}}` en el PPTX final. Si hay, error.
2. **Sin `[FALTA INFORMACIÓN]`** en el output. Si hay, parar y preguntar al consultor.
3. **Conversión a imágenes** del PPTX y revisión visual (overlaps, texto cortado, colores fuera de paleta).
4. **Drawio se abre correctamente** en diagrams.net (validar XML).

Si todo OK → entregar archivos al consultor con un resumen ejecutivo de 3-5 líneas en chat.

## Ejemplos

Ver `ejemplos/rent_a_pallet/` para un caso real completo (input: 6 entrevistas + contexto; output: PPTX + drawio).

## Limitaciones conocidas v1 (importante para el consultor)

El skill genera el ~85% del PPTX automáticamente. Algunos elementos visuales requieren ajuste manual:

### 1. Pills del inventario en Slide 3 — Edición manual necesaria
Las cajas con nombres de sistemas en el slide 3 (los 4 cuadrantes) son **imágenes EMF embebidas** heredadas de la plantilla Banco Manabí. El skill las deja con los nombres originales (ABANKS, ONBASE, AS400, URBANO, NAS INTERNO, SISTEMEC, RRCA, PORTALES WEB, SUITE DE OFFICE 365, TABLEROS POWER BI, OFIMÁTICA CON OFFICE).

**Acción del consultor:** abrir el PPTX en PowerPoint, hacer doble-click en cada pill y reemplazar el texto con el sistema real del cliente. ~5 minutos por slide.

### 2. Mini-cuadrante en slides 4-6 — Edición manual necesaria
Cada slide de detalle por segmento (CORE, OPS, USR) reproduce el cuadrante mini en la esquina izquierda. Es la misma imagen EMF, requiere el mismo ajuste manual de pills.

### 3. Diagrama izquierdo en slides 7-8 — Reemplazar por imagen del .drawio
La parte izquierda de cada slide de Interconexiones tiene un diagrama heredado de Banco Manabí (cajas + flechas). El **diagrama real del cliente está en el archivo .drawio que el skill genera**. Flujo recomendado:
1. Abrir el .drawio en diagrams.net
2. Ajustar visualmente la página correspondiente
3. Exportar como imagen PNG
4. En PowerPoint, eliminar el diagrama heredado y pegar la imagen exportada

### 4. Slide 8 — Solo se autopobla si hay 2+ áreas de oportunidad
Si solo hay 1 oportunidad de interconexión detectada, slide 8 mantiene texto residual de Banco Manabí. El consultor decide: (a) eliminar slide 8, (b) escribir una segunda oportunidad manualmente, o (c) duplicar la primera con otro ángulo.

### 5. Slide 9 (Plan de Adopción) — Templates listos pero no autopoblados en v1
El slide mantiene la estructura de 3 fases con dial. El texto de las fases es de Banco Manabí (Adopción Power Apps → Data Lake → Analítica IA). El consultor edita las 3 fases con el plan específico del cliente.

### Lo que SÍ se autopobla correctamente
- Narrativas por segmento (slides 4-6) — incluye highlights rojos automáticos
- Riesgos Tecnológicos Asociados por segmento
- Bloque derecho de Interconexiones — slide 7 (Área de oportunidad + narrativa + riesgos)
- Reemplazo global del nombre del cliente en todas las slides
- Conteos de sistemas en cada cuadrante (esquina superior derecha de slide 3)
- El archivo .drawio entero (multi-página)

### Roadmap Fase 2 del skill
- Reemplazo automático de pills EMF (requiere generación de EMFs nuevos)
- Reemplazo automático del diagrama izquierdo en slides 7-8 (insertar imagen del drawio)
- Slide de Madurez Tecnológica (radar + tabla + badge)
- Slide de Análisis por área (tabla compacta) — actualmente el contenido sale al chat, no al PPTX

## Casos de uso fuera de scope (Fase 2)

- Madurez tecnológica (radar + tabla + badge)
- Plan de Transformación Digital extenso (slide 11 de Banco Manabí — actualmente conservado pero opcional)
- Generación de Excel de inventario / formulario de integraciones
- Análisis financiero / OKRs / KPIs (sale del mapa de sistemas)
