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.md
source content

Weather Location

This skill automates weather data retrieval using Open-Meteo and live webcam image capture using agent-browser.

Workflow

  1. Get Coordinates (Geocoding):

    • Execute
      curl -s "https://geocoding-api.open-meteo.com/v1/search?name=[Location]&count=1&language=es&format=json"
      to resolve city name to coordinates.
  2. Get weather (Open-Meteo):

    • Execute
      curl -s "https://api.open-meteo.com/v1/forecast?latitude=[Lat]&longitude=[Lon]&current=temperature_2m,relative_humidity_2m,apparent_temperature,weather_code,wind_speed_10m"
      to get real-time data.
  3. Search for Webcam:

    • Web search for
      site:meteoblue.com [Location] webcam
      or
      site:windy.com [Location] webcam
      .
    • Select the direct link to the location's webcam page.
  4. 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
        .
    • Extraction:
      • Use
        eval
        to find the highest resolution URL (look for
        /full/
        and
        original.jpg
        ):
        Array.from(document.querySelectorAll('img')).map(img => img.src).filter(src => src.includes('original.jpg') && src.includes('/full/'))[0]
        
    • Download:
      • Download with
        curl
        to
        /home/user/.openclaw/workspace/webcam.jpg
        .
  5. 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
      .

Optimization (Token Saving)

  1. Open-Meteo API: Faster, keyless, and more reliable than wttr.in.
  2. Agent Browser: Priority method for Alex to ensure interaction (cookies) and high-quality images.
  3. Session Persistence: Use
    --session-name webcam
    to keep cookies.