home / skills / openclaw / skills / aviationstack-flight-tracker
This skill tracks flights in real time and presents status, gates, delays, and live position in a clear, Flighty-style view for quick updates.
npx playbooks add skill openclaw/skills --skill aviationstack-flight-trackerReview the files below or copy the command above to add this skill to your agents.
---
name: flight-tracker
version: 1.0.0
description: Track flights in real-time with detailed status, gate info, delays, and live position. Use when user asks to track a flight, check flight status, look up flight information by flight number (e.g., "track AA100", "what's the status of United 2402", "check my flight BA123"), or wants to display flight data in a formatted view similar to Flighty app.
---
# Flight Tracker
Track any flight worldwide using AviationStack API and display in a clean, Flighty-style format.
## Quick Start
Track a flight by its IATA code:
```bash
scripts/track_flight.py AA100
scripts/track_flight.py UA2402
scripts/track_flight.py BA123
```
## First-Time Setup
Before using this skill, you need an API key (one-time setup):
1. **Get a free API key** at https://aviationstack.com/signup/free (100 requests/month)
2. **Set environment variable:**
```bash
export AVIATIONSTACK_API_KEY='your-key-here'
```
3. **Install dependencies:**
```bash
pip3 install requests
```
For detailed setup instructions, see [api-setup.md](references/api-setup.md).
## Output Format
The skill displays flight information in a clean, readable format with:
- âī¸ Airline and flight number
- đŠī¸ Aircraft type and registration
- đĢ Departure airport, terminal, gate, times
- đŦ Arrival airport, terminal, gate, times
- đ Flight status with visual indicators
- âąī¸ Delay calculations (if applicable)
- đ Live position, altitude, speed (when airborne)
Status indicators:
- đĸ Active/Airborne/En-route
- â
Landed/Arrived
- đĄ Scheduled
- đ Delayed
- đ´ Cancelled
## Advanced Usage
**Get raw JSON data:**
```bash
scripts/track_flight.py AA100 --json
```
**Check help:**
```bash
scripts/track_flight.py --help
```
## Workflow
When a user asks to track a flight:
1. Extract the flight number from the request
2. Run the tracking script with the flight number
3. Present the formatted output to the user
4. If data is needed for further processing, use `--json` flag
## Flight Number Formats
Accept IATA flight codes:
- AA100 (American Airlines)
- UA2402 (United)
- BA123 (British Airways)
- DL456 (Delta)
The script automatically converts to uppercase and handles the lookup.
## Error Handling
The script handles common errors:
- Missing API key â Shows setup instructions
- Flight not found â Suggests verification
- API errors â Displays error message
- Rate limit exceeded â Indicates limit reached
## API Limits
Free tier: 100 requests/month. Track usage to stay within limits. For heavy usage, consider upgrading or alternative APIs (see references/api-setup.md).
## Notes
- Uses AviationStack free tier (no HTTPS on free plan)
- Real-time data updated frequently
- Historical flight data available
- Worldwide coverage (250+ countries, 13,000+ airlines)
This skill tracks flights in real time and presents a clean, Flighty-style status view including gate info, delays, and live position. It uses AviationStack to fetch flight status, aircraft details, departure/arrival times, and position data. The output is formatted for quick reading or as raw JSON for downstream processing.
The skill accepts an IATA flight code (e.g., AA100, UA2402, BA123), normalizes the input, and queries the AviationStack API for the latest status and telemetry. It parses response fields for airline, aircraft, terminals, gates, scheduled/actual times, delay calculations, and live position when available. Results are shown with visual status indicators and can be emitted as structured JSON with a --json flag.
What flight number formats are accepted?
IATA flight codes like AA100, UA2402, BA123. The skill uppercases and normalizes input automatically.
What happens if the API key is missing or rate-limited?
The skill displays setup instructions when the API key is missing and shows an explicit message if the API rate limit or other errors occur; consider upgrading the API plan for heavier use.
Can I get raw JSON for automation?
Yes. Use the --json flag to return the raw API response for integration into dashboards or other tools.