SkillHub

travel-promos-argentinas

v1.0.1

Consulta promociones de viajes desde Argentina usando Anduin Promos API. Usar cuando el usuario pida promos de viaje en Argentina, promociones de vuelos, hoteles o paquetes, mejores ofertas del dia, promos a brasil/usa/europa, ranking por score o ultimas promos de promociones-aereas.

Sourced from ClawHub, Authored by Fermin Rodriguez Penelas

Installation

Please help me install the skill `travel-promos-argentinas` from SkillHub official store. npx skills add ferminrp/travel-promos-argentinas

Travel Promos Argentina

Consulta promociones de viajes (vuelos, hoteles y paquetes) y permite filtrarlas y ordenarlas localmente.

API Overview

  • Base URL: https://anduin.ferminrp.com
  • Auth: None required
  • Response format: JSON
  • Endpoint principal: /api/v1/promos
  • OpenAPI: https://anduin.ferminrp.com/docs/openapi.json
  • Fuente upstream: data.source
  • Timestamps relevantes:
  • data.lastUpdated (actualizacion de promos)
  • timestamp (respuesta del servicio)
  • Query params documentados para /api/v1/promos: ninguno
  • Nota: los query params probados (category, destinationCountry, limit, q) no filtran en origen; filtrar localmente con jq (verificado sobre la respuesta actual del endpoint).

Endpoint

  • GET /api/v1/promos

Ejemplos de uso:

curl -s "https://anduin.ferminrp.com/api/v1/promos" | jq '.'
curl -s "https://anduin.ferminrp.com/api/v1/promos" | jq '.data.promos[0:5]'
curl -s "https://anduin.ferminrp.com/api/v1/promos" | jq '.data.promos | map(select(.category == "vuelos"))'
curl -s "https://anduin.ferminrp.com/api/v1/promos" | jq '.data.promos | map(select(.category == "autos"))'
curl -s "https://anduin.ferminrp.com/api/v1/promos" | jq '.data.promos | map(select(.destinationCountry == "brazil"))'
curl -s "https://anduin.ferminrp.com/api/v1/promos" | jq '.data.promos | sort_by(.date) | reverse | .[0:10]'
curl -s "https://anduin.ferminrp.com/api/v1/promos" | jq '.data.promos | sort_by(-.score) | .[0:10]'

Campos clave

  • Top-level:
  • success (bool)
  • timestamp (ISO datetime)
  • data:
  • lastUpdated (ISO datetime)
  • source (URL de origen)
  • totalPromos (int)
  • promos (array)
  • promos[]:
  • id, date, title, permalink, thumbnailUrl
  • destinationCountry (puede ser null)
  • category
  • score (numerico para ranking, puede no venir si falla clasificacion AI)
  • Valores dinamicos observados hoy (ejemplos, no lista cerrada):
  • category: vuelos, hoteles, autos, paquetes, asistencia, otros
  • destinationCountry: brazil, united_states, spain, dominican_republic, aruba, mexico, japan, portugal, europe, null
  • Semantica adicional:
  • permalink se construye dinamicamente como /links/viajes/:id sobre el host de la request

Workflow

  1. Detectar intencion del usuario:
  2. Listado general
  3. Filtro por categoria o pais
  4. Ranking por score
  5. Ultimas promos
  6. Consultar endpoint unico con curl -s.
  7. Validar success == true y existencia de data.promos.
  8. Aplicar filtros y orden localmente con jq:
  9. Por category
  10. Por destinationCountry
  11. Por texto en title o id cuando aplique
  12. Por date o score
  13. Responder primero con snapshot:
  14. Cantidad total (totalPromos)
  15. lastUpdated
  16. Top 3 promos por score o relevancia
  17. Luego mostrar tabla corta (top 5/10):
  18. date | category | destinationCountry | score | title
  19. Incluir solo permalink para promos mostradas.
  20. Mantener respuesta informativa, sin consejos financieros ni garantias de disponibilidad.

Error Handling

  • HTTP no exitoso:
  • Informar codigo HTTP y endpoint consultado.
  • 404 (No promos data available):
  • Informar que no hay datos cacheados de promos en este momento.
  • success: false:
  • Mostrar payload de error si existe.
  • JSON inesperado:
  • Mostrar minimo crudo util y aclarar inconsistencia.
  • Red o timeout:
  • Reintentar hasta 2 veces con espera corta.
  • promos vacio:
  • Informar "no hay promociones disponibles actualmente".

Presenting Results

  • Formato por defecto:
  • Resumen ejecutivo + tabla corta
  • Priorizar:
  • Recencia (date)
  • Relevancia (score)
  • Claridad de destino y categoria
  • Aclarar timestamps (lastUpdated y/o timestamp) y la fuente externa (data.source).
  • No emitir recomendaciones de compra; solo informar promociones disponibles.

Out of Scope

Esta skill no debe hacer en v1:

  • Scraping directo de sitios externos
  • Automatizacion de reserva o compra
  • Alertas push, notificaciones o tracking de cambios
  • Uso de endpoints distintos de /api/v1/promos