k-skill Features for Transportation Services in Korea: Complete CLI Skill Reference

The k-skill repository exposes eleven command-line transportation skills that enable developers to query schedules, reserve tickets, and check real-time status across Korean rail, bus, subway, bike-sharing, and road networks.

The open-source NomaDamas/k-skill project provides a standardized framework for Korean transit automation. These k-skill features for transportation services in Korea wrap official APIs and web interfaces into executable JSON-defined skills, allowing integration into chatbots and DevOps pipelines without managing low-level API contracts or authentication flows.

Available Transportation Skills by Mode

The repository organizes transportation capabilities by travel mode, each implemented as a standalone skill with dedicated documentation and scripts.

High-Speed Rail Reservations

Bus Networks

Urban Transit and Routing

  • Seoul subway arrival (seoul-subway-arrival): Retrieve real-time arrival predictions for Seoul Metro lines using scripts/subway_arrival.py.

  • Korean transit route (korean-transit-route): Multi-modal journey planning across subway, bus, and walking modes, returning total time, cost, and transfer counts via scripts/transit_route.py.

Micro-Mobility and Road Data

  • Seoul bike (seoul-bike): Locate nearby bike-sharing stations and check dock availability through scripts/bike_nearby.py.

  • Highway traffic status (highway-traffic-status): Current congestion and incident reports for Korean expressways via scripts/traffic_status.py.

Infrastructure and Amenities

  • Parking-lot search (parking-lot-search): Find public parking facilities with pricing and vacancy data through scripts/parking_search.py.

  • EV charger nearby (ev-charger-nearby): Locate electric vehicle charging stations within a specified radius using scripts/ev_charger_search.py.

  • Public restroom nearby (public-restroom-nearby): Query nearest public restroom facilities for travelers via scripts/restroom_search.py.

Skill Architecture and File Structure

Each transportation skill follows a consistent three-file pattern according to the source code:

  1. Skill definition: packages/k-skill-cli/skills/<skill-name>/skill.json declares the CLI interface, input parameters, and output schema.

  2. Documentation: <skill-name>/SKILL.md provides human-readable instructions, flow diagrams, and environment variable requirements.

  3. Implementation: scripts/<skill_file>.py (or .js for Node-based skills) contains the operational logic that calls public APIs or official websites.

For example, the KTX booking skill references packages/k-skill-cli/skills/ktx-booking/skill.json for its interface contract, while the executable logic lives in scripts/ktx_booking.py alongside its ktx-booking/SKILL.md documentation.

Authentication and Proxy Configuration

Transportation skills requiring credentials use a hierarchical secret resolution system. High-speed rail bookings require KSKILL_KTX_ID and KSKILL_KTX_PASSWORD (or SRT equivalents), while public API skills utilize the k-skill-proxy service.

The repository ships a template at ~/.config/k-skill/secrets.env for local development. For public data APIs (e.g., transit Open APIs), requests route through k-skill-proxy, which injects DATA_GO_KR_API_KEY server-side to keep keys out of client code.

When official APIs are unavailable or require session-based interaction, skills fall back to the k-skill-browser-runtime (or CloakBrowser in "Dolshoi" mode) to safely drive official web UIs.

CLI Usage Examples

Invoke any transportation skill using the @nomadamas/k-skill CLI wrapper. All examples assume execution via npx:


# KTX: Search trains from Seoul to Busan on 2026-03-28 at 09:00

npx -y @nomadamas/k-skill@0 exec ktx-booking scripts/ktx_booking.py -- search 서울 부산 20260328 090000 --limit 5

# SRT: Display seat map for a specific train

npx -y @nomadamas/k-skill@0 exec srt-booking scripts/srt_booking.py -- seats 서울 부산 20260328 090000 --train-id <train_id>

# Express bus: KOBUS routes between Gyeongju and Busan

npx -y @nomadamas/k-skill@0 exec express-bus-booking scripts/express_bus_search.py -- search 경주 부산 20260401 070000

# Intercity bus: T-Money timetable from Daejeon to Gwangju

npx -y @nomadamas/k-skill@0 exec intercity-bus-booking scripts/intercity_bus_search.py -- search 대전 광주 20260515 080000

# Seoul subway: Real-time arrivals for Line 2 at Gangnam Station

npx -y @nomadamas/k-skill@0 exec seoul-subway-arrival scripts/subway_arrival.py -- line 2 -- station 강남

# Multi-modal route: Gangnam Station to Incheon Airport

npx -y @nomadamas/k-skill@0 exec korean-transit-route scripts/transit_route.py -- from 강남역 -- to 인천공항

# Seoul bike: Nearby docks from GPS coordinates

npx -y @nomadamas/k-skill@0 exec seoul-bike scripts/bike_nearby.py -- lat 37.517236 -- lng 127.047324

# Highway traffic: Congestion on Gyeongbu Expressway

npx -y @nomadamas/k-skill@0 exec highway-traffic-status scripts/traffic_status.py -- highway 경부고속도로

# Parking: Public lots near Myeongdong under 5,000 KRW

npx -y @nomadamas/k-skill@0 exec parking-lot-search scripts/parking_search.py -- location 명동 -- max-price 5000

# EV charging: Fast chargers within 2km

npx -y @nomadamas/k-skill@0 exec ev-charger-nearby scripts/ev_charger_search.py -- lat 37.564212 -- lng 126.977969 -- radius 2000

Summary

  • k-skill features for transportation services in Korea provide CLI access to eleven distinct transit modes including rail, bus, subway, and EV infrastructure.
  • Each skill follows a standardized architecture: skill.json for interface definition, SKILL.md for documentation, and scripts/<name>.py for implementation.
  • Authentication leverages environment variables (e.g., KSKILL_KTX_ID) and the k-skill-proxy service for secure API key management.
  • Browser fallback mechanisms handle web-only reservation flows via k-skill-browser-runtime.
  • All skills are invocable through the @nomadamas/k-skill npm package using the exec command pattern.

Frequently Asked Questions

How do I authenticate with Korean rail services using k-skill?

Set environment variables KSKILL_KTX_ID and KSKILL_KTX_PASSWORD for Korail services, or their SRT equivalents, in your ~/.config/k-skill/secrets.env file. The scripts/ktx_booking.py and scripts/srt_booking.py implementations read these credentials at runtime to execute reservation flows.

What is the difference between express-bus-booking and intercity-bus-booking?

Express-bus-booking targets KOBUS high-speed express buses operating on major trunk routes, while intercity-bus-booking queries the T-Money system for standard intercity services with different pricing structures and stop patterns. Each skill uses distinct endpoints: express_bus_search.py for KOBUS and intercity_bus_search.py for T-Money.

How does k-skill handle APIs that require browser interaction?

When an official API surface is unavailable or requires session-based authentication, the skill delegates to k-skill-browser-runtime or CloakBrowser in "Dolshoi" mode. This runtime safely automates the official web UI, extracting data or completing reservations while keeping the automation logic separate from the API wrappers in scripts/.

Can I use these transportation skills in automated production pipelines?

Yes. The skills are designed for automation via the npx -y @nomadamas/k-skill@0 exec interface. Ensure you configure the ~/.config/k-skill/secrets.env template with production credentials and verify that k-skill-proxy is accessible for any public data API calls requiring DATA_GO_KR_API_KEY injection.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →