Retrieve and decode real-world METAR and TAF aviation weather for airports. Use this skill whenever the user asks for "METAR", "TAF", "weather at [airport]", "conditions at [airport]", "what's the ceiling", "wind check", "altimeter setting", "flight category", or any request for current or forecast airport weather. Also trigger for phrases like "is the weather good at", "can I land VFR at", "what's the vis at", or just an ICAO code when the context implies weather (e.g., "KJFK weather"). Handles single airports or multiple at once. Provides decoded plain-language weather alongside raw METAR/TAF strings.
Retrieve and present real-world METAR observations and TAF forecasts in a quick, pilot-friendly format. Designed for fast lookups during flight planning or mid-flight.
Extract ICAO codes from the user's request. Accept:
If the user references a flight plan (e.g., "weather for my flight"), call
getLatestFlightPlanSummary first to extract departure, arrival, and alternate
ICAO codes — then proceed.
Call getAviationWeather with all ICAO codes in a single request and
includeTaf: true (always include TAF unless the user only asks for METAR):
getAviationWeather(icaoCodes: ["KJFK", "KORD", "KLAX"], includeTaf: true)
Both METAR and TAF come back in one call — no need for separate requests.
For each airport, present a compact block:
## KJFK — John F. Kennedy Intl 🟢 VFR
**METAR**
Wind 320° at 12 kt · Visibility 10+ sm · Few clouds at 4,500 ft
Temp 8°C / Dewpoint 2°C · Altimeter 30.12 inHg
`KJFK 171456Z 32012KT 10SM FEW045 08/02 A3012`
**TAF Summary**
Valid 17/1500Z – 18/1500Z
- Now–22Z: Winds 320/12, good visibility, few clouds 4,500 ft
- 22Z–04Z: Winds shifting 350/15G22, ceiling lowering BKN025, light rain likely
- After 04Z: Improving — SCT040, winds 010/10
Always show the flight category prominently with a color indicator:
Always decode every METAR into plain language. Key fields to present:
- light, (none) moderate, + heavy-TSRA → "Light thunderstorms with rain"Always include the raw METAR string in backticks below the decoded version.
Summarize the TAF in plain language organized by time periods:
Only show the raw TAF string if the user explicitly asks for it.
Use ⚠️ to flag operationally significant conditions:
getAviationWeather accepts an array of up to 10 ICAO codes. Always batch into
a single call rather than separate calls per airport.
If the user asks "which airport has better weather" or "compare conditions at":
Keep brief — one line: