Real-time aircraft tracking using the official FlightRadar24 API. Use when the user asks where a plane is, wants to track a flight by tail number or callsign, check aircraft status, get recent flight history for a specific aircraft, or asks "where is my flight", "track tail number", "is the plane in the air".
Tracks live aircraft positions and flight history using the FlightRadar24 API when asked about specific flights, tail numbers, or aircraft locations.
npx claudepluginhub omarshahine/agent-pluginsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
scripts/flight-map.pyTrack aircraft in real-time using the official FlightRadar24 API via MCP tools.
Use ToolSearch to load the FR24 MCP tools:
ToolSearch query: "+fr24api"
This loads all available FR24 tools. Key tools:
| Tool | Purpose | Key Parameters |
|---|---|---|
get_live_flights_positions_full | Real-time position by registration or callsign | registrations, callsigns, flights (arrays) |
get_flight_summary_full | Recent flight history with departure/arrival details | flights (array of flight numbers/callsigns) |
get_flight_tracks | Detailed positional track for a specific flight | flight_id |
get_airline_info | Airline details by ICAO/IATA code | code |
get_airport_info_full | Airport details and stats | code |
ToolSearch with +fr24apiget_live_flights_positions_full with registrations: ["N12345"]get_flight_summary_full with the callsign from step 2ToolSearch with +fr24apiget_live_flights_positions_full with callsigns: ["UAL456"] or flights: ["UAL456"]ToolSearch with +fr24apiget_flight_summary_full with the flight number or callsignPresent results clearly with:
To show the user a map, pipe FR24 data through flight-map.py:
echo '<JSON>' | python3 "${CLAUDE_PLUGIN_ROOT}/skills/flight-radar/scripts/flight-map.py" --stdin
The JSON should contain these fields (matching the map template):
{
"registration": "N12345",
"callsign": "UAL456",
"aircraft_model": "Boeing 737-800",
"aircraft_type": "B738",
"airline": "United Airlines",
"latitude": 37.1234,
"longitude": -122.5678,
"altitude_ft": 35000,
"ground_speed_kts": 420,
"heading": 270,
"on_ground": false,
"origin": "TEB",
"origin_city": "Teterboro",
"destination": "SFO",
"destination_city": "San Francisco",
"flight_status": "En Route",
"actual_departure": "2025-01-15 14:30 UTC",
"eta": "2025-01-15 20:15 UTC",
"recent_flights": [
{
"origin": "TEB",
"origin_city": "Teterboro",
"destination": "SFO",
"destination_city": "San Francisco",
"departure": "2025-01-14 08:00 UTC"
}
]
}
Map to these fields from the FR24 MCP tool responses. If a field isn't available, omit it — the map handles missing values gracefully.
# Save to a specific file
echo '<JSON>' | python3 "${CLAUDE_PLUGIN_ROOT}/skills/flight-radar/scripts/flight-map.py" --stdin --output map.html
# Generate without opening browser
echo '<JSON>' | python3 "${CLAUDE_PLUGIN_ROOT}/skills/flight-radar/scripts/flight-map.py" --stdin --no-open
The map shows:
If the aircraft data has status: "not_found" or is empty, it renders a styled "not tracked" card.
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.