Daily flight-fare intelligence for business travel. Use when users need to survey current public airfare, compare it with internal or agency quotes, and generate recommendation-ready outputs (save-money alternatives, same-price better-flight options, and time-shift suggestions). Trigger on requests about pre-approval trip pricing checks, fare gap analysis, route/date watchlists, or daily airfare report generation from CSV data.
Run a repeatable daily workflow for airfare monitoring and quote comparison. Use public web prices for decision support without integrating approval systems or airline private APIs.
Read references/data-contract.md before processing files.
Use CSV as the default exchange format:
internal_quotes.csv: company or agency quoted farespublic_fares.csv: externally collected current fareswatchlist.csv: routes and travel windows to monitor dailyscripts/build_watchlist.py from internal quote files.playwright skill) or user-provided exports.public_fares.csv with source URL and timestamp.references/public-source-playbook.md.scripts/compare_quotes.py.references/recommendation-rules.md.save-money, same-price-better, time-shift, monitor, or no-data.Use exactly these categories:
save-money: Public fare is materially cheaper than internal quote.same-price-better: Price is similar but quality is better (airline/stops/time window).time-shift: Small departure or return time shift gives meaningful savings.monitor: No strong alternative now; keep tracking.no-data: Missing comparable public data.If Python is not globally available, run scripts with uv:
uv run --python 3.11 scripts/build_watchlist.py \
--internal data/internal_quotes.csv \
--out data/watchlist.csv
uv run --python 3.11 scripts/compare_quotes.py \
--internal data/internal_quotes.csv \
--public data/public_fares.csv \
--out-report outputs/daily-fare-report.md \
--out-csv outputs/recommendations.csv
Return: