Agent skill

Weather Observation Fetching

by sickn33 in sickn33/agentic-awesome-skills

Retrieve surface and upper-air weather observations from authoritative APIs and archives with station identity, time, units, and quality flags preserved.

MITAuto-check passed

Install Weather Observation Fetching

skills CLI
$ npx skills add sickn33/agentic-awesome-skills --skill weather-observation-fetching -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install sickn33/agentic-awesome-skills weather-observation-fetching --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/sickn33/agentic-awesome-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/weather-observation-fetching .claude/skills/weather-observation-fetching && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
weather-observation-fetching
GitHub stars
47k
Used in
1 other repo
Token cost
~2.7k tokens
SKILL.md length
1,203 words
Files
1
Skills in repo
1,497
Repo updated
First seen
Licence
MIT

At a glance

Retrieve surface and upper-air weather observations from authoritative APIs and archives with station identity, time, units, and quality flags preserved.

  • Works in 6 steps: Resolve the station using the current… → Confirm that the station's coverage… → Use bulk HTTPS files for a large… → …
  • SKILL.md covers Overview, When to Use This Skill, Choose the Source and Define the Observation Request, plus 11 more sections
  • Reaches aviationweather.gov

What it does

Weather Observation Fetching is an agent skill from sickn33/agentic-awesome-skills. Retrieve surface and upper-air weather observations from authoritative APIs and archives with station identity, time, units, and quality flags preserved.

Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and planning, backed by 2,400+ agentic skills. Includes… The licence is MIT.

Example prompts

  • “/weather-observation-fetching”

Requirements

  • Python 3

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Resolve the station using the current station inventory and its USAF/WBAN
  2. Confirm that the station's coverage overlaps the requested time range.
  3. Use bulk HTTPS files for a large historical request; avoid one network call
  4. Preserve the original report and source/QC codes before converting units.
  5. Treat trace values, missing sentinels, and calm or variable winds according
  6. Join station metadata by both identifier and effective date when station

What it can do on your machine

Read from SKILL.md and the folder at commit b84d35a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are python).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • aviationweather.gov

    Also links to:

    • ncei.noaa.gov

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Weather Observation Fetching loads about 2.7k tokens when it runs. Until then it costs about 46 tokens; SKILL.md has 1,203 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~46
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from sickn33/agentic-awesome-skills at commit b84d35a, republished under its MIT licence (© sickn33). 1,203 words, ~2,709 tokens.

Download SKILL.mdSave it as .claude/skills/weather-observation-fetching/SKILL.md (or your agent's skills folder).
name
weather-observation-fetching
description
Retrieve surface and upper-air weather observations from authoritative APIs and archives with station identity, time, units, and quality flags preserved.
category
data
risk
safe
source
self
source_type
self
date_added
2026-09-19
author
ShianMike
tags
weather, observations, metar, radiosonde, noaa, quality-control
tools
claude, cursor, gemini, codex

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

NeedPreferred sourceNotes
Recent aviation surface reportsNOAA Aviation Weather Center Data APIQuery a small station/time set; use published cache files for bulk current data.
Historical global surface reportsNOAA NCEI Integrated Surface Database (ISD)Preserve USAF/WBAN identity, units, and QC fields.
Historical or recent radiosondesNOAA NCEI IGRAUse the station inventory and retain level and QC metadata.
Station history and identifier changesNOAA NCEI station history/HOMRResolve 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.

python
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:

  1. Resolve the station using the current station inventory and its USAF/WBAN identifiers.
  2. Confirm that the station's coverage overlaps the requested time range.
  3. Use bulk HTTPS files for a large historical request; avoid one network call per observation.
  4. Preserve the original report and source/QC codes before converting units.
  5. Treat trace values, missing sentinels, and calm or variable winds according to the data format documentation.
  6. Join station metadata by both identifier and effective date when station history matters.

Do not assume one station identifier always represents an unchanged location or instrument throughout its archive.

Fetch Radiosonde Profiles

For IGRA:

  1. Search the station inventory by identifier or location and verify the station's record period.
  2. Fetch the station file covering the requested dates rather than scraping an interactive page.
  3. Select by the report's UTC time and retain nominal, launch, and release times when the source supplies them.
  4. Preserve pressure, height, temperature, moisture, wind, level type, and QC fields. Standard and significant levels are both scientifically relevant.
  5. Sort the profile only after parsing; do not invent levels or interpolate across large gaps during acquisition.
  6. Report an absent launch or incomplete profile explicitly.

Many upper-air stations usually report near 00 and 12 UTC, but the archive is the authority. Do not manufacture a schedule or select a different day solely because a nominal time is missing.

Normalize Without Erasing Provenance

Each normalized record should retain:

  • provider and dataset;
  • station identifier plus identifier scheme;
  • station latitude, longitude, elevation, and metadata effective date;
  • observation time in UTC and, when available, receipt or ingestion time;
  • raw report or raw archive row;
  • decoded values with explicit units;
  • provider quality flags and local QC decisions;
  • retrieval time, source URL/object, and response identity.

Store original and converted values side by side when a conversion could affect rounding. Never use the HTTP Last-Modified timestamp as the observation time.

Show full SKILL.md (489 more words)Show less

Quality Control and Deduplication

  • Treat provider flags as data, not decoration. Define which flags are accepted, rejected, or retained with warnings.
  • Deduplicate on provider identity, station, observation time, and report type. When corrected reports exist, preserve the correction lineage.
  • Check physical ranges only after handling missing and trace encodings.
  • Verify wind direction conventions, temperature scales, pressure units, and precipitation accumulation periods before combining sources.
  • Keep station time, observation time, and ingestion time distinct.
  • Flag stale reports against the request's maximum age rather than returning them as current conditions.

Reliability and Caching

  • Honor provider request limits, Retry-After, and published bulk-download guidance.
  • Retry timeouts, 408, 429, and transient 5xx failures with bounded backoff and jitter.
  • Cache immutable archive files by URL/object identity and current API responses for no longer than their update cadence permits.
  • Write downloads to a temporary path, validate content and expected date range, then rename atomically.
  • Keep partial files separate from accepted cache entries.
  • For one-shot processing, remove request-owned temporary observations in finally only after the derived artifact and provenance record are durable.

Verification Checklist

  • The station identifier scheme and station metadata are explicit.
  • All selected observations fall inside the requested UTC interval.
  • The report time, receipt time, and retrieval time are not conflated.
  • Units, missing sentinels, trace values, and QC flags are handled explicitly.
  • Raw reports or rows remain available for audit.
  • Duplicate and corrected reports follow a documented rule.
  • A no-data response is distinguished from provider failure.
  • The final result reports stale, incomplete, or rejected observations.

Security & Safety Notes

  • Use only public endpoints or data the user is authorized to access.
  • Do not place API keys, credentials, signed URLs, or private station data in examples, logs, caches, or provenance manifests.
  • Keep TLS certificate verification enabled.
  • Encode query parameters rather than concatenating untrusted station input into a URL.
  • Bound station count, time span, response size, retries, and parallelism.
  • Follow provider terms, rate limits, and attribution requirements.

Common Pitfalls

  • The latest METAR is old: The station has not reported recently. Apply the maximum-age contract and report staleness.
  • A station lookup returns the wrong site: ICAO, WMO, USAF/WBAN, and IGRA identifiers were treated as interchangeable. Preserve the identifier scheme.
  • Temperatures look extreme: Missing sentinels or units were converted as real values. Parse format metadata before unit conversion.
  • A sounding has too few levels: Only mandatory levels were retained or the launch was incomplete. Preserve significant levels and surface data.
  • An archive record moved: Station history changed. Join metadata by its effective period and record the selected version.

Limitations

  • Provider schemas, retention windows, station inventories, and usage limits can change; consult current official documentation.
  • Quality flags identify known conditions but do not guarantee that a measurement is scientifically suitable for a particular analysis.
  • This skill does not perform radar retrieval, satellite retrieval, model-data fetching, or forecast verification.

Additional Resources

© sickn33, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/weather-observation-fetching of sickn33/agentic-awesome-skills.

Open the folder on GitHubat commit b84d35a

Used in 1 other repository

We found 5 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in sickn33/agentic-awesome-skills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Weather Observation Fetching next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Weather Observation Fetching compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Weather Observation Fetching this skillsickn33/agentic-awesome-skills47k1 repos~2.7kAutomated safety check: PassMIT
Weatheropenclaw/openclaw392k—~726Automated safety check: PassMIT
Langsmith ObservabilityOrchestra-Research/AI-Research-SKILLs13k2 repos~2.4kAutomated safety check: PassMIT
ObservabilityBuilderIO/agent-native7.1k—~7.3kAutomated safety check: PassNone
Python Observabilitywshobson/agents40k—~1.8kAutomated safety check: PassMIT
Weatheriflytek/skillhub5.2k—~734Automated safety check: PassMIT

Similar skills

  • Weather

    openclaw/openclaw

    Current weather and forecasts with webfetch, falling back to wttr.in curl for locations, rain, temperature, travel planning.

    392k GitHub stars~726 tokensUpdated today
    Auto-check passed
  • Langsmith Observability

    Orchestra-Research/AI-Research-SKILLs

    LLM observability platform for tracing, evaluation, and monitoring.

    13k GitHub starsUsed in 2 repos~2.4k tokens
    AI & LLM EngineeringAuto-check passed
  • Observability

    BuilderIO/agent-native

    Agent observability, evals, feedback, and experiments. An agent skill from BuilderIO/agent-native.

    7.1k GitHub stars~7.3k tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • Python Observability

    wshobson/agents

    Python observability patterns including structured logging, metrics, and distributed tracing.

    40k GitHub stars~1.8k tokensUpdated 6 days ago
    DevOps & CloudAuto-check passed
  • Weather

    iflytek/skillhub

    Retrieve and summarize current weather and forecasts for locations, rain, temperature, and travel planning using an available web tool or wttr.in over HTTPS.

    5.2k GitHub stars~734 tokensUpdated yesterday
    Auto-check passed
  • Observability Designer

    alirezarezvani/claude-skills

    Design production-ready observability strategies combining metrics, logs, and traces.

    28k GitHub stars~3.5k tokensUpdated 1 mo ago
    DevOps & CloudAuto-check passed

More from sickn33/agentic-awesome-skills

All 1,497 skills in this repo
  • Liuguang Banlan UI

    sickn33/agentic-awesome-skills

    Implements an interface in one of two named color modes, iridescent white or colorful black, from a parameterized starter that reports measured color intensity.

    47k GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed
  • User Thoughts Memory

    sickn33/agentic-awesome-skills

    Saves a user's project decisions, rules and preferences into a project-local mdbase so later sessions and other agents can recover the intent.

    47k GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed
  • Using LWC Memory and Graphs

    sickn33/agentic-awesome-skills

    Keeps project decisions, research and verified results available across coding-agent sessions through LWC memory, a document Wiki graph and a CodeGraph code index.

    47k GitHub starsUsed in 1 repo~2k tokens
    Auto-check passed
  • Find Complementary Founders

    sickn33/agentic-awesome-skills

    Guides an agent through assessing its own owner for cofounder fit, publishing an approved profile, and ranking complementary profiles other agents published for their owners.

    47k GitHub starsUsed in 1 repo~4.8k tokens
    Auto-check passed
  • Whatsapp Cloud API

    sickn33/agentic-awesome-skills

    Integracao com WhatsApp Business Cloud API (Meta). An agent skill from sickn33/agentic-awesome-skills.

    47k GitHub starsUsed in 2 repos~4.5k tokens
    Auto-check passed
  • Cline Pilot

    sickn33/agentic-awesome-skills

    Acts as a proxy for the Cline CLI, dispatching coding tasks one at a time, monitoring runs by hard evidence, relaying decisions to you and learning per-project preferences.

    47k GitHub starsUsed in 1 repo~4.6k tokens
    Auto-check passed

Questions about Weather Observation Fetching

What does Weather Observation Fetching do?

Retrieve surface and upper-air weather observations from authoritative APIs and archives with station identity, time, units, and quality flags preserved. Weather Observation Fetching is an agent skill from sickn33/agentic-awesome-skills. Retrieve surface and upper-air weather observations from authoritative APIs and archives with station identity, time, units, and quality flags preserved.

How do I install Weather Observation Fetching in Claude Code?

Run `npx skills add sickn33/agentic-awesome-skills --skill weather-observation-fetching -a claude-code`. Or copy the skill folder (skills/weather-observation-fetching in sickn33/agentic-awesome-skills) into .claude/skills/weather-observation-fetching in your project. Claude Code loads it when a task matches its description.

How do I install Weather Observation Fetching in Codex?

Run `npx skills add sickn33/agentic-awesome-skills --skill weather-observation-fetching -a codex`. Or copy the skill folder (skills/weather-observation-fetching in sickn33/agentic-awesome-skills) into .agents/skills/weather-observation-fetching in your project. Codex loads it when a task matches its description.

Can I use Weather Observation Fetching in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add sickn33/agentic-awesome-skills --skill weather-observation-fetching -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/weather-observation-fetching, .gemini/skills/weather-observation-fetching, .github/skills/weather-observation-fetching and .opencode/skills/weather-observation-fetching in your project.

What does Weather Observation Fetching need to run?

SKILL.md names no scripts, command-line tools or credentials: Weather Observation Fetching is instructions for the agent only. Our summary lists: Python 3.

Does Weather Observation Fetching access the network?

SKILL.md names 2 domains. In commands or code: aviationweather.gov; the agent is likely to contact it when it follows the instructions. As links in the text: ncei.noaa.gov. This is read from the text; nothing was executed.

Is Weather Observation Fetching safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Weather Observation Fetching use?

Weather Observation Fetching is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Weather Observation Fetching use?

About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Weather Observation Fetching?

Skills that share tags, products or a category with Weather Observation Fetching: Weather (openclaw/openclaw, 392k stars), Langsmith Observability (Orchestra-Research/AI-Research-SKILLs, 13k stars), Observability (BuilderIO/agent-native, 7.1k stars) and Python Observability (wshobson/agents, 40k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Weather Observation Fetching?

sickn33 (a GitHub user) maintains it in sickn33/agentic-awesome-skills, which has 47,405 GitHub stars. The repository holds 1,497 skills in this directory. The repository was last updated on October 9, 2026.

Source: sickn33/agentic-awesome-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.