원클릭으로
airac-update
Update AIP data for a new AIRAC cycle (web sources + autorouter), verify changes, and optionally commit/push
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Update AIP data for a new AIRAC cycle (web sources + autorouter), verify changes, and optionally commit/push
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Deploy the flyfun-apps web app to production on maps.flyfun.aero
Start or restart the local dev server (backend + frontend) in a tmux session
Review aviation agent code changes for architecture compliance. Use when reviewing changes to shared/aviation_agent/, web/server/api/aviation_agent_chat.py, or configs/aviation_agent/. Verifies UI payload stability, tool name consistency, state management patterns, and LangGraph best practices.
Analyze aviation agent planner behavioral test results and apply improvement workflow. Use when: running planner tests, adding test cases to planner_test_cases.json, analyzing test failures, improving planner prompts, validating planner improvements, or working with tests/aviation_agent/ test infrastructure.
Review iOS app code changes for FlyFun EuroAIP architecture compliance. Use when reviewing Swift code in app/FlyFunEuroAIP/, checking architecture patterns, or validating adherence to designs/IOS_APP_DESIGN.md. Verifies RZFlight model reuse, composed AppState pattern, repository abstraction, and platform-specific UI patterns.
Review code changes in web/client/ts/ for compliance with architecture principles. Use when reviewing TypeScript UI code, checking store patterns, or validating separation of concerns. Verifies Zustand store as single source of truth, reactive updates, and proper component communication patterns.
| name | airac-update |
| description | Update AIP data for a new AIRAC cycle (web sources + autorouter), verify changes, and optionally commit/push |
Run this after each AIRAC cycle to update all AIP data, verify the results, and commit.
source venv/bin/activategit status data/)python tools/aipchange.py --airac list
If no airac_updates table exists yet, fall back to checking update dates:
python -c "import sqlite3; conn=sqlite3.connect('data/airports.db'); print(conn.execute('SELECT DISTINCT date(updated_at) as d FROM aip_entries ORDER BY d DESC LIMIT 5').fetchall())"
python tools/data_update.py web
This fetches AIP from web sources and syncs derived data (notifications + AIP fields in ga_persona.db).
To fetch a specific AIRAC cycle (e.g., when catching up on multiple cycles), pass --airac-date to the underlying aipexport.py. The data_update.py wrapper doesn't support this directly, so run aipexport.py manually:
python tools/aipexport.py --database data/airports.db --france-web --uk-web --norway-web --database-storage data/airports.db -c cache --airac-date YYYY-MM-DD
Then sync derived data with: python tools/data_update.py aip
python tools/data_update.py autorouter ED EB LO
This fetches AIP via autorouter for airports with existing AIP entries in those prefixes, then syncs derived data. Note: autorouter doesn't support AIRAC date selection — it always fetches the latest available data.
Run these checks and present results to the user:
python tools/aipchange.py --since today --summary
Show customs/immigration changes:
python tools/aipchange.py --since today --field "Customs and immigration"
Show ATS changes:
python tools/aipchange.py --since today --field "ATS"
Show Fuelling changes:
python tools/aipchange.py --since today --field "Fuelling"
Verify ga_notifications.db was updated — check for any airports with confidence 0.0 (failed extraction):
sqlite3 data/ga_notifications.db "SELECT icao, rule_type, confidence, summary FROM ga_notification_requirements WHERE confidence < 0.3 ORDER BY confidence ASC LIMIT 10;"
Check total airport counts are reasonable:
sqlite3 data/airports.db "SELECT substr(airport_icao, 1, 2) as prefix, count(*) as cnt FROM aip_entries GROUP BY prefix ORDER BY cnt DESC;"
Format a clear summary with:
Then ask: "Are you happy with these changes? Should I commit and push?"
Stage only the data files:
git add data/airports.db data/ga_notifications.db data/ga_persona.db
Commit with AIRAC cycle reference:
git commit -m "data: update AIP data for AIRAC cycle YYYY-MM-DD
- Web sources: France, UK, Norway
- Autorouter: ED (Germany), EB (Belgium), LO (Austria)
- N airports changed, N notification rules updated
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>"
Then push:
git push origin main