skills/open-meteo/SKILL.md
Integrate Open-Meteo Weather Forecast, Air Quality, and Geocoding APIs: query design, variable selection, timezone/timeformat/units, multi-location batching, and robust error handling. Use when fetching weather forecasts, air quality/pollen data, or geocoding place names to coordinates via Open-Meteo. Keywords: Open-Meteo, /v1/forecast, /v1/air-quality, geocoding-api, hourly, daily, current, timezone=auto, timeformat=unixtime, models, WMO weather_code, CAMS, GeoNames, httpx, FastAPI, pytest.
npx skillsauth add itechmeat/llm-code open-meteoInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Provide a reliable, production-friendly way to call Open-Meteo APIs (Forecast, Air Quality, Geocoding), choose variables, control time/units/timezone, and parse responses consistently.
Pick the correct API and base URL
https://api.open-meteo.com/v1/forecasthttps://air-quality-api.open-meteo.com/v1/air-qualityhttps://geocoding-api.open-meteo.com/v1/searchResolve coordinates (if you only have a name)
name and optional language, countryCode, count.latitude, longitude, and timezone for subsequent calls.Design your time axis (timezone, timeformat, and range)
timezone=auto when results must align to local midnight.daily=..., set timezone (docs: daily requires timezone).timeformat=iso8601 for readability, or timeformat=unixtime for compactness.
unixtime, remember timestamps are GMT+0 and you must apply utc_offset_seconds for correct local dates.forecast_days and optional past_days, orstart_date/end_date (YYYY-MM-DD), and for sub-daily start_hour/end_hour.Choose variables minimally (avoid "download everything")
hourly=..., daily=..., current=....hourly=..., current=....error: true.Choose units and model selection deliberately
temperature_unit (celsius / fahrenheit)wind_speed_unit (kmh / ms / mph / kn)precipitation_unit (mm / inch)models=auto / “Best match” combines the best models.models=....references/models.md (section "Endpoints vs models=") for examples and doc links.references/models.md.domains=auto (default) or cams_europe / cams_global.Implement robust request/response handling
{"error": true, "reason": "..."}format=csv or format=xlsx when you need data export.Validate correctness with a “known city” check
hourly=temperature_2m for 1–2 days → verify timezone and array lengths.hourly=pm10,pm2_5,european_aqi → verify units and presence of hourly_units.timezone when requesting daily variables (per docs).unixtime timestamps are local time; they are GMT+0 and require utc_offset_seconds adjustment.{"error": true} responses; fail fast with the provided reason.hourly, one daily (with timezone), and one current variable.error: true with clear messages.data-ai
Zvec in-process vector database. Covers collections, indexing, embeddings, reranking, and persistence. Use when embedding Zvec into applications or tuning retrieval/storage behavior. Keywords: Zvec, HNSW-RaBitQ, vector database, ANN.
development
Vitest testing framework: Vite-powered tests, Jest-compatible API, mocking, snapshots, coverage, browser mode, and TypeScript support. Use when writing or configuring tests with Vitest, setting up mocking/snapshots, configuring coverage, or running browser-mode tests. Keywords: Vitest, testing, Vite, Jest, mocking, coverage.
tools
Vite next-gen frontend tooling: dev server, HMR, build, config, plugins, Environment API, Rolldown. Use when setting up or running a Vite project, configuring vite.config.*, authoring plugins, working with HMR or JS API, or managing environment variables and modes. Keywords: vite.config, bundler, Vite, HMR, Rolldown.
development
Orchestrate AI coding with Vibe Kanban: tasks, review, sessions, workspaces, and isolated git worktrees. Use when managing AI-generated code in isolated environments, planning coding tasks, reviewing AI output, or configuring Vibe Kanban workspaces and agents. Keywords: Vibe Kanban, AI orchestration, worktrees.