{
  "schemaVersion": "1.0",
  "item": {
    "slug": "wind-site",
    "name": "Wind & Site",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/QROST/wind-site",
    "canonicalUrl": "https://clawhub.ai/QROST/wind-site",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/wind-site",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=wind-site",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "clawhub.json",
      "requirements.txt",
      "scripts/wind_info.py",
      "scripts/wind_rose.py"
    ],
    "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. 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. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-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/wind-site"
    },
    "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/wind-site",
    "agentPageUrl": "https://openagent3.xyz/skills/wind-site/agent",
    "manifestUrl": "https://openagent3.xyz/skills/wind-site/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/wind-site/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. 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. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Wind & Site",
        "body": "Wind climate and current wind at a location: wind rose (direction and speed frequency) and latest wind conditions. Uses Open-Meteo (no API key). For detailed urban or building wind effects (pedestrian comfort, corner acceleration), use CFD tools; this skill provides the site wind data needed for context and input to such studies."
      },
      {
        "title": "Dependencies",
        "body": "requests\nnumpy\nmatplotlib\n\nSetup: OpenClaw does not install Python packages automatically. After installing this skill, run once: pip install -r requirements.txt (from the skill folder). If a script fails with ModuleNotFoundError, install the missing package."
      },
      {
        "title": "1. Current or recent wind",
        "body": "Parameters: --lat, --lon, optional --days (0 = current from forecast; >0 = last N days from archive).\n\npython3 scripts/wind_info.py --lat 31.23 --lon 121.47\npython3 scripts/wind_info.py --lat 34.05 --lon -118.24 --days 7\n\nOutput: latest wind speed (m/s) and direction (°), and period mean if multiple hours."
      },
      {
        "title": "2. Wind rose",
        "body": "Parameters: --lat, --lon, --days (default 30), --output (default wind_rose.png).\n\npython3 scripts/wind_rose.py --lat 31.23 --lon 121.47 --days 30 --output wind_rose.png\n\nFetches hourly wind from Open-Meteo historical API and plots a wind rose (% of hours by direction and speed bins)."
      },
      {
        "title": "Sending images to Telegram",
        "body": "Used from the OpenClaw Telegram conversation. The wind rose is an image: run wind_rose.py with --output <path>.png. Then send that PNG to the user via the OpenClaw message/media tool. wind_info.py is text-only; use it for numbers and use the wind rose image for the visual.\n\nOpenClaw allowed paths: The message tool can only send files from allowed directories. If you see \"Local media path is not under an allowed directory\", the image was saved outside them. Always use an allowed output path for the PNG:\n\n~/.openclaw/media/ (e.g. --output ~/.openclaw/media/wind_rose.png)\n~/.openclaw/agents/\nThe system temp dir (e.g. /tmp/wind_rose.png)\n\nDo not use the skill install directory (e.g. ~/.openclaw/skills/windsite/) as --output; that path is not allowed and sending will fail.\n\nAgent behavior: When the user asks for wind at a site or a wind rose (with location or lat/lon), run the script directly with exec: use wind_info.py for current/recent wind text, and wind_rose.py --output <path>.png for the diagram, where <path> must be under an allowed directory (e.g. ~/.openclaw/media/wind_rose.png or /tmp/wind_rose.png); then send the wind rose PNG and summarize the numbers. Do not ask for confirmation; execute and return the image and data."
      },
      {
        "title": "Urban wind effect",
        "body": "This skill does not run CFD or pedestrian wind simulation. It provides:\n\nWind rose and wind speed/direction for the site, so you can see prevailing wind and strength.\nUse that data as input to CFD or specialist tools (e.g. SimScale, OpenFOAM, or wind-tunnel studies) for building/urban wind effects and comfort."
      },
      {
        "title": "Examples",
        "body": "User: \"What's the wind like at this site?\"\nAction: Run wind_info.py for the site lat/lon; return speed, direction, and brief interpretation.\n\nUser: \"Give me a wind rose for Shanghai for the last 30 days.\"\nAction: Run wind_rose.py --lat 31.23 --lon 121.47 --days 30 --output ~/.openclaw/media/wind_rose.png (or /tmp/wind_rose.png); send that file and return a short summary.\n\nUser: \"I need to assess urban wind around a new tower.\"\nAction: Run wind_rose and wind_info for the site; explain that for building/urban effects they should use CFD or wind-tunnel studies, with this data as climate input."
      }
    ],
    "body": "Wind & Site\n\nWind climate and current wind at a location: wind rose (direction and speed frequency) and latest wind conditions. Uses Open-Meteo (no API key). For detailed urban or building wind effects (pedestrian comfort, corner acceleration), use CFD tools; this skill provides the site wind data needed for context and input to such studies.\n\nDependencies\nrequests\nnumpy\nmatplotlib\n\nSetup: OpenClaw does not install Python packages automatically. After installing this skill, run once: pip install -r requirements.txt (from the skill folder). If a script fails with ModuleNotFoundError, install the missing package.\n\nUsage\n1. Current or recent wind\n\nParameters: --lat, --lon, optional --days (0 = current from forecast; >0 = last N days from archive).\n\npython3 scripts/wind_info.py --lat 31.23 --lon 121.47\npython3 scripts/wind_info.py --lat 34.05 --lon -118.24 --days 7\n\n\nOutput: latest wind speed (m/s) and direction (°), and period mean if multiple hours.\n\n2. Wind rose\n\nParameters: --lat, --lon, --days (default 30), --output (default wind_rose.png).\n\npython3 scripts/wind_rose.py --lat 31.23 --lon 121.47 --days 30 --output wind_rose.png\n\n\nFetches hourly wind from Open-Meteo historical API and plots a wind rose (% of hours by direction and speed bins).\n\nSending images to Telegram\n\nUsed from the OpenClaw Telegram conversation. The wind rose is an image: run wind_rose.py with --output <path>.png. Then send that PNG to the user via the OpenClaw message/media tool. wind_info.py is text-only; use it for numbers and use the wind rose image for the visual.\n\nOpenClaw allowed paths: The message tool can only send files from allowed directories. If you see \"Local media path is not under an allowed directory\", the image was saved outside them. Always use an allowed output path for the PNG:\n\n~/.openclaw/media/ (e.g. --output ~/.openclaw/media/wind_rose.png)\n~/.openclaw/agents/\nThe system temp dir (e.g. /tmp/wind_rose.png)\n\nDo not use the skill install directory (e.g. ~/.openclaw/skills/windsite/) as --output; that path is not allowed and sending will fail.\n\nAgent behavior: When the user asks for wind at a site or a wind rose (with location or lat/lon), run the script directly with exec: use wind_info.py for current/recent wind text, and wind_rose.py --output <path>.png for the diagram, where <path> must be under an allowed directory (e.g. ~/.openclaw/media/wind_rose.png or /tmp/wind_rose.png); then send the wind rose PNG and summarize the numbers. Do not ask for confirmation; execute and return the image and data.\n\nUrban wind effect\n\nThis skill does not run CFD or pedestrian wind simulation. It provides:\n\nWind rose and wind speed/direction for the site, so you can see prevailing wind and strength.\nUse that data as input to CFD or specialist tools (e.g. SimScale, OpenFOAM, or wind-tunnel studies) for building/urban wind effects and comfort.\nExamples\n\nUser: \"What's the wind like at this site?\"\nAction: Run wind_info.py for the site lat/lon; return speed, direction, and brief interpretation.\n\nUser: \"Give me a wind rose for Shanghai for the last 30 days.\"\nAction: Run wind_rose.py --lat 31.23 --lon 121.47 --days 30 --output ~/.openclaw/media/wind_rose.png (or /tmp/wind_rose.png); send that file and return a short summary.\n\nUser: \"I need to assess urban wind around a new tower.\"\nAction: Run wind_rose and wind_info for the site; explain that for building/urban effects they should use CFD or wind-tunnel studies, with this data as climate input."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/QROST/wind-site",
    "publisherUrl": "https://clawhub.ai/QROST/wind-site",
    "owner": "QROST",
    "version": "1.1.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/wind-site",
    "downloadUrl": "https://openagent3.xyz/downloads/wind-site",
    "agentUrl": "https://openagent3.xyz/skills/wind-site/agent",
    "manifestUrl": "https://openagent3.xyz/skills/wind-site/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/wind-site/agent.md"
  }
}