express-bus-booking
Search and assist Korean 고속버스/KOBUS bookings using official HTTP/API-first flows; use for 고속버스 예매, 시간표, 좌석 조회, 임시 선점, and official checkout-entry handoff.
Security Assessment
Detected risks:
About express-bus-booking
Express Bus Booking (KOBUS) is a travel-assistance skill for Korean 고속버스 (express intercity coach) reservations on the official KOBUS integrated-booking site (kobus.co.kr). It solves the problem of turning a natural-language request such as "고속버스 예매" or "고속버스 시간표" into a concrete, code-confirmed itinerary: it resolves route and terminal codes, queries timetables, inspects remaining seats and fares, and can place a short-lived temporary seat hold. The skill deliberately favors an HTTP/API-first workflow over browser automation, using the site's own AJAX and .do endpoints, and it is scoped explicitly to KOBUS 고속버스 routes, deferring 시외버스/Tmoney flows to a separate intercity-bus-booking skill.
The documented workflow proceeds through session establishment (cookie jar plus a realistic desktop User-Agent), route/terminal resolution via readRotLinInf.ajax, timetable lookup via alcnSrch.do, seat/fare staging via satschc.do, a temporary hold via setPcpy.ajax, and an explicit release via cancPcpy.ajax, ending at an official payment-entry page handoff. A bundled Python helper (kobus_express_booking.py) performs lookups and optional first-seat holds, saving a local auto-submit helper for the official KOBUS payment page. Reference notes record session-proven endpoint keys, example parameters, and verified routes such as 센트럴시티(서울) to 광주(유·스퀘어).
It targets Korean-speaking travelers and agents who want assisted reservation up to seat selection without automating the final card entry, which the skill insists must remain a manual, explicitly confirmed step. Useful for quickly checking schedules, comparing fares, and pre-holding a seat before a human completes payment.
FAQ
Does this skill complete the payment for me?
No. Its default scope stops at lookup, seat staging, temporary hold, and handoff to the official KOBUS payment-entry page. The documentation states final card entry and payment remain manual and must be explicitly confirmed by the user for that exact action.
Does it work for 시외버스 (Tmoney) routes?
No. It is intentionally limited to KOBUS 고속버스 routes because terminal codes, route structures, and checkout pages differ. The docs direct 시외버스/Tmoney flows to a separate intercity-bus-booking skill.
How does the temporary seat hold work and should I release it?
A successful hold via the setPcpy.ajax endpoint returns markers like MSG_CD=S0000 plus hold and seat identifiers. The skill treats holds as short-lived and instructs releasing them explicitly (via cancPcpy.ajax) if you do not proceed, are testing, or choose a different seat.
Is login required?
Per the probe notes, login was not required for route lookup, timetable lookup, seat-selection-page entry, temporary hold, or checkout-entry page display in the tested flow, though pages may render login or captcha forms that did not block the tested path.
How reliable is the HTTP flow?
The reference records session-proven results on specific dates and routes, and recommends a cookie jar, reused referers, a desktop User-Agent, and HTTP/1.1 during probing. Mobile behavior is noted as less stable due to client-side redirects.
Install express-bus-booking
Quick Setup:
- Copy the skill folder to
.claude/skills/ - Claude will automatically detect and use the skill
Repository
nomadamas/k-skill