Skills Weather&Webcam
Fetches current weather from Open-Meteo API and automatically captures a live webcam image from Meteoblue or Windy for the requested location. Use it when the user asks for the weather and wants to see a real image of the current conditions.
install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/alex1389/weather-webcam-v2" ~/.claude/skills/openclaw-skills-weather-webcam && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/alex1389/weather-webcam-v2" ~/.openclaw/skills/openclaw-skills-weather-webcam && rm -rf "$T"
manifest:
skills/alex1389/weather-webcam-v2/SKILL.mdsource content
Weather Location
This skill automates weather data retrieval using Open-Meteo and live webcam image capture using agent-browser.
Workflow
-
Get Coordinates (Geocoding):
- Execute
to resolve city name to coordinates.curl -s "https://geocoding-api.open-meteo.com/v1/search?name=[Location]&count=1&language=es&format=json"
- Execute
-
Get weather (Open-Meteo):
- Execute
to get real-time data.curl -s "https://api.open-meteo.com/v1/forecast?latitude=[Lat]&longitude=[Lon]¤t=temperature_2m,relative_humidity_2m,apparent_temperature,weather_code,wind_speed_10m"
- Execute
-
Search for Webcam:
- Web search for
orsite:meteoblue.com [Location] webcam
.site:windy.com [Location] webcam - Select the direct link to the location's webcam page.
- Web search for
-
Capture Image (Agent Browser Method):
- Use agent-browser to navigate and interact:
/home/user/.npm-global/bin/agent-browser --session-name webcam open "[URL]" - Interaction:
- Click "OK/Accept" on cookie banners using
+snapshot
.click @ref
- Click "OK/Accept" on cookie banners using
- Extraction:
- Use
to find the highest resolution URL (look foreval
and/full/
):original.jpgArray.from(document.querySelectorAll('img')).map(img => img.src).filter(src => src.includes('original.jpg') && src.includes('/full/'))[0]
- Use
- Download:
- Download with
tocurl
./home/user/.openclaw/workspace/webcam.jpg
- Download with
- Use agent-browser to navigate and interact:
-
User Response:
- Send with
.message(action=send, media="/home/user/.openclaw/workspace/webcam.jpg", caption="[City]: [Icon] [Temp]°C [Humidity]% [Wind]km/h\n[Comment]") - Respond with
.NO_REPLY
- Send with
Optimization (Token Saving)
- Open-Meteo API: Faster, keyless, and more reliable than wttr.in.
- Agent Browser: Priority method for Alex to ensure interaction (cookies) and high-quality images.
- Session Persistence: Use
to keep cookies.--session-name webcam