weather-observation-fetching
Lets your agent retrieve weather observations from reliable sources. It preserves important information like station ID and time.
What it does
This tool fetches and retrieves actual weather data, like flight reports (METARs) and historical data, from official sources. It ensures important information such as station identity, time, units, and quality indicators are preserved.
When to use it
- ✓When you need recent weather reports for specific airports.
- ✓To get historical surface data from a region or country.
- ✓When you need information about the location, equipment, or history of weather stations.
Example of what to ask your AI
“Provide me with METAR reports from the last 2 hours for São Paulo (CG24) and Rio de Janeiro (SBGL) airports.”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
The tool connects to reliable weather data sources, like government APIs. It searches for the requested data, keeping all original details, and presents it in an organized manner.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add sickn33/agentic-awesome-skills --skill weather-observation-fetchingOr download just the file:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/weather-observation-fetching/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
Weather Observation Fetching
Overview
Retrieve measured surface and upper-air weather reports without losing station identity, observation time, units, raw values, or provider quality flags. Pick the source by observation type and retention need, then validate the returned records before normalization.
This skill covers METARs, historical surface observations, radiosondes, and station metadata. It excludes model output, radar volumes, and satellite imagery.
When to Use This Skill
- A task needs recent METAR observations for named stations or a small region.
- Historical hourly or synoptic surface data is needed from NOAA NCEI.
- A sounding workflow needs observed radiosonde profiles rather than model profiles.
- Station identifiers, relocations, instruments, or metadata must be resolved.
- A fetch returned duplicate, stale, unit-ambiguous, or quality-flagged values.
Do not use forecast products as observations, and do not substitute a nearby model grid point for a missing station report without explicit approval.
Choose the Source
| Need | Preferred source | Notes |
|---|---|---|
| Recent aviation surface reports | NOAA Aviation Weather Center Data API | Query a small station/time set; use published cache files for bulk current data. |
| Historical global surface reports | NOAA NCEI Integrated Surface Database (ISD) | Preserve USAF/WBAN identity, units, and QC fields. |
| Historical or recent radiosondes | NOAA NCEI IGRA | Use the station inventory and retain level and QC metadata. |
| Station history and identifier changes | NOAA NCEI station history/HOMR | Resolve moves, renames, and observing-platform changes. |
Prefer an existing project adapter when it already handles the provider's schema, retries, and cache. Record the exact endpoint or archive object used.
Define the Observation Request
Resolve these values before fetching:
- observation type and variables;
- station identifier system, not just the identifier string;
- start and end instants in UTC, including interval inclusivity;
- maximum acceptable observation age;
- raw, decoded, or both output forms;
- required quality flags and policy for rejected values;
- output units and missing-value representation;
- cache location and retention.
For spatial queries, also define the search geometry, distance limit, and how a station is selected. Return the selected station and distance rather than silently using the nearest report.
Fetch Recent METARs
The Aviation Weather Center exposes machine-readable METAR data under
/api/data/metar. Send a descriptive user agent, keep the query narrow, and
handle a valid 204 No Content separately from an error.
import json
from urllib.error import HTTPError
from urllib.parse import urlencode
from urllib.request import Request, urlopen
def fetch_metars(stations, hours=2):
station_ids = sorted({station.strip().upper() for station in stations})
if not station_ids or any(len(station) != 4 for station in station_ids):
raise ValueError("use one or more four-character ICAO station IDs")
if not 1 <= hours <= 24:
raise ValueError("hours must be between 1 and 24 for this narrow query")
query = urlencode({
"ids": ",".join(station_ids),
"format": "json",
"hours": hours,
})
request = Request(
f"https://aviationweather.gov/api/data/metar?{query}",
headers={"User-Agent": "weather-observation-fetching/1.0 contact@example.org"},
)
try:
with urlopen(request, timeout=30) as response:
if response.status == 204:
return []
records = json.load(response)
except HTTPError as exc:
if exc.code == 429:
raise RuntimeError("AWC rate limit reached; honor Retry-After") from exc
raise
if not isinstance(records, list):
raise RuntimeError("unexpected METAR response shape")
return records
Replace the example contact address with an appropriate project contact. For a large current snapshot, download the provider's compressed cache file once instead of issuing many station queries.
Fetch Historical Surface Data
For ISD:
- Resolve the station using the current station inventory and its USAF/WBAN identifiers.
- Confirm that the station's coverage overlaps the requested time range.
- Use bulk HTTPS files for a large historical request; avoid one network call per observation.
…
FAQ
What are METARs?
METARs are standardized reports of weather observations at airports, primarily used for aviation.
What types of weather data does it fetch?
It fetches surface observations (like METARs) and upper-air data (radiosondes), as well as station metadata. It does not fetch forecasts or satellite imagery.
Why is it important to preserve 'station identity' and 'quality flags'?
Preserving identity ensures you know exactly where the data came from. Quality flags indicate whether the data is reliable or might have issues.
Details
Original description by the author
Retrieve surface and upper-air weather observations from authoritative APIs and archives with station identity, time, units, and quality flags preserved.
Popularity
- GitHub stars
- 48k
- Ranking position
- #4534
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
00-andruia-consultant
Helps your agent start or improve AI projects. It analyzes code, suggests tools, and creates action plans in Spanish.
sickn33/agentic-awesome-skills
007
Lets your agent perform security audits and threat modeling. It's useful for protecting projects against attacks and vulnerabilities.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Helps your agent create or improve AI tools. It defines how tools work, writes documentation, and validates the structure.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Lets your agent create a summary about a specific industry. It's useful for understanding the context, rules, usage patterns, and risks of a project, using reliable sources.
sickn33/agentic-awesome-skills
Similar skills
data-scraper-agent
Helps your agent automatically collect data from any public source. It can be scheduled, enrich information, and save results. Useful for monitoring or tracking online data.
affaan-m/ECC
Apify Automation
Has your agent automatically collect data from the web using the Apify platform. It can run scraping tasks and extract information.
ComposioHQ/awesome-claude-skills
Firecrawl Automation
Helps your agent extract data from the web. It can scrape pages, crawl sites, and organize information.
ComposioHQ/awesome-claude-skills