{
  "schemaVersion": "1.0",
  "item": {
    "slug": "openmeteo-sh-weather-advanced",
    "name": "Weather via OpenMeteo (via openmeteo-sh cli; advanced ver)",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/lstpsche/openmeteo-sh-weather-advanced",
    "canonicalUrl": "https://clawhub.ai/lstpsche/openmeteo-sh-weather-advanced",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/openmeteo-sh-weather-advanced",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=openmeteo-sh-weather-advanced",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/openmeteo-sh-weather-advanced"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/openmeteo-sh-weather-advanced",
    "agentPageUrl": "https://openagent3.xyz/skills/openmeteo-sh-weather-advanced/agent",
    "manifestUrl": "https://openagent3.xyz/skills/openmeteo-sh-weather-advanced/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/openmeteo-sh-weather-advanced/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "OpenMeteo Weather — Advanced (openmeteo-sh)",
        "body": "Advanced weather queries via openmeteo CLI: historical data (from 1940), detailed variable selection, model choice, and fine-grained forecast control. No API key required.\n\nCLI: openmeteo <command> [options]"
      },
      {
        "title": "Output format",
        "body": "Always use --llm — compact TSV output designed for LLMs. Weather codes are auto-resolved to text. Pass --raw only if the user explicitly asks for JSON."
      },
      {
        "title": "Quick reference",
        "body": "# Current weather\nopenmeteo weather --current --city=Berlin --llm\n\n# Current + 2-day forecast\nopenmeteo weather --current --forecast-days=2 --city=London --llm\n\n# Only precipitation data\nopenmeteo weather --forecast-days=2 --city=Vienna \\\n  --hourly-params=precipitation,precipitation_probability,weather_code --llm\n\n# Coordinates instead of city\nopenmeteo weather --current --lat=48.8566 --lon=2.3522 --llm\n\n# Disambiguate city with country\nopenmeteo weather --current --city=Portland --country=US --llm\n\n# Forecast starting from day 3 (skip today and tomorrow)\nopenmeteo weather --forecast-days=7 --forecast-since=3 --city=London --llm\n\n# Historical weather\nopenmeteo history --city=Paris --start-date=2024-01-01 --end-date=2024-01-31 --llm"
      },
      {
        "title": "Location (pick one, required)",
        "body": "--city=NAME — city name, auto-geocoded; usually sufficient on its own\n--country=CODE — optional country hint to disambiguate (e.g. US, GB). Only needed when city name is ambiguous. Pass whatever you have or omit.\n--lat=NUM --lon=NUM — direct WGS84 coordinates, skips geocoding"
      },
      {
        "title": "weather — forecast up to 16 days + current conditions",
        "body": "Mode (at least one required):\n\n--current — fetch current conditions\n--forecast-days=N — days of forecast, 0–16 (default 7)\n--forecast-since=N — start from day N of the forecast (1=today, 2=tomorrow, etc.). Trims the window server-side. Must be <= forecast-days.\n\nParam overrides (comma-separated variable names):\n\n--current-params=LIST — override current variables\n--hourly-params=LIST — override hourly variables\n--daily-params=LIST — override daily variables\n\nUnits:\n\n--temperature-unit=UNIT — celsius (default) / fahrenheit\n--wind-speed-unit=UNIT — kmh (default) / ms / mph / kn\n--precipitation-unit=UNIT — mm (default) / inch\n\nOther:\n\n--past-days=N — include past days, 0–92 (default 0)\n--timezone=TZ — IANA timezone or auto (default auto)\n--model=MODEL — weather model (default best_match)"
      },
      {
        "title": "history — historical weather from 1940",
        "body": "Requires --start-date=YYYY-MM-DD and --end-date=YYYY-MM-DD.\nSupports --hourly-params, --daily-params, --model (era5, era5_land, cerra, ecmwf_ifs, etc.)."
      },
      {
        "title": "Common weather variables",
        "body": "Override defaults via --current-params, --hourly-params, --daily-params. For the full variable list with descriptions, run openmeteo weather help --daily-params (or --hourly-params, --current-params)."
      },
      {
        "title": "Current & hourly (most used)",
        "body": "temperature_2m — air temp at 2m, C\napparent_temperature — feels-like temp, C\nrelative_humidity_2m — humidity, %\nprecipitation — total precipitation (rain+showers+snow), mm\nprecipitation_probability (hourly only) — chance of precipitation, %\nweather_code — condition code, auto-resolved to text (e.g. \"Light rain\")\nwind_speed_10m — wind at 10m, km/h\nwind_gusts_10m — gusts at 10m, km/h\ncloud_cover — total cloud cover, %\nis_day (current only) — daytime flag, 0/1\nuv_index (hourly only) — UV index\nsnowfall — snowfall, cm\nvisibility — visibility, m\npressure_msl — sea-level pressure, hPa"
      },
      {
        "title": "Daily (most used)",
        "body": "temperature_2m_max / temperature_2m_min — daily max/min temp, C\nprecipitation_sum — total daily precipitation, mm\nprecipitation_probability_max — max precipitation chance, %\nweather_code — dominant condition for the day\nwind_speed_10m_max — max wind, km/h\nsunrise / sunset — ISO 8601 times\nuv_index_max — max UV index\nsnowfall_sum — total daily snowfall, cm\napparent_temperature_max / apparent_temperature_min — daily feels-like range, C"
      },
      {
        "title": "Detailed variable help",
        "body": "Run openmeteo weather help <flag> to get a full list of available variables with descriptions:\n\nopenmeteo weather help --daily-params\nopenmeteo weather help --hourly-params\nopenmeteo weather help --current-params\nopenmeteo history help --daily-params\n\nAdd --llm for compact TSV output: openmeteo weather help --daily-params --llm\n\nUse this when you need a variable beyond the common ones listed above."
      },
      {
        "title": "Rules",
        "body": "Always use --llm output format — most token-efficient, designed for agents.\nQuote all user-provided values in shell commands. City names, dates, and any free-text input must be quoted to prevent shell interpretation: --city=\"New York\", --city=\"St. Petersburg\". Only known-safe tokens (numbers, single ASCII words) may be unquoted.\nWhen the user asks about weather without specifying a location, use the user's default city/country if known from session context.\nPresent results as a natural-language summary — do not paste raw CLI output to the user.\nUse --forecast-days=1 or --forecast-days=2 for today/tomorrow — don't waste tokens on 7-day fetches.\nFor targeted questions (e.g. \"when will the rain stop?\"), override params via --hourly-params or --daily-params to fetch only what's needed, analyze the output and give answer.\nUse --forecast-since=N when the user asks about a specific future day (e.g. \"weather on Friday\") to avoid fetching unnecessary earlier days.\nWhen the user switches cities (\"and what about London?\"), carry over all params used in prior weather queries this conversation — including any added in follow-ups. The new city gets the union of all previously requested params."
      },
      {
        "title": "Conversational examples",
        "body": "User: \"What's the weather like?\"\n\nLocation not specified -> use city/country from session context.\nGeneral overview -> --current.\n\nopenmeteo weather --current --city=Berlin --llm\n\nSummarize naturally: \"Clear sky, -12C (feels like -17C), wind 9 km/h.\"\n\nUser: \"When will the rain stop?\"\n\nNeeds hourly precipitation timeline.\n\nopenmeteo weather --forecast-days=2 --city=Berlin \\\n  --hourly-params=precipitation,precipitation_probability,weather_code --llm\n\nScan output, find when precipitation drops to 0. Answer: \"Rain should stop around 14:00 today.\"\n\nUser: \"Do I need an umbrella?\"\n\nopenmeteo weather --forecast-days=1 --city=Berlin \\\n  --hourly-params=precipitation,precipitation_probability,weather_code --llm\n\nYes/no with reasoning: \"Yes — 70% chance of rain between 11:00-15:00, up to 2mm.\"\n\nUser: \"What's the weather this weekend in Rome?\"\n\nCalculate --forecast-since to skip to Saturday, --forecast-days to cover through Sunday.\n\nopenmeteo weather --forecast-days=7 --forecast-since=5 --city=Rome \\\n  --daily-params=temperature_2m_max,temperature_2m_min,weather_code,precipitation_sum --llm\n\nPresent only weekend days: \"Saturday: 14/8C, partly cloudy. Sunday: 16/9C, clear.\"\n\nUser: \"What's the temperature outside?\"\n\nOnly wants temperature -> narrow params.\n\nopenmeteo weather --current --city=Berlin \\\n  --current-params=temperature_2m,apparent_temperature --llm\n\nShort answer: \"-5C, feels like -9C.\"\n\nUser: \"How much rain fell in Tokyo last June?\"\n\nopenmeteo history --city=Tokyo --start-date=2025-06-01 --end-date=2025-06-30 \\\n  --daily-params=precipitation_sum,rain_sum --llm\n\nSummarize total and notable days."
      }
    ],
    "body": "OpenMeteo Weather — Advanced (openmeteo-sh)\n\nAdvanced weather queries via openmeteo CLI: historical data (from 1940), detailed variable selection, model choice, and fine-grained forecast control. No API key required.\n\nCLI: openmeteo <command> [options]\n\nOutput format\n\nAlways use --llm — compact TSV output designed for LLMs. Weather codes are auto-resolved to text. Pass --raw only if the user explicitly asks for JSON.\n\nQuick reference\n# Current weather\nopenmeteo weather --current --city=Berlin --llm\n\n# Current + 2-day forecast\nopenmeteo weather --current --forecast-days=2 --city=London --llm\n\n# Only precipitation data\nopenmeteo weather --forecast-days=2 --city=Vienna \\\n  --hourly-params=precipitation,precipitation_probability,weather_code --llm\n\n# Coordinates instead of city\nopenmeteo weather --current --lat=48.8566 --lon=2.3522 --llm\n\n# Disambiguate city with country\nopenmeteo weather --current --city=Portland --country=US --llm\n\n# Forecast starting from day 3 (skip today and tomorrow)\nopenmeteo weather --forecast-days=7 --forecast-since=3 --city=London --llm\n\n# Historical weather\nopenmeteo history --city=Paris --start-date=2024-01-01 --end-date=2024-01-31 --llm\n\nLocation (pick one, required)\n--city=NAME — city name, auto-geocoded; usually sufficient on its own\n--country=CODE — optional country hint to disambiguate (e.g. US, GB). Only needed when city name is ambiguous. Pass whatever you have or omit.\n--lat=NUM --lon=NUM — direct WGS84 coordinates, skips geocoding\nCommands\nweather — forecast up to 16 days + current conditions\n\nMode (at least one required):\n\n--current — fetch current conditions\n--forecast-days=N — days of forecast, 0–16 (default 7)\n--forecast-since=N — start from day N of the forecast (1=today, 2=tomorrow, etc.). Trims the window server-side. Must be <= forecast-days.\n\nParam overrides (comma-separated variable names):\n\n--current-params=LIST — override current variables\n--hourly-params=LIST — override hourly variables\n--daily-params=LIST — override daily variables\n\nUnits:\n\n--temperature-unit=UNIT — celsius (default) / fahrenheit\n--wind-speed-unit=UNIT — kmh (default) / ms / mph / kn\n--precipitation-unit=UNIT — mm (default) / inch\n\nOther:\n\n--past-days=N — include past days, 0–92 (default 0)\n--timezone=TZ — IANA timezone or auto (default auto)\n--model=MODEL — weather model (default best_match)\nhistory — historical weather from 1940\n\nRequires --start-date=YYYY-MM-DD and --end-date=YYYY-MM-DD. Supports --hourly-params, --daily-params, --model (era5, era5_land, cerra, ecmwf_ifs, etc.).\n\nCommon weather variables\n\nOverride defaults via --current-params, --hourly-params, --daily-params. For the full variable list with descriptions, run openmeteo weather help --daily-params (or --hourly-params, --current-params).\n\nCurrent & hourly (most used)\ntemperature_2m — air temp at 2m, C\napparent_temperature — feels-like temp, C\nrelative_humidity_2m — humidity, %\nprecipitation — total precipitation (rain+showers+snow), mm\nprecipitation_probability (hourly only) — chance of precipitation, %\nweather_code — condition code, auto-resolved to text (e.g. \"Light rain\")\nwind_speed_10m — wind at 10m, km/h\nwind_gusts_10m — gusts at 10m, km/h\ncloud_cover — total cloud cover, %\nis_day (current only) — daytime flag, 0/1\nuv_index (hourly only) — UV index\nsnowfall — snowfall, cm\nvisibility — visibility, m\npressure_msl — sea-level pressure, hPa\nDaily (most used)\ntemperature_2m_max / temperature_2m_min — daily max/min temp, C\nprecipitation_sum — total daily precipitation, mm\nprecipitation_probability_max — max precipitation chance, %\nweather_code — dominant condition for the day\nwind_speed_10m_max — max wind, km/h\nsunrise / sunset — ISO 8601 times\nuv_index_max — max UV index\nsnowfall_sum — total daily snowfall, cm\napparent_temperature_max / apparent_temperature_min — daily feels-like range, C\nDetailed variable help\n\nRun openmeteo weather help <flag> to get a full list of available variables with descriptions:\n\nopenmeteo weather help --daily-params\nopenmeteo weather help --hourly-params\nopenmeteo weather help --current-params\nopenmeteo history help --daily-params\n\n\nAdd --llm for compact TSV output: openmeteo weather help --daily-params --llm\n\nUse this when you need a variable beyond the common ones listed above.\n\nRules\nAlways use --llm output format — most token-efficient, designed for agents.\nQuote all user-provided values in shell commands. City names, dates, and any free-text input must be quoted to prevent shell interpretation: --city=\"New York\", --city=\"St. Petersburg\". Only known-safe tokens (numbers, single ASCII words) may be unquoted.\nWhen the user asks about weather without specifying a location, use the user's default city/country if known from session context.\nPresent results as a natural-language summary — do not paste raw CLI output to the user.\nUse --forecast-days=1 or --forecast-days=2 for today/tomorrow — don't waste tokens on 7-day fetches.\nFor targeted questions (e.g. \"when will the rain stop?\"), override params via --hourly-params or --daily-params to fetch only what's needed, analyze the output and give answer.\nUse --forecast-since=N when the user asks about a specific future day (e.g. \"weather on Friday\") to avoid fetching unnecessary earlier days.\nWhen the user switches cities (\"and what about London?\"), carry over all params used in prior weather queries this conversation — including any added in follow-ups. The new city gets the union of all previously requested params.\nConversational examples\n\nUser: \"What's the weather like?\"\n\nLocation not specified -> use city/country from session context.\nGeneral overview -> --current.\nopenmeteo weather --current --city=Berlin --llm\n\nSummarize naturally: \"Clear sky, -12C (feels like -17C), wind 9 km/h.\"\n\nUser: \"When will the rain stop?\"\n\nNeeds hourly precipitation timeline.\nopenmeteo weather --forecast-days=2 --city=Berlin \\\n  --hourly-params=precipitation,precipitation_probability,weather_code --llm\n\nScan output, find when precipitation drops to 0. Answer: \"Rain should stop around 14:00 today.\"\n\nUser: \"Do I need an umbrella?\"\n\nopenmeteo weather --forecast-days=1 --city=Berlin \\\n  --hourly-params=precipitation,precipitation_probability,weather_code --llm\n\nYes/no with reasoning: \"Yes — 70% chance of rain between 11:00-15:00, up to 2mm.\"\n\nUser: \"What's the weather this weekend in Rome?\"\n\nCalculate --forecast-since to skip to Saturday, --forecast-days to cover through Sunday.\nopenmeteo weather --forecast-days=7 --forecast-since=5 --city=Rome \\\n  --daily-params=temperature_2m_max,temperature_2m_min,weather_code,precipitation_sum --llm\n\nPresent only weekend days: \"Saturday: 14/8C, partly cloudy. Sunday: 16/9C, clear.\"\n\nUser: \"What's the temperature outside?\"\n\nOnly wants temperature -> narrow params.\nopenmeteo weather --current --city=Berlin \\\n  --current-params=temperature_2m,apparent_temperature --llm\n\nShort answer: \"-5C, feels like -9C.\"\n\nUser: \"How much rain fell in Tokyo last June?\"\n\nopenmeteo history --city=Tokyo --start-date=2025-06-01 --end-date=2025-06-30 \\\n  --daily-params=precipitation_sum,rain_sum --llm\n\nSummarize total and notable days."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/lstpsche/openmeteo-sh-weather-advanced",
    "publisherUrl": "https://clawhub.ai/lstpsche/openmeteo-sh-weather-advanced",
    "owner": "lstpsche",
    "version": "1.2.2",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/openmeteo-sh-weather-advanced",
    "downloadUrl": "https://openagent3.xyz/downloads/openmeteo-sh-weather-advanced",
    "agentUrl": "https://openagent3.xyz/skills/openmeteo-sh-weather-advanced/agent",
    "manifestUrl": "https://openagent3.xyz/skills/openmeteo-sh-weather-advanced/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/openmeteo-sh-weather-advanced/agent.md"
  }
}