Skip to content

omriariav/natbag-skill

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

natbag

Claude Code plugin for Ben Gurion Airport (TLV) flight data.

What it does

  • Live flights — Departures, arrivals, status, gates from data.gov.il
  • Destination weather — Current conditions via Open-Meteo (free, no API key)
  • Historical analysis — On-time performance, delay stats, cancellation rates from local SQLite DB
  • IATA reference — 999 airlines + 9,240 airports shipped with the plugin (no download needed)
  • Bilingual — Hebrew and English

Install

/install-plugin omriariav/natbag-skill

No setup required. On first use, the plugin automatically:

  1. Copies shipped data/db.db (airlines + airports) to ~/.natbag/flights.db
  2. Fetches live flight data from Ben Gurion Airport
  3. Starts accumulating historical data for delay analysis

Usage

The skill triggers automatically when you ask about TLV flights. You can also invoke it directly:

/natbag departures
/natbag arrivals
/natbag LY001
/natbag delayed

Example prompts

  • "Show me departures from Ben Gurion"
  • "Is flight LY001 on time?"
  • "When is the next flight to Amsterdam?"
  • "Any cancelled flights?"
  • "Weather in London for my flight"
  • "Are El Al flights to JFK usually delayed?"
  • "מה הטיסות היום מנתב״ג?"

How it works

Install → ships data/db.db (999 airlines, 6,072 airports)
                ↓
First use → copies IATA data into ~/.natbag/flights.db + fetches live flights
                ↓
Every use → PreToolUse hook runs snapshot.py (once daily, self-guards)
                ↓
Query → scripts return clean JSON → Claude formats for user
  • snapshot.py — fetches live flights, upserts into SQLite, imports IATA data on first run
  • query_flights.py — queries live API with filters (airline, destination, status)
  • query_history.py — queries local DB for historical stats, airport/airline lookups

Configuration

Settings are stored in ~/.natbag/config.json (created automatically on first use):

{
  "daily_snapshot": true,
  "last_snapshot": "2026-03-21T10:00:00+00:00"
}

Disable daily snapshots:

Tell Claude: "disable natbag daily snapshots"

Or manually:

python3 -c "import json; f=open('$HOME/.natbag/config.json','r+'); d=json.load(f); d['daily_snapshot']=False; f.seek(0); json.dump(d,f,indent=2); f.truncate()"

Data sources

Data Source Freshness
Flight data Israel Open Data Portal Live (rolling ~3 day window)
Weather Open-Meteo Live (geocoding by city name)
Airlines Wikipedia Shipped (March 2026), 999 airlines
Airports ip2location + OpenFlights Shipped (Dec 2025 + 2017 fallback), 9,240 airports

Changelog

Version Description
1.2.1 Version bump to force marketplace sync with v1.2.0 fixes
1.2.0 --date filter for accurate single-day counts, automatic pagination, input validation
1.1.0 Flight change history tracking — status/time/gate changes logged per snapshot
1.0.10 Fix hook protocol errors for non-natbag skills, file locking, atomic DB upgrades
1.0.9 Merged airport data (9,240 airports from ip2location + OpenFlights), city-name geocoding
1.0.8 Partial Hebrew search, user-agent header, input sanitization
1.0.7 Server-side --upcoming and --max filters
1.0.6 Fresh IATA data, clean JSON output, DB upgrade path
1.0.1 Fix hooks.json format for plugin schema
1.0.0 Initial release — live flights, weather, historical analysis, IATA reference

License

Flight data: data.gov.il terms.

Airport data is a modified merge of ip2location IATA/ICAO (CC BY-SA 4.0) and OpenFlights (ODbL-1.0). Airline data scraped from Wikipedia (CC BY-SA 4.0).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors