把已訂的航班行程加進使用者的 Google Calendar,一段航班建一個事件、正確處理跨時區、傍晚抵達或清晨起飛的航段標夕陽/日出座位。當使用者提供機票訂位 / e-ticket / PNR / 航班明細(或指向一個訂位檔),並說「把航班加到行事曆」「行程上 calendar」「加這趟飛機到日曆」之類時使用。 English triggers: "add my flights to the calendar", "put the trip on my calendar", "add this flight to my calendar".
Scanned 9/3/2026
Install to Claude Code
npx -y skills add tingyulu/MyR2D2 --skill flight-to-calendar --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Flight To Calendar?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/tingyulu-flight-to-calendar)More formats (shields.io, HTML) on the badges page.
---
name: flight-to-calendar
description: '把已訂的航班行程加進使用者的 Google Calendar,一段航班建一個事件、正確處理跨時區、傍晚抵達或清晨起飛的航段標夕陽/日出座位。當使用者提供機票訂位 / e-ticket / PNR / 航班明細(或指向一個訂位檔),並說「把航班加到行事曆」「行程上 calendar」「加這趟飛機到日曆」之類時使用。 English triggers: "add my flights to the calendar", "put the trip on my calendar", "add this flight to my calendar".'
---
# flight-to-calendar — 航班上行事曆
把使用者**已經訂好**的航班行程加進 Google Calendar。
> 🤖 R2-D2 時刻:astromech droid 的本職就是導航 —— 算航線、記座標、
> 在 Luke 分心的時候把該記的都記好。
## 🚦 鐵則(每一條都是踩過坑換來的)
1. **絕不編造航班**。所有航班號、起降時刻、機型一律來自使用者提供的訂位明細或檔案。缺哪一段、哪個時間沒寫 → **直接問**,不要猜、不要用「常見班表」腦補。動手前先把每段資料對齊。
2. **一段航班 = 一個事件**。經轉機的去程 = 2 個事件,中間的轉機空檔就會自然顯示在行事曆上。不要把整趟塞成一個大事件。
3. **跨時區處理(最容易錯,務必照做)**:
- 每個事件的 `timeZone` = **出發機場**的 IANA 時區。
- `startTime` = 出發地當地時刻;`endTime` = **把抵達地當地時刻換算回「出發時區」**後的時刻(這樣事件時長才正確)。
- ⚠️ 不同機場時區可能不同,鄰近國家尤其小心(+9 vs +8 這種一小時差最會漏):
- **UTC+8**:台北 TPE / 香港 HKG / 馬尼拉 MNL / 上海 PVG / 吉隆坡 KUL / 新加坡 SIN
- **UTC+9**:首爾 ICN / 東京 NRT·HND / 大阪 KIX / 名古屋 NGO / 福岡 FUK / 札幌 CTS
- **UTC+7**:曼谷 BKK / 河內 HAN / 胡志明 SGN / 雅加達 CGK
- Google 會依使用者「當下所在時區」自動換算顯示,所以只要存進去的**時刻點(instant)正確**就好;當地時刻寫進描述欄供對照。
**換算範例**(CX418 HKG 14:25 → ICN 19:05):
- HKG 是 +8、ICN 是 +9。
- `timeZone` = `Asia/Hong_Kong`、`startTime` = `...T14:25:00`。
- 抵達 ICN 當地 19:05(+9)換回 HKG(+8)= **18:05** → `endTime` = `...T18:05:00`。
- 時長 = 3h40m(正確);描述欄註明「抵 ICN 當地 19:05(KST/UTC+9)」。
4. **標題格式**:`✈️ <航班號> <出發機場>→<抵達機場>(<PNR>)`
- 預設**不寫艙等**(行事曆是給自己看的,不是炫耀用的;使用者要就照加)。
- 例:`✈️ CX489 TPE→HKG(D8M7E7)`
5. **夕陽 / 日出座位**:若航段會撞到 magic hour(傍晚抵達看夕陽、清晨起飛看日出),算出該坐哪側並標在標題或描述。
- 原則(夕陽=太陽在西):往**東北**飛→**左(A)**;往**東南**→**右(K)**;往**西南**→**右(K)**;往**西北**→**左(A)**;正東/正西兩側皆可。
- **日出(太陽在東)一律反過來**。
- 已知例:HKG→TPE(東北)夕陽左(A)、HKG→MNL(東南)夕陽右(K)。
6. **顏色**:`colorId` = `7`(Peacock 藍綠),統一標航班,一眼掃出旅程。
7. **描述欄**放:航班號+機型、起降機場(含航廈)+當地時刻、PNR、與前後段的接續關係、夕陽提示、跨時區註記。
## 步驟
1. **取資料**:對每一段航班,確認 航班號、出發機場(含航廈)、抵達機場(含航廈)、當地起降時刻、機型、PNR。資料若在某個檔案(e-ticket、行程主檔),先讀檔逐段核對;不確定就問使用者。
2. **算時區**:每段定 `timeZone`(出發機場)、`startTime`(出發當地)、`endTime`(抵達當地換回出發時區)。
3. **逐段建立**:用 Google Calendar 的 `create_event`(預設主行事曆)建每一段;可在一則訊息裡並行建多段。
4. **回報**:建完回貼每個事件的連結+一句重點(總段數、跨時區段的「當地 vs 顯示」提醒、夕陽座位)。
## 工具需求
- **Google Calendar MCP**(connector)的 `create_event` / `update_event` —— 這是本 skill 的硬依賴,沒接 Calendar connector 跑不了。
- 若你的環境把工具延遲載入(例如 Claude Code 的 ToolSearch),先載入 `create_event` 再呼叫。
- 預設主行事曆,除非使用者指定別的 calendar。
## 注意
- 這是把**已訂航班**登錄上行事曆,不是訂票、不是改票 → 不需要付款/外部送出動作,直接建事件即可。
- 若使用者後續要改時間/刪行程,用 `update_event` / 刪除,沿用同樣的時區與標題規則。
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!