Skip to content
Back to skills

Jumbo Cl

ASecurity

Compra en jumbo.cl (supermercado Jumbo, Chile) con la cuenta del usuario — busca productos y compara precios, revisa sus compras anteriores y productos frecuentes, arma o repite el carro, detecta lo que falta y recomienda opciones más baratas, y lo deja listo para pagar. Úsala siempre que el usuario mencione Jumbo o jumbo.cl, el súper o supermercado, su pedido o compra del mes, "lo de siempre", repetir una compra, su carro, una lista de compras, ofertas, o cuánto cuesta algo — aunque no diga ...

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 7, 2026
ai-agentspythongobashvuenextjsapi

Works with

  • api

Security analysis

A92/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 3 files and shows the line behind each finding

Scanned November 7, 2026

npx -y skills add thesouthernk/jumbo-cl-skill --skill jumbo-cl --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Jumbo Cl?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Jumbo Cl
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/thesouthernk-jumbo-cl/badge)](https://www.skillsdirectory.com/skills/thesouthernk-jumbo-cl)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: jumbo-cl
description: Compra en jumbo.cl (supermercado Jumbo, Chile) con la cuenta del usuario — busca productos y compara precios, revisa sus compras anteriores y productos frecuentes, arma o repite el carro, detecta lo que falta y recomienda opciones más baratas, y lo deja listo para pagar. Úsala siempre que el usuario mencione Jumbo o jumbo.cl, el súper o supermercado, su pedido o compra del mes, "lo de siempre", repetir una compra, su carro, una lista de compras, ofertas, o cuánto cuesta algo — aunque no diga "jumbo.cl" explícitamente (ej. "ármame el pedido de siempre", "qué me falta en el carro", "cuánto sale la leche", "encuéntrame algo más barato").
---

# jumbo.cl

`<skill-dir>` = el directorio base de esta skill (se muestra al cargarla). Los scripts solo usan la stdlib de Python, salvo `jumbo_account.py`, que además necesita `playwright` (`pip install playwright`) y Google Chrome.

Jumbo (Cencosud) es un sitio Next.js. La página `https://www.jumbo.cl/busqueda?ft=<texto>&page=<n>` trae
40 productos por página con precios embebidos, así que buscar y comparar no necesita navegador ni login.

## Buscar y comparar precios

```bash
python3 -I <skill-dir>/scripts/jumbo_search.py "leche entera" [--pages 2] [--sort price|unit|discount]
```

Devuelve JSON, un objeto por SKU:

| campo | significado |
|---|---|
| `price` | precio actual (ya con oferta web) |
| `list_price` | precio normal si hay rebaja, si no `null` |
| `discount_pct` | % de rebaja vs `list_price` |
| `card_price` | precio con Tarjeta Cencosud (promo `TCENCO`), si existe |
| `unit_price` + `unit` | precio por lt/kg/un — **la métrica correcta para comparar formatos** |
| `in_stock` | disponibilidad online |
| `promos` | cabeceras de promo (`TMP OFERTA 4990`, `TCENCO OFERTA 11990`, …) |
| `url` | ficha del producto |

Cómo usarlo bien:

- **Compara por `unit_price`**, no por `price`: un pack de 12 parece caro y suele ser igual o más barato por litro. Usa `--sort unit`.
- **Revisa relevancia.** El buscador es difuso: "cerveza sol" trae también "Salchichón Cerveza Soler", y una búsqueda sin coincidencias devuelve productos al azar en vez de vacío. Filtra por nombre antes de concluir "el más barato es…".
- Descarta `in_stock: false` salvo que el usuario pregunte por ellos.
- Menciona `card_price` aparte: solo aplica pagando con Tarjeta Cencosud.
- Para una **lista de compras**, corre una búsqueda por ítem (en paralelo), elige el mejor match razonable por ítem (marca pedida si la hay, si no el menor `unit_price` en un formato sensato) y entrega una tabla con producto, formato, precio y subtotal, más el total. Di qué supuestos tomaste (marca, tamaño).
- Las ofertas cambian a fin de mes (el texto de las promos lo indica, ej. "29 SEP AL 26 OCT"). Los precios son los de la web en el momento de la consulta; pueden variar según tienda o comuna.

Si el script falla con "Sin resultados" para algo que claramente existe, puede que jumbo.cl haya cambiado su HTML.
Plan B: la página de búsqueda también trae un `<script type="application/ld+json">` con un `ItemList`
(nombre, marca, precio, url, disponibilidad), y si eso tampoco funciona, el navegador.

## Cuenta del usuario: compras anteriores y carro

```bash
A="python3 -I <skill-dir>/scripts/jumbo_account.py"
$A orders [--pages 3]     # pedidos (10 por página) con sus productos, sku y precio pagado
$A frequent [--pages 3]   # productos ordenados por cuántas veces los compra (+ cantidad promedio)
$A addresses              # direcciones guardadas, tienda que despacha a cada una y cuál usó la última vez
$A cart                   # carro actual: sku, cantidad, precio, stock, totales
$A missing [--min 2]      # productos que compra seguido y NO están en el carro
$A set 500=2 5870=1       # fija cantidades (no suma); 0 quita
$A repeat <ORDER_ID>      # suma al carro todos los productos de un pedido anterior
$A open [/mi-carro]       # muestra una página de jumbo.cl en su Chrome
```

Usa un Chrome normal con perfil propio (`~/.jumbo-cl/profile`, puerto 9333) y llama a la API web de Jumbo
desde una pestaña de jumbo.cl, con la sesión del usuario. El script abre Chrome si no está corriendo.
Si falla con "Sesión expirada" o los pedidos salen vacíos, corre `$A open /mis-compras` y pídele al usuario
que inicie sesión en esa ventana (Google funciona ahí porque no es un navegador automatizado). Tú no escribas credenciales.

`set` fija la cantidad final, así que para sumar lee el carro primero.

### Confirma la dirección antes de armar el carro

Al empezar a armar un pedido (antes del primer `set` o `repeat`), corre `addresses` y pregunta en una línea:
"¿Lo mando a **<alias o dirección con `last_used: true`>**, como la última vez?". Si tiene otras guardadas, menciónalas
como alternativa. Hazlo una vez por pedido, no en cada cambio del carro.

Esto importa porque la dirección decide la tienda (`store`), y los precios y el stock son por tienda: si arma el carro
para una dirección y despacha a otra, puede cambiar lo que hay y lo que cuesta. Usa siempre `--store <store de la
dirección elegida>` en `cart`, `set` y `missing` (por defecto se usa la tienda de su último pedido). Si la dirección
elegida tiene `delivers: false`, avísale que Jumbo no despacha ahí. Si quiere una dirección nueva, la agrega él
en el checkout de jumbo.cl.

### Flujos típicos

- **"Ármame el pedido de siempre"**: `frequent` → propón los que compra en ≥ ~1/3 de sus pedidos, con la cantidad promedio
  redondeada → muestra la lista y, cuando la apruebe, `set`. Las frutas y verduras a granel tienen cantidades en kg o
  unidades aproximadas; respeta lo que compró la última vez.
- **"Repite mi última compra"**: `orders --pages 1` → `repeat <id>` → `cart` para revisar stock.
- **"¿Me falta algo en el carro?"**: `missing`, y también `cart` para marcar los ítems con `status` distinto de `available`
  (sin stock) y sugerir un reemplazo con `jumbo_search.py`.
- **Mejores precios para su carro**: por cada ítem de `cart`, busca el nombre genérico con `jumbo_search.py --sort unit`
  y sugiere solo cambios razonables: mismo producto en otro formato más barato por unidad, una marca equivalente
  claramente más barata, una oferta o un `card_price`. Muestra el ahorro en $ por ítem y el total, y deja que el usuario elija.
  Ojo: la búsqueda pública muestra precios de una tienda por defecto (pueden diferir de la suya); el precio real
  es el que muestra `cart` después de agregar.
- Compra mínima: $19.990.

### Pagar

Deja todo listo y abre el checkout: `$A open /checkout`. Recuérdale que revise que la dirección del checkout
sea la que confirmó. Lo normal es que el usuario revise y pague él.
Si te pide que pagues tú: resume primero los productos, la dirección, la ventana de despacho, el medio de pago y el
**total exacto**, y espera un "sí" explícito a ese resumen en ese momento. Una aprobación anterior o general no cuenta,
porque el pago es plata real y no se deshace. Nunca escribas datos de tarjeta ni claves.

Files in this skill

  • SKILL.md6.9 KB
  • scripts/jumbo_account.py9.9 KB
  • scripts/jumbo_search.py3.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.