Weather Open‑Meteo

v0.1.5

Get current weather and forecasts via open-meteo.com with optional fallback to wttr.in if available. No API key required.

0· 595·0 current·0 all-time
byDiogoSousa@vdiogov
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description (weather via open-meteo, fallback wttr.in) match the actual instructions and required binaries (curl, jq). No unexplained credentials, binaries, or config paths are requested.
Instruction Scope
Runtime instructions perform only network requests to open-meteo and wttr.in and use jq for URL encoding/JSON parsing. This is appropriate for the task. Note: the examples will make outbound HTTP(S) requests (including one wttr.in example using http:// for PNG); those calls expose the caller's IP and request metadata to the remote services.
Install Mechanism
Instruction-only skill with no install spec or downloadable code — lowest-risk installation footprint.
Credentials
No environment variables, credentials, or config paths requested. The required binaries (curl, jq) are proportionate to the described functionality.
Persistence & Privilege
Skill does not request always:true or any elevated persistence or system config changes. Default autonomous invocation is allowed but not unusual; the skill itself does not request additional privileges.
Assessment
This skill appears coherent and limited to fetching weather from public APIs and formatting results with jq. Before installing: ensure you are comfortable with the agent making outbound requests (these calls reveal your IP and request headers to open-meteo and wttr.in). Also note one example uses http://wttr.in for PNG retrieval — prefer HTTPS if you need confidentiality. No API keys or credentials are required.

Like a lobster shell, security has layers — review code before you run it.

latestvk9753ta0pd3w1msnq8rjb07n9181cnz6

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Runtime requirements

🌤️ Clawdis
Binscurl, jq

SKILL.md

Weather Open‑Meteo Skill

This skill provides current weather and simple forecasts by querying the open‑meteo.com public API. If the geocoding lookup or weather request fails, the skill can fall back to wttr.in as a lightweight alternative.

📌 Scope & Caveats

  • The skill requires curl and jq.
  • Location parameters are encoded before being sent to the API.
  • Examples below demonstrate safe query construction using jq @uri.

✅ When to Use

The user asks for weather, forecast, temperature, or rain probability for a location. ✖ Not for historical data, severe alerts, or detailed climatology.

📋 Commands

The skill accepts a single argument: a location name (city, region, or coordinates in lat,lon).

Open‑Meteo (primary, JSON)

Geocoding (co‑ordinates for a place):

curl -s "https://geocoding-api.open-meteo.com/v1/search?name=São+Paulo\u0026count=1" | jq '.results[0] | {name, latitude, longitude}'

Current weather (by co‑ordinates):

curl -s "https://api.open-meteo.com/v1/forecast?latitude=-23.55\u0026longitude=-46.63\u0026current_weather=true" | jq '.current_weather'

7‑day forecast (by co‑ordinates):

curl -s "https://api.open-meteo.com/v1/forecast?latitude=-23.55\u0026longitude=-46.63\u0026daily=temperature_2m_max,temperature_2m_min,precipitation_sum\u0026forecast_days=7" | jq '.daily'

Example JSON excerpt

{
  "latitude": -23.55,
  "longitude": -46.63,
  "current_weather": {
    "temperature": -5.3,
    "windspeed": 3.9,
    "winddirection": 200,
    "weathercode": 80,
    "time": "2024-02-18T14:00"
  }
}

📖 Open‑Meteo API docs

wttr.in (fallback)

One‑liner (HTML text):

curl -s "wttr.in/São+Paulo?format=3"

Compact plain‑text:

curl -s "wttr.in/São+Paulo?format=1"

PNG image (for terminals or embeds):

curl -s -o sp.png "http://wttr.in/São+Paulo?format=1"

📚 Example (User Query)

User: What's the weather in São Paulo? Agent: Current conditions in São Paulo: 🌤️ +10 °C, 20% chance of rain

Tips

  • URL‑encode city names:
    curl -s "https://geocoding-api.open-meteo.com/v1/search?name=$(echo São Paulo | jq -sRr @uri)"
    
  • Use jq to build the query dynamically:
    city="São Paulo"
    lat=$(curl -s "https://geocoding-api.open-meteo.com/v1/search?name=$(echo $city | jq -sRr @uri)" | jq -r '.results[0].latitude')
    lon=$(curl -s "https://geocoding-api.open-meteo.com/v1/search?name=$(echo $city | jq -sRr @uri)" | jq -r '.results[0].longitude')
    
  • You can pass latitude and longitude directly if you know them.
  • The API is rate‑limited (≈100 requests/min). Keep scripts cached or use short intervals.

Files

1 total
Select a file
Select a file to preview.

Comments

Loading comments…