Install
openclaw skills install kma-weather-koreaKMA short-term forecast API - ultra-short-term observation/forecast, short-term forecast
openclaw skills install kma-weather-koreaKorea Meteorological Administration short-term forecast API + AirKorea air quality integration.
| Key | Value |
|---|---|
| Provider | KMA (Korea Meteorological Administration) |
| Service ID | 15084084 |
| Auth | ~/.config/data-go-kr/api_key |
| Endpoint | https://apis.data.go.kr/1360000/VilageFcstInfoService_2.0 |
| Playbook | playbook.md |
scripts/
├── weather.sh → Weather query (ncst/fcst/short)
├── morning_briefing.sh → Morning briefing (weather + air quality)
└── grid_convert.py → Lat/lon → grid coordinate conversion
playbook.md for default locationweather.sh ncst [nx] [ny]weather.sh fcst [nx] [ny]weather.sh short [nx] [ny]skills/airkorea-air-quality/scripts/air_quality.sh [station]## 🌤️ [Location] Weather
### Current
🌡️ Temp: X°C (Feels like X°C)
💧 Humidity: X% | 🌬️ Wind: Xm/s
🌧️ Precip: [None/Rain/Snow]
### Today's Forecast
☀️ High X°C / Low X°C
🌧️ Precip probability: X%
🌫️ PM2.5: [Good/Moderate/Bad/Very Bad] (X㎍/㎥)
### 💡 One-liner
[Bring umbrella / Wear mask / Great day to go out]
| API | Command | Description | Update Cycle |
|---|---|---|---|
| Ultra-short obs | ncst | Current observation | Hourly |
| Ultra-short fcst | fcst | 6hr forecast | Every 30min |
| Short-term fcst | short | 3-day hourly | 8x/day |
| Location | nx | ny |
|---|---|---|
| Seoul Jongno | 60 | 127 |
| Seoul Gangnam | 61 | 126 |
| Busan | 98 | 76 |
| Daegu | 89 | 90 |
| Incheon | 55 | 124 |
| Daejeon | 67 | 100 |
| Jeju | 52 | 38 |
1: Clear ☀️ | 3: Mostly cloudy ⛅ | 4: Overcast ☁️
0: None | 1: Rain 🌧️ | 2: Rain/Snow 🌧️❄️ | 3: Snow ❄️ | 4: Shower 🌦️
| API | Release time | Queryable |
|---|---|---|
| Ultra-short obs | Every hour | +10min |
| Ultra-short fcst | Every 30min | +10min |
| Short-term fcst | 02,05,08,11,14,17,20,23h | +10min |
| Placeholder | Purpose | Current Tool |
|---|---|---|
~~weather | Weather API | KMA Short-term Forecast |
~~air | Air quality | AirKorea |
~~notify | Notification | Telegram |
| Intent | Trigger Examples | Strategy |
|---|---|---|
| Quick Check | "오늘 날씨 어때?", "지금 비 와?", "기온 몇 도?" | ncst (현재 관측) + fcst (3시간 예보) → 간단 요약 |
| Daily Forecast | "내일 비 와?", "주말 날씨", "모레 눈 올까?" | short (단기예보 3일) → 시간대별 상세 |
| Morning Briefing | "아침 날씨 브리핑" | morning_briefing.sh → 날씨+대기질 통합 |
Routing logic: 현재/지금 → Quick Check, 내일/모레/주말 → Daily Forecast, 브리핑 → Morning Briefing
| Trigger | Target Skill | Integration |
|---|---|---|
| 날씨 응답 시 항상 | airkorea-air-quality | PM2.5 수치를 날씨 응답에 포함 (Output Template 참조) |
| 미세먼지 나쁨 이상 | airkorea-air-quality | "마스크 챙기세요" 팁 추가 |
| 비/눈 예보 시 | — | "우산 챙기세요" 자동 팁 |
grid_convert.pynumOfRowsCowork architecture v2.2 — 🦞 chumjibot (2026-02-19)
mkdir -p ~/.config/data-go-kr
echo "YOUR_API_KEY" > ~/.config/data-go-kr/api_key