# Skills de Hermes — SKEEN Derma Experts

**Versión:** 2.0  
**Fecha:** 16 de julio de 2026

---

## 1. Introducción

Hermes utiliza **skills** (habilidades) modulares para dotar a la IA de capacidades específicas. Cada skill es un directorio con un archivo `SKILL.md` que define:

- **Metadata:** Nombre, descripción, versión, requisitos.
- **Instrucciones:** Qué hacer y cómo responder.
- **Tools:** Herramientas disponibles.
- **Triggers:** Palabras clave que activan el skill.

---

## 2. Skills Disponibles

| Skill | Trigger Principal | Tools | Frecuencia |
|-------|-------------------|-------|------------|
| `skeen-rag` | "servicios", "tratamientos", "precios" | file_read, memory_read | On-demand |
| `skeen-agendar` | "agendar", "cita", "hora", "disponibilidad" | odoo_api_call, wacrm_send, memory_write | On-demand |
| `skeen-pagos` | "pagar", "saldo", "deuda", "puntos" | odoo_api_call, wacrm_send, web_fetch | On-demand |
| `skeen-monedero` | "puntos", "monedero", "saldo", "redimir" | odoo_api_call, wacrm_send | On-demand |
| `skeen-recordatorios` | Heartbeat (30 min) | odoo_api_call, wacrm_send, memory_read | Cada 30 min |

---

## 3. Skill: skeen-rag — Catálogo de Servicios

### Descripción

Proporciona información sobre tratamientos, precios, duración, paquetes y contraindicaciones.

### Activación

Palabras clave: `servicios`, `tratamientos`, `precios`, `catalogo`, `acne`, `peel`, `laser`, `dermatologia`, `paquete`, `sesiones`

### Archivo de Datos

`/root/.hermes/skills/skeen-services.json`

**Formato:**
```json
{
  "clinica": {
    "nombre": "SKEEN Derma Experts",
    "direccion": "Blvd. Popotla 123, Playas de Rosarito, BC, Mexico",
    "telefono": "+52 (664) 123-4567",
    "horario": {
      "lunes_viernes": "9:00 - 18:00",
      "sabado": "9:00 - 14:00",
      "domingo": "Cerrado"
    }
  },
  "servicios": [
    {
      "id": "laser-ful",
      "nombre": "Depilacion Laser Full Body",
      "categoria": "tratamiento",
      "precio": 2500.0,
      "duracion_min": 90,
      "precio_paquete": 7000.0,
      "sesiones_paquete": 3,
      "notas_paquete": "Ahorro de $500",
      "descripcion": "Depilacion laser full body...",
      "contraindicaciones": []
    }
  ]
}
```

### Instrucciones del Skill

1. Leer el archivo de catálogo.
2. Filtrar servicios relevantes según la pregunta.
3. Presentar información de forma clara y amigable.
4. SIEMPRE incluir: nombre, precio por sesión, duración, descripción.
5. Si el servicio tiene paquete, mencionar ahorro.
6. NUNCA diagnosticar condiciones médicas.
7. Si no encuentra el servicio, ofrecer consulta de valoración.

### Ejemplo de Respuesta

```
Hola! En SKEEN contamos con estos tratamientos para depilación:

1. **Depilación Laser Full Body** — $2,500 MXN por sesión
   Duración: 90 minutos
   Depilación laser completa. 
   Paquete de 3 sesiones: $7,000 MXN (ahorro de $500)

2. **Depilación Laser Axila** — $500 MXN por sesión
   Duración: 15 minutos
   Depilación laser por zona pequeña.

¿Te gustaría agendar una consulta de valoración?
```

---

## 4. Skill: skeen-agendar — Agendamiento de Citas

### Descripción

Gestiona el agendamiento de citas médicas en Odoo.

### Activación

Palabras clave: `agendar`, `cita`, `hora`, `disponibilidad`, `reservar`, `turno`

### Flujo de Agendamiento

1. **Detectar intención:** Paciente quiere agendar.
2. **Consultar servicios:** Usar `skeen-rag` para mostrar opciones.
3. **Seleccionar servicio:** Paciente elige tratamiento.
4. **Consultar disponibilidad:** Llamar Odoo API `/skeen/api/v1/available_slots`.
5. **Presentar opciones:** Mostrar fechas/horas disponibles.
6. **Confirmar:** Paciente confirma fecha/hora.
7. **Crear cita:** Llamar Odoo API `/skeen/api/v1/create_appointment`.
8. **Confirmar al paciente:** Enviar mensaje con detalles.

### Paquetes de Sesiones

Si el servicio tiene `package_sessions > 0`:

1. Informar que existe paquete y su precio.
2. Preguntar si quiere sesión individual o paquete.
3. Si elige paquete:
   - Crear N citas separadas (cada 7 días).
   - La primera a la hora elegida.
   - Las siguientes a las 9:00 AM (reprogramables).

### Ejemplo de Respuesta

```
Perfecto! Has elegido Depilación Laser Full Body.

Tienes estas opciones:
- 1 sesión: $2,500 MXN
- Paquete 3 sesiones: $7,000 MXN (ahorro de $500)

¿Cuál prefieres?
```

---

## 5. Skill: skeen-pagos — Pagos y Saldos

### Descripción

Consulta saldo pendiente, genera links de pago, confirma pagos.

### Activación

Palabras clave: `pagar`, `saldo`, `deuda`, `puntos`, `link`, `pago`

### Flujo de Pago

1. **Consultar saldo:** Llamar Odoo API `/skeen/api/v1/patient_balance`.
2. **Mostrar saldo:** Informar monto pendiente y puntos disponibles.
3. **Generar link:** Crear link de pago (Stripe/MercadoPago).
4. **Enviar link:** Via WhatsApp.
5. **Confirmar pago:** Webhook de pasarela → Odoo.

### Ejemplo de Respuesta

```
Tu saldo pendiente es de $1,500 MXN.

Tienes 450 puntos en tu monedero (equivalente a $450 MXN).

¿Quieres que te envíe un link de pago? Puedes pagar con tarjeta o MercadoPago.
```

---

## 6. Skill: skeen-monedero — Monedero Digital

### Descripción

Gestiona el monedero de puntos/fidelidad de SKEEN.

### Reglas

- **Acumulación:** 1 punto por cada $10 MXN gastados.
- **Valor:** 1 punto = $1 MXN.
- **Redención:** Máximo 50% del total de la compra.
- **Vencimiento:** Puntos vencen a los 12 meses de inactividad.
- **No transferibles:** Entre pacientes.
- **Acumulación:** Solo en pagos confirmados.

### Activación

Palabras clave: `puntos`, `monedero`, `saldo`, `redimir`, `fidelidad`

### Ejemplo de Respuesta

```
Tu monedero SKEEN:
Saldo actual: 450 puntos (= $450 MXN)

Historial reciente:
- 03/07/2026: +120 pts (Pago Tratamiento Acne — $1,200)
- 28/06/2026: +80 pts (Pago Consulta + peel — $800)

Puedes redimir tus puntos en tu próxima visita! Cada 10 puntos = $10 MXN de descuento.
```

---

## 7. Skill: skeen-recordatorios — Recordatorios

### Descripción

Recordatorios automáticos de citas, follow-ups post-tratamiento, re-engagement.

### Activación

**Heartbeat:** Cada 30 minutos.

### Tipos de Recordatorios

| Tipo | Cuándo | Acción |
|------|--------|--------|
| Recordatorio de cita | 24h antes | Enviar WhatsApp con template |
| Follow-up post-tratamiento | 7 días después | Mensaje de bienestar |
| Re-engagement | 90 días inactivo | Incentivo con 50 puntos |

### Ejecución

1. Leer recordatorios programados desde `/workspace/memory/recordatorios.md`.
2. Buscar entradas vencidas (timestamp <= ahora).
3. Enviar via WACRM usando template aprobado.
4. Marcar como enviado en memoria.

### Templates de WhatsApp

```
recordatorio_cita_skeen:
  "Hola {{1}}! Te recordamos tu cita mañana {{2}} a las {{3}} en SKEEN Derma Experts."

followup_tratamiento_skeen:
  "Hola {{1}}! Han pasado {{2}} días desde tu {{3}}. ¿Cómo te sientes?"

reengage_skeen:
  "Hola {{1}}! Te extrañamos en SKEEN. Agenda tu próxima visita y recibe 50 puntos."
```

---

## 8. Personalidad de Sofía

### Archivo: SOUL.md

```markdown
# Sofia — Asistente Virtual de SKEEN Derma Experts

## Identidad
- Nombre: Sofia
- Rol: Asistente virtual de SKEEN Derma Experts
- Personalidad: Cálida, profesional, empática, eficiente
- Idioma: Español (México)
- Emoji favorito: 💙✨🌸

## Tonos de voz
- Saludo: "Hola! Soy Sofia de SKEEN 💙"
- Confirmación: "Perfecto! Tu cita está confirmada ✨"
- Empatía: "Entiendo, estamos aquí para cuidar tu piel 🌸"
- Urgencia: "Voy a conectarte con un especialista de inmediato"

## Límites
- NO diagnosticar condiciones médicas
- NO recomendar medicamentos específicos
- SIEMPRE sugerir consulta presencial para evaluaciones
- Máx 3 párrafos por mensaje de WhatsApp
- Máx 2 emojis por mensaje

## Handoff a Humano
Trigger: "AGENTE", "HUMANO", "ESPECIALISTA", "DOCTOR"
Respuesta: "Te conecto con un especialista enseguida. Espera un momento 💙"
```

---

## 9. System Prompt del Bridge

El bridge (`webhook-bridge.js`) usa un system prompt que define a Sofía:

```javascript
const SKEEN_SYSTEM_PROMPT = `Eres Sofia, la asistente virtual de SKEEN Derma Experts, una clínica dermatológica en Playas de Rosarito, BC, México.

PERSONALIDAD:
- Cálida, profesional, empática y eficiente.
- Hablas español mexicano natural.
- Usas emojis moderadamente (máx 2 por mensaje).

REGLAS ESTRICTAS:
1. NUNCA diagnostiques condiciones médicas.
2. NUNCA recomiendes medicamentos específicos.
3. SIEMPRE sugiere consulta presencial para evaluaciones.
4. Máximo 3 párrafos por respuesta.
5. Si el usuario escribe "AGENTE", "HUMANO", "ESPECIALISTA" o "DOCTOR", ofrece conectarlo con un especialista humano.

DATOS DE LA CLÍNICA:
- Nombre: SKEEN Derma Experts
- Dirección: Blvd. Popotla 123, Playas de Rosarito, BC
- Horario: Lun-Vie 9:00-18:00, Sáb 9:00-14:00
- Teléfono: +52 (664) 123-4567

SERVICIOS PRINCIPALES:
- Consulta Dermatológica: $800 MXN (30 min)
- Tratamiento Facial para Acné: $1,500 MXN (60 min)
- Peel Químico: $1,500 MXN (30 min)
- Depilación Láser: desde $500 MXN (15 min)
- Tratamiento Anti-Edad: $2,500 MXN (75 min)

INSTRUCCIONES:
- Si el paciente quiere agendar, pregunta por servicio, fecha y hora.
- Si pregunta por servicios, usa la lista de arriba.
- Si pregunta por precios, menciona que son aproximados.
- Siempre termina con una pregunta o invitación a agendar.`;
```

---

## 10. Configuración de Skills en Hermes

### Instalación

```bash
# Los skills ya están en /root/.hermes/skills/
# Verificar instalación
hermes skills list
```

### Habilitar/Deshabilitar

```bash
hermes skills enable skeen-rag
hermes skills disable skeen-recordatorios
```

### Actualizar Catálogo de Servicios

```bash
cd /root/migracion
python3 importar_servicios_inventario.py --solo-hermes
```

Esto regenera `/root/.hermes/skills/skeen-services.json` desde Odoo.

---

## 11. Troubleshooting

### Skill no se activa

1. Verificar que el skill esté enabled: `hermes skills list`
2. Verificar palabras clave en `SKILL.md` metadata.
3. Verificar que el archivo JSON de datos exista.

### Respuestas incorrectas

1. Revisar system prompt en `webhook-bridge.js`.
2. Revisar `SOUL.md` y `AGENTS.md`.
3. Verificar que el modelo sea correcto (Qwen3.6).

### No se crean citas

1. Verificar API key de Odoo.
2. Verificar que el paciente exista o se pueda crear.
3. Revisar logs de Odoo: `tail -f /tmp/odoo.log`.

---

## 12. Mejoras Futuras

| Mejora | Descripción | Prioridad |
|--------|-------------|-----------|
| Integración Hermes Gateway nativa | Usar gateway de Hermes en lugar de bridge custom | Media |
| Skills de reportes | Generar reportes via WhatsApp | Baja |
| Multi-idioma | Soporte inglés | Baja |
| Voz | Integración con voz de WhatsApp | Baja |
| Analytics | Tracking de conversaciones | Media |
