← ClaudeAtlas

climalisted

Trigger: /clima, actualizar clima v3, consulta de clima por puntos, agregar clima a una tabla, concatenar clima por origen. Enriquece datos con clima Open-Meteo: 3 gates interactivos (ubicaciones, API gratuita/paga, limites) y luego Modo A (actualizar v3) o Modo B (puntos por dia/rango, ancho, resumible).
amalvarezme/chec-local-uiti-vano-interpreter · ★ 0 · Code & Development · score 65
Install: claude install-skill amalvarezme/chec-local-uiti-vano-interpreter
## Activation Contract Load when the user says `/clima` or asks to enrich CHEC data with weather. Fully interactive: select source, then run the 3 gates IN ORDER, then process the mode. All heavy logic lives in [`clima_engine.py`](../../../src/chec_local_interpreter/clima_engine.py); the canonical calls are in [`assets/runbook.py`](assets/runbook.py). This file is the runbook, not the reasoning. ## Hard Rules - Selecciona la fuente primero, luego corre los gates en orden. Nunca proceses sin pasar los 3. - **Gate 1 (ubicaciones) es bloqueante y va primero**: sin coordenadas validas, detente. - La `apikey` (modo paga) la ESCRIBE el usuario, interactiva; solo en memoria, nunca la persistas ni la registres. - Modo B deja SOLO el CSV de resultado en `data/`; el rate log va a `.clima_cache/`. - Unificar/concatenar solo entre archivos con el MISMO `origen_id`. - Run Python with the repo venv: `.venv/bin/python`. ## Decision Gates | Fuente | Modo | Coordenadas | Salida | |---|---|---|---| | `data/Indicadores_vano_v3.csv` (fija) | A | `X1`,`Y1` | reescribe el mismo v3 | | tabla que el usuario elige de `data/` | B | `XPOS1_RED_BASE`,`YPOS1_RED_AFECTA` | `data/clima_<fuente>_<ini>_a_<fin>.csv` | ## Execution Steps 1. Pregunta el **modo** (A / B). En B, lista `runbook.listar_tablas()` y pide elegir el archivo. STOP. 2. **Gate 1 — Ubicaciones**: `a_gate1()` (A) o `b_gate1(archivo)` (B). Si `ok` es False, detente y reporta. 3. **Gate 2 — API**: pregunta gratuita o paga. Si paga, pid