Files
demo/pymesbot/skills/armar_kits.md
Renato 53b632c07c Agrega verificación de stock para ventas de kits múltiples
- Nueva tool verificar_stock_kit() para calcular cuántos kits se pueden armar
- Nueva función db_verificar_stock_kit() que verifica stock de todos los productos
- Calcula kits_posibles basado en el producto con menor stock relativo
- Actualiza skill armar_kits.md con proceso de verificación obligatoria
- Ahora advierte antes de vender: 'Solo podés armar X kits, pediste Y'
- Prevents ventas parciales no deseadas de kits
2026-02-15 22:48:48 +01:00

161 lines
4.5 KiB
Markdown

# Skill: Armar y Vender Kits
## Descripción
Especialista en armar kits personalizados según presupuesto y necesidades, y registrar la venta completa del kit.
## Proceso de Armado de Kit
### Paso 1: Entender Necesidades
Cuando el usuario pida un kit:
- Presupuesto disponible
- ¿Para quién es? (edad, preferencias)
- ¿Qué necesita? (escolar, oficina, arte)
### Paso 2: Consultar Stock
**SIEMPRE** usar `listar_todo_el_stock` o `buscar_productos` para ver qué hay disponible.
### Paso 3: Armar Kit Óptimo
Seleccionar productos que:
- Entren en el presupuesto
- Sean útiles para el destinatario
- Tengan stock suficiente
- Cubran necesidades básicas
### Paso 4: Presentar Kit
Formato de presentación:
```
**KIT [NOMBRE] - ${TOTAL}**
• {cantidad}x {producto} - ${precio_unitario} c/u = ${subtotal}
• {cantidad}x {producto} - ${precio_unitario} c/u = ${subtotal}
...
**Total: ${total}**
**Te sobran/quedan: ${diferencia}**
¿Se concretó la venta?
```
## Venta de Kits
### VERIFICACIÓN CRÍTICA - Antes de Vender Múltiples Kits
**SIEMPRE** verificar stock antes de confirmar venta de múltiples kits.
**Proceso:**
1. Usar `verificar_stock_kit` con:
- `items`: Lista de productos del kit
- `cantidad_kits`: Cuántos kits quiere vender
2. Si `puede_vender: true` → Proceder con `confirmar_venta_kit`
3. Si `puede_vender: false` → Informar límite y preguntar si vende esa cantidad
**Ejemplo:**
Usuario: "Se vendieron 10 kits"
Bot: [USAR verificar_stock_kit(items=[...], cantidad_kits=10)]
Si alcanza:
"✅ Tenés stock para 10 kits. ¿Confirmamos la venta?"
Si no alcanza (solo hay para 7):
"⚠️ Solo podés armar 7 kits completos con el stock actual.
¿Vendemos 7 kits o preferís ver otros productos?"
### Confirmación de Venta de Kit
Cuando el usuario diga "se vendió el kit", "concretamos", "dale, lo lleva", etc:
**Si es UN solo kit:**
**Acción:** Usar `confirmar_venta_kit` con TODOS los productos del kit.
**Si son MÚLTIPLES kits:**
**Acción:**
1. PRIMERO `verificar_stock_kit` para verificar cuántos se pueden armar
2. LUEGO `confirmar_venta_kit` SOLO si hay stock suficiente
**Ejemplo:**
Usuario: "Se vendió el kit de 15mil"
Bot: [USAR confirmar_venta_kit con items=[
{"producto_nombre": "Cuaderno Rivadavia", "cantidad": 1},
{"producto_nombre": "Caja de colores", "cantidad": 1},
...
]]
### Respuesta Post-Venta
Después de registrar:
"¡Listo! Kit vendido y stock actualizado ✅
• Productos vendidos: {n}
• Total: ${total}
• Stock actualizado correctamente
¿Necesitás armar otro kit?"
## Kits Sugeridos por Defecto
### Kit Básico Escolar (~$5.000)
- 1 Cuaderno Rivadavia
- 2 Biromes Bic
- 1 Lápiz Faber Castell
- 1 Goma Staedtler
### Kit Completo Escolar (~$10.000)
- 2 Cuadernos Rivadavia
- 4 Biromes Bic (2 azules, 1 negro, 1 rojo)
- 2 Lápices Faber Castell
- 1 Caja de colores 12
- 1 Goma Staedtler
- 1 Regla 30cm
### Kit Superior (~$15.000)
- 3 Cuadernos Rivadavia
- 6 Biromes Bic (varios colores)
- 4 Lápices Faber Castell
- 1 Caja de colores 12
- 1 Goma Staedtler
- 1 Regla 30cm
- 1 Papel glasé x 20
- 1 Compás Prisma
## Manejo de Errores
### Presupuesto Insuficiente
Si el presupuesto no alcanza para un kit básico:
"Con ${presupuesto} no llegamos a armar un kit completo 😕
¿Querés que te arme algo más chico o preferís agregar plata?"
### Stock Insuficiente
Si falta stock de algún producto del kit:
1. Informar qué falta
2. Ofrecer sustituto similar
3. Ajustar precio si es necesario
## Reglas Importantes
1. **NUNCA armar kit sin verificar stock primero**
2. **NUNCA prometer precios sin calcular**
3. **SIEMPRE** usar `confirmar_venta_kit` cuando vendan el kit completo
4. Descontar stock de TODOS los productos del kit
5. Calcular totales correctamente
## Ejemplos de Interacción
### Ejemplo 1: Armar Kit
**Usuario:** "tengo 15 mil pesos para gastar en mi nene, armame un kit piola"
**Acción:**
1. listar_todo_el_stock (ver disponibilidad)
2. Armar kit completo dentro del presupuesto
**Respuesta:** Presentar kit con precios y preguntar si se vende
### Ejemplo 2: Vender Kit
**Usuario:** "se concretó la venta del kit"
**Acción:**
1. confirmar_venta_kit(items=[todos los productos])
2. Confirmar que se descontó stock de todo
**Respuesta:** "¡Kit vendido! Stock actualizado ✅"
### Ejemplo 3: Modificar Kit
**Usuario:** "sacale el compás y agregale más biromes"
**Acción:**
1. Recalcular kit sin compás
2. Agregar biromes hasta completar presupuesto
3. Presentar nuevo kit
**Respuesta:** Nuevo kit modificado con precio actualizado