skills$openclaw/seoul-metro
dukbong1.3kโ˜…

by dukbong

seoul-metro โ€“ OpenClaw Skill

seoul-metro is an OpenClaw Skills integration for coding workflows. Seoul Metro assistant for real-time arrivals, route planning, and service alerts (Korean/English)

1.3k stars9.7k forksSecurity L1
Updated Feb 7, 2026Created Feb 7, 2026coding

Skill Snapshot

nameseoul-metro
descriptionSeoul Metro assistant for real-time arrivals, route planning, and service alerts (Korean/English) OpenClaw Skills integration.
ownerdukbong
repositorydukbong/seoul-metro
languageMarkdown
licenseMIT
topics
securityL1
installopenclaw add @dukbong/seoul-metro
last updatedFeb 7, 2026

Maintainer

dukbong

dukbong

Maintains seoul-metro in the OpenClaw Skills directory.

View GitHub profile
File Explorer
3 files
.
_meta.json
275 B
README.md
783 B
SKILL.md
13.0 KB
SKILL.md

name: seoul-metro description: Seoul Metro assistant for real-time arrivals, route planning, and service alerts (Korean/English) metadata: {"moltbot":{"emoji":"๐Ÿš‡","requires":{"bins":["curl","jq"],"env":["SEOUL_OPENAPI_KEY","DATA_GO_KR_KEY"]},"primaryEnv":"SEOUL_OPENAPI_KEY"}} homepage: https://github.com/dukbong/seoul-metro user-invocable: true

Seoul Metro Skill

Query real-time Seoul Metro information.

Features

FeatureDescriptionTrigger Example (KO)Trigger Example (EN)
Real-time ArrivalTrain arrival times by station"๊ฐ•๋‚จ์—ญ ๋„์ฐฉ์ •๋ณด""Gangnam station arrivals"
Station SearchLine and station code lookup"๊ฐ•๋‚จ์—ญ ๋ช‡ํ˜ธ์„ ?""What line is Gangnam?"
Route SearchShortest path with time/fare"์‹ ๋„๋ฆผ์—์„œ ์„œ์šธ์—ญ""Sindorim to Seoul Station"
Service AlertsDelays, incidents, non-stops"์ง€ํ•˜์ฒ  ์ง€์—ฐ ์žˆ์–ด?""Any subway delays?"

Environment Variables

VariableUsageProvider
SEOUL_OPENAPI_KEYArrival info, station searchdata.seoul.go.kr
DATA_GO_KR_KEYRoute search, alertsdata.go.kr

How to get API keys:

  1. SEOUL_OPENAPI_KEY: Sign up at data.seoul.go.kr, go to "My Page" > "API Key Management"
  2. DATA_GO_KR_KEY: Sign up at data.go.kr, search for the API service, and request access

API Reference

Endpoint

http://swopenAPI.seoul.go.kr/api/subway/{KEY}/json/realtimeStationArrival/{start}/{end}/{station}

Response Fields

FieldDescription
subwayIdLine ID (1002=Line 2, 1077=Sinbundang)
trainLineNmDirection (e.g., "์„ฑ์ˆ˜ํ–‰ - ์—ญ์‚ผ๋ฐฉ๋ฉด")
arvlMsg2Arrival time (e.g., "4๋ถ„ 20์ดˆ ํ›„")
arvlMsg3Current location
btrainSttusTrain type (์ผ๋ฐ˜/๊ธ‰ํ–‰)
lstcarAtLast train (0=No, 1=Yes)

Endpoint

http://openapi.seoul.go.kr:8088/{KEY}/json/SearchInfoBySubwayNameService/{start}/{end}/{station}

Response Fields

FieldDescription
STATION_CDStation code
STATION_NMStation name
LINE_NUMLine name (e.g., "02ํ˜ธ์„ ")
FR_CODEExternal station code

3. Route Search

Endpoint

https://apis.data.go.kr/B553766/path/getShtrmPath

Parameters

ParameterRequiredDescription
serviceKeyYesDATA_GO_KR_KEY
dptreStnNmYesDeparture station
arvlStnNmYesArrival station
searchDtYesDatetime (yyyy-MM-dd HH:mm:ss)
dataTypeYesJSON
searchTypeNoduration / distance / transfer

Response Fields

FieldDescription
totalDstcTotal distance (m)
totalreqHrTotal time (seconds)
totalCardCrgFare (KRW)
paths[].trainnoTrain number
paths[].trainDptreTmDeparture time
paths[].trainArvlTmArrival time
paths[].trsitYnTransfer flag

4. Service Alerts

Endpoint

https://apis.data.go.kr/B553766/ntce/getNtceList

Parameters

ParameterRequiredDescription
serviceKeyYesDATA_GO_KR_KEY
dataTypeYesJSON
pageNoNoPage number
numOfRowsNoResults per page
lineNmNoFilter by line

Response Fields

FieldDescription
noftTtlAlert title
noftCnAlert content
noftOcrnDtTimestamp
lineNmLstAffected line(s)
nonstopYnNon-stop flag
xcseSitnBgngDtIncident start
xcseSitnEndDtIncident end

Line ID Mapping

LineIDLineID
Line 11001Line 61006
Line 21002Line 71007
Line 31003Line 81008
Line 41004Line 91009
Line 51005Sinbundang1077
Gyeongui-Jungang1063Gyeongchun1067
Airport Railroad1065Suin-Bundang1075

Station Name Mapping (English โ†’ Korean)

์ฃผ์š” ์—ญ ์ด๋ฆ„์˜ ์˜์–ด-ํ•œ๊ธ€ ๋งคํ•‘ ํ…Œ์ด๋ธ”์ž…๋‹ˆ๋‹ค. API ํ˜ธ์ถœ ์‹œ ์˜์–ด ์ž…๋ ฅ์„ ํ•œ๊ธ€๋กœ ๋ณ€ํ™˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Line 1 (1ํ˜ธ์„ )

EnglishKoreanEnglishKorean
Seoul Station์„œ์šธ์—ญCity Hall์‹œ์ฒญ
Jonggak์ข…๊ฐJongno 3-ga์ข…๋กœ3๊ฐ€
Jongno 5-ga์ข…๋กœ5๊ฐ€Dongdaemun๋™๋Œ€๋ฌธ
Cheongnyangni์ฒญ๋Ÿ‰๋ฆฌYongsan์šฉ์‚ฐ
Noryangjin๋…ธ๋Ÿ‰์ง„Yeongdeungpo์˜๋“ฑํฌ
Guro๊ตฌ๋กœIncheon์ธ์ฒœ
Bupyeong๋ถ€ํ‰Suwon์ˆ˜์›

Line 2 (2ํ˜ธ์„ )

EnglishKoreanEnglishKorean
Gangnam๊ฐ•๋‚จYeoksam์—ญ์‚ผ
Samseong์‚ผ์„ฑJamsil์ž ์‹ค
Sindorim์‹ ๋„๋ฆผHongdae (Hongik Univ.)ํ™๋Œ€์ž…๊ตฌ
Hapjeongํ•ฉ์ •Dangsan๋‹น์‚ฐ
Yeouido์—ฌ์˜๋„Konkuk Univ.๊ฑด๋Œ€์ž…๊ตฌ
Seolleung์„ ๋ฆ‰Samsung์‚ผ์„ฑ
Sports Complex์ข…ํ•ฉ์šด๋™์žฅGangbyeon๊ฐ•๋ณ€
Ttukseom๋š์„ฌSeongsu์„ฑ์ˆ˜
Wangsimni์™•์‹ญ๋ฆฌEuljiro 3-ga์„์ง€๋กœ3๊ฐ€
Euljiro 1-ga์„์ง€๋กœ์ž…๊ตฌCity Hall์‹œ์ฒญ
Chungjeongno์ถฉ์ •๋กœEwha Womans Univ.์ด๋Œ€
Sinchon์‹ ์ดŒSadang์‚ฌ๋‹น
Nakseongdae๋‚™์„ฑ๋Œ€Seoul Nat'l Univ.์„œ์šธ๋Œ€์ž…๊ตฌ
Guro Digital Complex๊ตฌ๋กœ๋””์ง€ํ„ธ๋‹จ์ง€Mullae๋ฌธ๋ž˜

Line 3 (3ํ˜ธ์„ )

EnglishKoreanEnglishKorean
Gyeongbokgung๊ฒฝ๋ณต๊ถAnguk์•ˆ๊ตญ
Jongno 3-ga์ข…๋กœ3๊ฐ€Chungmuro์ถฉ๋ฌด๋กœ
Dongguk Univ.๋™๋Œ€์ž…๊ตฌYaksu์•ฝ์ˆ˜
Apgujeong์••๊ตฌ์ •Sinsa์‹ ์‚ฌ
Express Bus Terminal๊ณ ์†ํ„ฐ๋ฏธ๋„Gyodae๊ต๋Œ€
Nambu Bus Terminal๋‚จ๋ถ€ํ„ฐ๋ฏธ๋„Yangjae์–‘์žฌ
Daehwa๋Œ€ํ™”Juyeop์ฃผ์—ฝ

Line 4 (4ํ˜ธ์„ )

EnglishKoreanEnglishKorean
Myeongdong๋ช…๋™HoehyeonํšŒํ˜„
Seoul Station์„œ์šธ์—ญSookmyung Women's Univ.์ˆ™๋Œ€์ž…๊ตฌ
Dongdaemun History & Culture Park๋™๋Œ€๋ฌธ์—ญ์‚ฌ๋ฌธํ™”๊ณต์›Hyehwaํ˜œํ™”
Hansung Univ.ํ•œ์„ฑ๋Œ€์ž…๊ตฌMia๋ฏธ์•„
Mia Sageori๋ฏธ์•„์‚ฌ๊ฑฐ๋ฆฌGireum๊ธธ์Œ
Chongshin Univ.์ด์‹ ๋Œ€์ž…๊ตฌSadang์‚ฌ๋‹น

Line 5 (5ํ˜ธ์„ )

EnglishKoreanEnglishKorean
Gwanghwamun๊ด‘ํ™”๋ฌธJongno 3-ga์ข…๋กœ3๊ฐ€
Dongdaemun History & Culture Park๋™๋Œ€๋ฌธ์—ญ์‚ฌ๋ฌธํ™”๊ณต์›Cheonggu์ฒญ๊ตฌ
Wangsimni์™•์‹ญ๋ฆฌHaengdangํ–‰๋‹น
Yeouido์—ฌ์˜๋„Yeouinaru์—ฌ์˜๋‚˜๋ฃจ
Mapo๋งˆํฌGongdeok๊ณต๋•
Gimpo Airport๊น€ํฌ๊ณตํ•ญBanghwa๋ฐฉํ™”

Line 6 (6ํ˜ธ์„ )

EnglishKoreanEnglishKorean
Itaewon์ดํƒœ์›Samgakji์‚ผ๊ฐ์ง€
Noksapyeong๋…น์‚ฌํ‰Hangangํ•œ๊ฐ•์ง„
Sangsu์ƒ์ˆ˜Hapjeongํ•ฉ์ •
World Cup Stadium์›”๋“œ์ปต๊ฒฝ๊ธฐ์žฅDigital Media City๋””์ง€ํ„ธ๋ฏธ๋””์–ด์‹œํ‹ฐ

Line 7 (7ํ˜ธ์„ )

EnglishKoreanEnglishKorean
Gangnam-gu Office๊ฐ•๋‚จ๊ตฌ์ฒญCheongdam์ฒญ๋‹ด
Konkuk Univ.๊ฑด๋Œ€์ž…๊ตฌChildren's Grand Park์–ด๋ฆฐ์ด๋Œ€๊ณต์›
Junggok์ค‘๊ณกTtukseom Resort๋š์„ฌ์œ ์›์ง€
Express Bus Terminal๊ณ ์†ํ„ฐ๋ฏธ๋„Nonhyeon๋…ผํ˜„
Hakdongํ•™๋™Bogwang๋ณด๊ด‘
Jangam์žฅ์•”Dobongsan๋„๋ด‰์‚ฐ

Line 8 (8ํ˜ธ์„ )

EnglishKoreanEnglishKorean
Jamsil์ž ์‹คMongchontoseong๋ชฝ์ดŒํ† ์„ฑ
Gangdong-gu Office๊ฐ•๋™๊ตฌ์ฒญCheonho์ฒœํ˜ธ
Bokjeong๋ณต์ •Sanseong์‚ฐ์„ฑ
Moran๋ชจ๋ž€Amsa์•”์‚ฌ

Line 9 (9ํ˜ธ์„ )

EnglishKoreanEnglishKorean
Sinnonhyeon์‹ ๋…ผํ˜„Express Bus Terminal๊ณ ์†ํ„ฐ๋ฏธ๋„
Dongjak๋™์ž‘Noryangjin๋…ธ๋Ÿ‰์ง„
Yeouido์—ฌ์˜๋„National Assembly๊ตญํšŒ์˜์‚ฌ๋‹น
Dangsan๋‹น์‚ฐYeomchang์—ผ์ฐฝ
Gimpo Airport๊น€ํฌ๊ณตํ•ญGaehwa๊ฐœํ™”
Olympic Park์˜ฌ๋ฆผํ”ฝ๊ณต์›Sports Complex์ข…ํ•ฉ์šด๋™์žฅ

Sinbundang Line (์‹ ๋ถ„๋‹น์„ )

EnglishKoreanEnglishKorean
Gangnam๊ฐ•๋‚จSinsa์‹ ์‚ฌ
Yangjae์–‘์žฌYangjae Citizen's Forest์–‘์žฌ์‹œ๋ฏผ์˜์ˆฒ
PangyoํŒ๊ตJeongja์ •์ž
Dongcheon๋™์ฒœSuji District Office์ˆ˜์ง€๊ตฌ์ฒญ
Gwanggyo๊ด‘๊ตGwanggyo Jungang๊ด‘๊ต์ค‘์•™

Gyeongui-Jungang Line (๊ฒฝ์˜์ค‘์•™์„ )

EnglishKoreanEnglishKorean
Seoul Station์„œ์šธ์—ญHongdae (Hongik Univ.)ํ™๋Œ€์ž…๊ตฌ
Gongdeok๊ณต๋•Hyochang Parkํšจ์ฐฝ๊ณต์›์•ž
Yongsan์šฉ์‚ฐOksu์˜ฅ์ˆ˜
Wangsimni์™•์‹ญ๋ฆฌCheongnyangni์ฒญ๋Ÿ‰๋ฆฌ
DMC๋””์ง€ํ„ธ๋ฏธ๋””์–ด์‹œํ‹ฐSusaek์ˆ˜์ƒ‰
Ilsan์ผ์‚ฐPajuํŒŒ์ฃผ

Airport Railroad (๊ณตํ•ญ์ฒ ๋„)

EnglishKoreanEnglishKorean
Seoul Station์„œ์šธ์—ญGongdeok๊ณต๋•
Hongdae (Hongik Univ.)ํ™๋Œ€์ž…๊ตฌDigital Media City๋””์ง€ํ„ธ๋ฏธ๋””์–ด์‹œํ‹ฐ
Gimpo Airport๊น€ํฌ๊ณตํ•ญIncheon Airport T1์ธ์ฒœ๊ณตํ•ญ1ํ„ฐ๋ฏธ๋„
Incheon Airport T2์ธ์ฒœ๊ณตํ•ญ2ํ„ฐ๋ฏธ๋„Cheongna Int'l City์ฒญ๋ผ๊ตญ์ œ๋„์‹œ

Suin-Bundang Line (์ˆ˜์ธ๋ถ„๋‹น์„ )

EnglishKoreanEnglishKorean
Wangsimni์™•์‹ญ๋ฆฌSeolleung์„ ๋ฆ‰
Gangnam-gu Office๊ฐ•๋‚จ๊ตฌ์ฒญSeonjeongneung์„ ์ •๋ฆ‰
Jeongja์ •์žMigeum๋ฏธ๊ธˆ
Ori์˜ค๋ฆฌJukjeon์ฃฝ์ „
Suwon์ˆ˜์›Incheon์ธ์ฒœ

Usage Examples

Real-time Arrival

curl "http://swopenAPI.seoul.go.kr/api/subway/${SEOUL_OPENAPI_KEY}/json/realtimeStationArrival/0/10/๊ฐ•๋‚จ"

Station Search

curl "http://openapi.seoul.go.kr:8088/${SEOUL_OPENAPI_KEY}/json/SearchInfoBySubwayNameService/1/10/๊ฐ•๋‚จ"

Route Search

curl -G "https://apis.data.go.kr/B553766/path/getShtrmPath?serviceKey=${DATA_GO_KR_KEY}&dataType=JSON" \
  --data-urlencode "dptreStnNm=์‹ ๋„๋ฆผ" \
  --data-urlencode "arvlStnNm=์„œ์šธ์—ญ" \
  --data-urlencode "searchDt=$(date '+%Y-%m-%d %H:%M:%S')"

Service Alerts

curl "https://apis.data.go.kr/B553766/ntce/getNtceList?serviceKey=${DATA_GO_KR_KEY}&dataType=JSON&pageNo=1&numOfRows=10"

Output Format Guide

Korean:

[๊ฐ•๋‚จ์—ญ ๋„์ฐฉ ์ •๋ณด]

| ํ˜ธ์„  | ๋ฐฉํ–ฅ | ๋„์ฐฉ | ์œ„์น˜ | ์œ ํ˜• |
|------|------|------|------|------|
| 2ํ˜ธ์„  | ์„ฑ์ˆ˜ํ–‰ | 3๋ถ„ | ์—ญ์‚ผ | ์ผ๋ฐ˜ |

English:

[Gangnam Station Arrivals]

| Line | Direction | Arrival | Location | Type |
|------|-----------|---------|----------|------|
| Line 2 | Seongsu-bound | 3 min | Yeoksam | Regular |

Korean:

[๊ฐ•๋‚จ์—ญ]

| ํ˜ธ์„  | ์—ญ์ฝ”๋“œ | ์™ธ๋ถ€์ฝ”๋“œ |
|------|--------|----------|
| 2ํ˜ธ์„  | 222 | 0222 |

English:

[Gangnam Station]

| Line | Station Code | External Code |
|------|--------------|---------------|
| Line 2 | 222 | 0222 |

Route Search

Korean:

[๊ฐ•๋‚จ -> ํ™๋Œ€์ž…๊ตฌ]

์†Œ์š”์‹œ๊ฐ„: 38๋ถ„ | ๊ฑฐ๋ฆฌ: 22.1 km | ์š”๊ธˆ: 1,650์› | ํ™˜์Šน: 1ํšŒ

1. 09:03 ๊ฐ•๋‚จ ์ถœ๋ฐœ (2ํ˜ธ์„  ์„ฑ์ˆ˜๋ฐฉ๋ฉด)
2. 09:18 ์‹ ๋„๋ฆผ ํ™˜์Šน (2ํ˜ธ์„  -> 1ํ˜ธ์„ )
3. 09:42 ํ™๋Œ€์ž…๊ตฌ ๋„์ฐฉ

English:

[Gangnam -> Hongdae]

Time: 38 min | Distance: 22.1 km | Fare: 1,650 KRW | Transfers: 1

1. 09:03 Depart Gangnam (Line 2 towards Seongsu)
2. 09:18 Transfer at Sindorim (Line 2 -> Line 1)
3. 09:42 Arrive Hongdae

Service Alerts

Korean:

[์šดํ–‰ ์•Œ๋ฆผ]

[1ํ˜ธ์„ ] ์ข…๋กœ3๊ฐ€์—ญ ๋ฌด์ •์ฐจ (15:00 ~ 15:22)
- ์ฝ”๋ ˆ์ผ ์—ด์ฐจ ์—ฐ๊ธฐ ๋ฐœ์ƒ์œผ๋กœ ์ธํ•จ

[2ํ˜ธ์„ ] ์ •์ƒ ์šดํ–‰

English:

[Service Alerts]

[Line 1] Jongno 3-ga Non-stop (15:00 ~ 15:22)
- Due to smoke from Korail train

[Line 2] Normal operation

Error

Korean:

์˜ค๋ฅ˜: ์—ญ์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
"๊ฐ•๋‚จ" (์—ญ ์ด๋ฆ„๋งŒ)์œผ๋กœ ๊ฒ€์ƒ‰ํ•ด ๋ณด์„ธ์š”.

English:

Error: Station not found.
Try searching with "Gangnam" (station name only).

API Key Errors

Korean:

์˜ค๋ฅ˜: API ์ธ์ฆํ‚ค๊ฐ€ ์„ค์ •๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•ด์ฃผ์„ธ์š”: SEOUL_OPENAPI_KEY

๋ฐœ๊ธ‰ ์•ˆ๋‚ด:
- ์„œ์šธ์—ด๋ฆฐ๋ฐ์ดํ„ฐ๊ด‘์žฅ: https://data.seoul.go.kr
- ๊ณต๊ณต๋ฐ์ดํ„ฐํฌํ„ธ: https://www.data.go.kr

English:

Error: API key is not configured.
Please set environment variable: SEOUL_OPENAPI_KEY

Get your API key:
- Seoul Open Data Plaza: https://data.seoul.go.kr
- Korea Public Data Portal: https://www.data.go.kr

Korean:

์˜ค๋ฅ˜: API ์ธ์ฆํ‚ค๊ฐ€ ์œ ํšจํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์ธ์ฆํ‚ค๋ฅผ ํ™•์ธํ•ด์ฃผ์„ธ์š”.

English:

Error: Invalid API key.
Please verify your API key.
README.md

seoul-metro

Seoul Metro information skill for Claude.

Features

  • Real-time Arrival - Train arrival times by station
  • Station Search - Line and station code lookup
  • Route Search - Shortest path, travel time, fare
  • Service Alerts - Delays, incidents, express stops

Environment Variables

VariableProviderRequired Data
SEOUL_OPENAPI_KEYdata.seoul.go.kr์‹ค์‹œ๊ฐ„ ์ง€ํ•˜์ฒ  ์ธ์ฆํ‚ค
DATA_GO_KR_KEYdata.go.kr์„œ์šธ๊ตํ†ต๊ณต์‚ฌ_์ง€ํ•˜์ฒ ์•Œ๋ฆผ์ •๋ณด, ์„œ์šธ๊ตํ†ต๊ณต์‚ฌ_์ตœ๋‹จ๊ฒฝ๋กœ์ด๋™์ •๋ณด

Usage

"๊ฐ•๋‚จ์—ญ ๋„์ฐฉ์ •๋ณด"
"๊ฐ•๋‚จ์—ญ ๋ช‡ํ˜ธ์„ ?"
"์‹ ๋„๋ฆผ์—์„œ ์„œ์šธ์—ญ"
"์ง€ํ•˜์ฒ  ์ง€์—ฐ ์žˆ์–ด?"

License

MIT

Permissions & Security

Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.

Requirements

  • OpenClaw CLI installed and configured.
  • Language: Markdown
  • License: MIT
  • Topics:

FAQ

How do I install seoul-metro?

Run openclaw add @dukbong/seoul-metro in your terminal. This installs seoul-metro into your OpenClaw Skills catalog.

Does this skill run locally or in the cloud?

OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.

Where can I verify the source code?

The source repository is available at https://github.com/openclaw/skills/tree/main/skills/dukbong/seoul-metro. Review commits and README documentation before installing.