← Files WeatherXM FACTARCHIVED FILE

.codex-plugin/plugin.json

8.48 KB · Nov 11, 2026 · 06:09 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "weatherxm-fact",
  "version": "1.0.3",
  "description": "WeatherXM FACT compares published historical forecast accuracy across 45 numerical and AI weather models using the WeatherXM station archive. Query local historical benchmark results, country cell-win summaries, global model error curves and historical publication coverage. Outputs include provenance, missing-data and cohort limitations. This is not a live forecast, a guarantee of future accuracy, or a live station inventory. The service requires no account. Coarse H3 query-demand telemetry is stored for coverage planning; see the privacy policy.",
  "author": {
    "name": "WeatherXM AG"
  },
  "keywords": [
    "weather",
    "weather forecast",
    "forecast accuracy",
    "nwp",
    "ecmwf",
    "gfs",
    "icon",
    "graphcast",
    "aifs",
    "meteorology",
    "weather stations",
    "weatherxm",
    "fact benchmark",
    "wind speed forecast",
    "precipitation forecast",
    "temperature forecast"
  ],
  "interface": {
    "displayName": "WeatherXM FACT",
    "shortDescription": "Weather forecast benchmarks",
    "longDescription": "WeatherXM FACT compares published historical forecast accuracy across 45 numerical and AI weather models using the WeatherXM station archive. Query local historical benchmark results, country cell-win summaries, global model error curves and historical publication coverage. Outputs include provenance, missing-data and cohort limitations. This is not a live forecast, a guarantee of future accuracy, or a live station inventory. The service requires no account. Coarse H3 query-demand telemetry is stored for coverage planning; see the privacy policy.",
    "developerName": "WeatherXM AG",
    "category": "Productivity",
    "capabilities": [
      "Read published historical local forecast accuracy",
      "Inspect country-level published cell-win summaries",
      "Compare global model error curves with cohort caveats",
      "Check historical ground-truth publication coverage"
    ],
    "defaultPrompt": [
      "Which weather forecast model is most accurate for Athens, Greece (37.98, 23.73)?",
      "Compare the top weather forecast models for wind speed in Switzerland (CH).",
      "Show forecast accuracy across lead times near Zurich (47.37, 8.54)."
    ],
    "brandColor": "#2563EB",
    "composerIcon": "./assets/composer-icon.png",
    "logo": "./assets/directory-icon.png",
    "websiteURL": "https://fact.weatherxm.com",
    "supportURL": "https://weatherxm.com",
    "privacyPolicyURL": "https://weatherxm.com/privacy/",
    "termsOfServiceURL": "https://weatherxm.com/terms-and-conditions/"
  },
  "skills": "./skills",
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "WeatherXM FACT",
        "shortDescription": "Weather forecast benchmarks",
        "longDescription": "WeatherXM FACT compares published historical forecast accuracy across 45 numerical and AI weather models using the WeatherXM station archive. Query local historical benchmark results, country cell-win summaries, global model error curves and historical publication coverage. Outputs include provenance, missing-data and cohort limitations. This is not a live forecast, a guarantee of future accuracy, or a live station inventory. The service requires no account. Coarse H3 query-demand telemetry is stored for coverage planning; see the privacy policy.",
        "developerName": "WeatherXM AG",
        "category": "Productivity",
        "capabilities": [
          "Read published historical local forecast accuracy",
          "Inspect country-level published cell-win summaries",
          "Compare global model error curves with cohort caveats",
          "Check historical ground-truth publication coverage"
        ],
        "defaultPrompt": [
          "Which weather forecast model is most accurate for Athens, Greece (37.98, 23.73)?",
          "Compare the top weather forecast models for wind speed in Switzerland (CH).",
          "Show forecast accuracy across lead times near Zurich (47.37, 8.54)."
        ],
        "brandColor": "#2563EB",
        "composerIcon": "./assets/composer-icon.png",
        "logo": "./assets/directory-icon.png",
        "websiteURL": "https://fact.weatherxm.com",
        "supportURL": "https://weatherxm.com",
        "privacyPolicyURL": "https://weatherxm.com/privacy/",
        "termsOfServiceURL": "https://weatherxm.com/terms-and-conditions/"
      },
      "review": {
        "demo_recording_url": "https://fact.weatherxm.com/demo-walkthrough.mp4",
        "commerce": false,
        "test_cases": {
          "positive": [
            {
              "description": "Local temperature historical benchmark \u2014 Which models have the lowest published historical temperature MAE for Athens (37.98, 23.73)?",
              "prompt": "Which models have the lowest published historical temperature MAE for Athens (37.98, 23.73)?",
              "tools_triggered": "get_best_forecast_model",
              "expected_behavior": "Return published cell results with provenance, or explicitly report missing results. Keep any nearby reference cell separate; historical skill is not a live forecast."
            },
            {
              "description": "Country cell-win summary \u2014 Show the published wind-speed cell-win summary for Switzerland (CH).",
              "prompt": "Show the published wind-speed cell-win summary for Switzerland (CH).",
              "tools_triggered": "get_fact_leaderboard",
              "expected_behavior": "Return published country cell-win counts, not a national matched-sample error ranking."
            },
            {
              "description": "Historical publication coverage \u2014 Check historical FACT publication coverage near Zurich (47.37, 8.54).",
              "prompt": "Check historical FACT publication coverage near Zurich (47.37, 8.54).",
              "tools_triggered": "check_ground_truth_coverage",
              "expected_behavior": "Return historical publication coverage and nearest evaluated reference if available. Do not infer current live station absence from missing archive results."
            },
            {
              "description": "Global model error curves \u2014 Compare IFS025 and GFS05 global historical temperature error curves.",
              "prompt": "Compare IFS025 and GFS05 global historical temperature error curves.",
              "tools_triggered": "get_model_head_to_head",
              "expected_behavior": "Return source-specific global lead-day error curves. Preserve cohort caveats; do not claim a matched-sample or Germany-specific head-to-head."
            },
            {
              "description": "Global Day 3 precipitation benchmark \u2014 Show the global precipitation benchmark at Day 3.",
              "prompt": "Show the global precipitation benchmark at Day 3.",
              "tools_triggered": "get_fact_leaderboard",
              "expected_behavior": "Return available global precipitation metrics for the requested horizon with provenance and limitations."
            }
          ],
          "negative": [
            {
              "description": "Do not trigger for ecommerce order refunds or billing changes.",
              "prompt": "Refund my last order and update my credit card billing address.",
              "expected_behavior": "The plugin should not be invoked because order management and billing mutations are outside WeatherXM FACT's read-only forecast benchmark scope."
            },
            {
              "description": "Do not trigger for calendar scheduling or email sending.",
              "prompt": "Schedule a 30-minute meeting with my team tomorrow at 10am and email the invite.",
              "expected_behavior": "The plugin should not be invoked because calendar and email actions are unrelated to weather forecast model benchmarking."
            },
            {
              "description": "Do not trigger for smart-home thermostat or IoT device mutations.",
              "prompt": "Set my living room thermostat to 22 degrees Celsius and turn off the porch lights.",
              "expected_behavior": "The plugin should not be invoked because it only provides read-only weather forecast model accuracy benchmarks and cannot control smart-home devices."
            }
          ]
        }
      },
      "publication": {
        "release_notes": "Updates privacy policy URL and disclosures for MCP tool inputs, outputs, H3 quantization, recipients, retention timelines, and user controls."
      }
    }
  }
}

SHA-256: 3859da9e6782cc030acd3c95cf918c9f6a999701dac29906ac637b85f9646fac