Install
$ agentstack add skill-pigfoot-claude-code-hubs-taiwan-mrt-fareastern-empty-train ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Taiwan MRT Far Eastern Hospital Empty Train Finder
Identifies trains that originate at 亞東醫院 station (空車) vs those arriving from 海山 station. Empty trains are less crowded because no passengers have boarded yet.
Background
The Bannan line (板南線) terminates at 頂埔 on the west end. Trains departing from 亞東醫院 are "empty trains" (空車) — they originate here with no passengers. Trains coming from 海山 (3 minutes west) already have riders.
Travel time: 海山 → 亞東醫院 ≈ 3 minutes
When to Use
Trigger when user asks about:
- 亞東醫院 空車 / empty trains at Far Eastern Hospital station
- 捷運空車 / which trains are less crowded
- 幾點有空車 / when are the empty trains
- 下一班空車 / next empty train
Workflow
Step 1: Determine Day Type
Always determine the correct day type BEFORE running the script.
Use the taiwan-calendar skill to check if the query date is a holiday or working day. Run taiwan_calendar.py check from within the taiwan-calendar skill directory.
Map the result to a --day-type value:
| taiwan-calendar output | Weekday | --day-type | |------------------------|---------|--------------| | 非工作日 (國定假日 or Sunday) | any | sunday_holiday | | 非工作日 (Saturday, not 補班) | Sat | saturday | | 工作日 (including 補班 on Saturday) | Mon–Thu | mon_thu | | 工作日 | Friday | friday |
> If taiwan-calendar skill is unavailable: Omit --day-type entirely. The script > falls back to weekday-based detection (no holiday awareness).
Step 2: Run the Script
From this skill's directory (skills/taiwan-mrt-fareastern-empty-train/):
# Show next N empty trains (空車 only)
uv run --managed-python ${CLAUDE_SKILL_DIR}/scripts/mrt_empty_train.py query \
--day-type \
--time HH:MM \
--count 5
# Show all trains with 空車/海山發 labels
uv run --managed-python ${CLAUDE_SKILL_DIR}/scripts/mrt_empty_train.py all \
--day-type \
--time HH:MM \
--count 10
Commands
query — Next Empty Trains
Shows the next N trains that originate at 亞東醫院 (空車 only).
uv run --managed-python ${CLAUDE_SKILL_DIR}/scripts/mrt_empty_train.py query \
--day-type mon_thu \
--time 08:30 \
--count 5
Output:
亞東醫院 空車班次 (平常日(週一至週四)),08:30 之後:
08:30 空車
08:34 空車
08:37 空車
08:44 空車
08:50 空車
all — All Trains with Labels
Shows all trains after the query time, labelled 空車 or 海山發.
uv run --managed-python ${CLAUDE_SKILL_DIR}/scripts/mrt_empty_train.py all \
--day-type mon_thu \
--time 06:00 \
--count 7
Output:
亞東醫院 班次列表 (平常日(週一至週四)),06:00 之後:
06:00 空車
06:05 空車
06:10 海山發
06:17 海山發
06:21 空車
06:25 海山發
06:30 海山發
refresh — Force Re-download
Downloads latest PDFs from TRTC and regenerates cache.
uv run --managed-python ${CLAUDE_SKILL_DIR}/scripts/mrt_empty_train.py refresh
Parameters
| Parameter | Description | |-----------|-------------| | --time HH:MM | Query time (default: current time) | | --date YYYY-MM-DD | Query date for fallback weekday detection (default: today) | | --day-type TYPE | Day type: mon_thu, friday, saturday, sunday_holiday | | --holiday | Force Sunday/Holiday timetable | | --count N | Max results to show | | --travel-time MIN | 海山→亞東醫院 travel time in minutes (default: 3) |
Cache
- Location:
~/.cache/taiwan-mrt/ - Valid for: 7 days (auto-refreshes when stale)
- Force refresh:
refreshcommand
Full Example
User: 現在幾點有空車?
Step 1 — Get day type via taiwan-calendar:
uv run --managed-python scripts/taiwan_calendar.py check 2026-02-25
→ "2026-02-25 (週三) 是工作日。"
→ day type = mon_thu
Step 2 — Query empty trains:
uv run --managed-python ${CLAUDE_SKILL_DIR}/scripts/mrt_empty_train.py query --day-type mon_thu
Troubleshooting
PDF download fails
- Check network connectivity
- TRTC may have updated PDF URLs; check
- URLs in script:
https://web.metro.taipei/img/ALL/timetables/080a.PDF
Empty output
- Try
refreshto re-download the latest timetable - Verify
--day-typematches the actual date
Unexpected results
- Run
refreshto re-parse the latest PDFs - Column x-coordinates may need adjustment if TRTC updated PDF layout
(see COLUMN_DEFS constant in scripts/mrt_empty_train.py)
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: pigfoot
- Source: pigfoot/claude-code-hubs
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.