Skip to content
Automation
Skill

/book-yonsei-shuttle

Search, reserve, inspect, waitlist, and cancel Yonsei shuttle trips on Windows, macOS, or Linux through the official authenticated shuttle page using origin, destination, date, and time preferences, with internal access recovery. Use when a student asks to book a

From plugin
yonsei-skills
952 skills1 MCP
Install
$ npx -y skills add mrcha033/yonsei-skills --skill book-yonsei-shuttle --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/book-yonsei-shuttle

Context preview

The summary Claude sees to decide when to auto-load this skill.

Search, reserve, inspect, waitlist, and cancel Yonsei shuttle trips on Windows, macOS, or Linux through the official authenticated shuttle page using origin, destination, date, and time preferences, with internal access recovery. Use when a student asks to book a

SKILL.md

book-yonsei-shuttle.SKILL.md
name: book-yonsei-shuttle
description: Search, reserve, inspect, waitlist, and cancel Yonsei shuttle trips on Windows, macOS, or Linux through the official authenticated shuttle page using origin, destination, date, and time preferences, with internal access recovery. Use when a student asks to book a Sinchon–International Campus shuttle, manage an existing reservation, or continue either task after the official page fails to open.

Book Yonsei Shuttle

Follow the KTX-style sequence: search, shortlist, identify one exact trip, confirm the write, execute once, and verify the official result.

Preferred command path

Call `yonsei_student` with `intent: "shuttle"` and put origin, destination, date, time window, and reason in `request`. Present candidates from `primary_result`. After the student confirms one, repeat with its opaque `selection_id`, the requested action, and `confirmed: true`. Never expose DOM labels or row-matching terms.

Inputs

  • origin and destination campus
  • travel date
  • earliest or preferred departure time
  • latest acceptable departure time when relevant
  • reservation reason
  • whether waitlisting is acceptable

Workflow

1. Run `scripts/platform_support.py` internally and follow `references/cross-platform.md`. Reuse the student's persistent Yonsei browser profile and any already open official portal tab. Do not start an isolated headless browser. Open:

`https://underwood1.yonsei.ac.kr/com/lgin/SsoCtr/initExtPageWork.do?link=shuttle`

2. If login is required, leave the exact official page open and ask the student once to sign in there. Resume this workflow in the same browser profile. Never ask for the password in chat or inspect browser cookies, storage, or saved passwords. 3. If the official page does not open or the expected shuttle controls are missing, run the bundled read-only recovery check internally:

   python3 "$SKILL_DIR/scripts/diagnose_shuttle_access.py"

Use it only to distinguish direct connectivity, an authentication boundary, and a changed or unavailable official client. Do not expose a separate diagnostic workflow to the student. Continue the original booking request automatically when the page becomes usable; otherwise explain the one concrete recovery step. 4. Open **예약**, select the departure area and date, and read the live rows. Transcribe only the official fields listed in `references/official-browser-workflow.md`. Also read the active outbound and return trips for that date so the one-round-trip-per-day rule can be checked. 5. Run:

   python3 "$SKILL_DIR/scripts/prepare_shuttle_booking.py" --input "<temporary-json>"

6. Present up to five candidates with selector, vehicle, departure and arrival time, route, remaining seats, and waitlist status. 7. After one candidate is unambiguous, reload the official rows and match the selector again. Stop if the trip disappeared or any selector field changed. 8. Fill the reservation reason. Immediately before the final reservation or waitlist button, ask for confirmation naming the direction, date, time, vehicle, and whether it is a seat or waitlist request. 9. Click once. Do not retry an uncertain write. 10. Open **내역/취소** and verify the exact trip appears. Report the official seat number or waitlist state when shown.

Cancellation

Open **내역/취소**, identify the exact existing trip, ask for action-time confirmation, click once, and verify that it no longer appears in the active reservation list or that the official page reports cancellation.

Boundaries

  • Apply the displayed rules: one round trip per day, and cancellation or

rebooking only until 20 minutes before departure.

  • Never bypass NetFunnel, quotas, reservation dates, role rules, or seat rules.
  • The internal access check may fetch only the fixed official entry and public

client module. It must never submit SSO, call shuttle service endpoints, connect a VPN, or invoke any `save...` operation.

  • Do not poll aggressively.
  • Do not treat a prepared selector or button click as success; verify the

official reservation history.

  • If the result after a write is ambiguous, report `verification-required` and

do not repeat the request.

Read more
Ships withyonsei-skills

연세대학교 생활에서 자주 반복되는 확인·정리 작업을 자연어로 처리하는 비공식 오픈소스 플러그인 모음입니다. 연세대학교 공식 서비스가 아닙니다. 학교 계정 권한을 늘리거나 수강신청·출석·예약 제한을 우회하지 않습니다.

Get the whole plugin

Other skills on yonsei-skills.