← 返回 Skills 市场
525
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install kma-weather-korea
功能描述
KMA short-term forecast API - ultra-short-term observation/forecast, short-term forecast
使用说明 (SKILL.md)
KMA Weather Forecast Skill
Korea Meteorological Administration short-term forecast API + AirKorea air quality integration.
Overview
| 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
scripts/
├── weather.sh → Weather query (ncst/fcst/short)
├── morning_briefing.sh → Morning briefing (weather + air quality)
└── grid_convert.py → Lat/lon → grid coordinate conversion
Workflow
Step 1: Identify location & time
- "서울 날씨" → Seoul Jongno-gu (nx=60, ny=127)
- "내일 날씨" → short-term forecast (short)
- "지금 비 와?" → ultra-short-term observation (ncst)
- Refer to
playbook.mdfor default location
Step 2: Fetch weather data
- Current:
weather.sh ncst [nx] [ny] - 6-hour:
weather.sh fcst [nx] [ny] - 3-day:
weather.sh short [nx] [ny]
Step 3: Air quality integration (~~air)
- Fetch PM data via AirKorea skill
skills/airkorea-air-quality/scripts/air_quality.sh [station]
Step 4: Structured response using output template
Output Template
## 🌤️ [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 Types
| 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 |
Key Grid Coordinates
| 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 |
Codes
Sky (SKY)
1: Clear ☀️ | 3: Mostly cloudy ⛅ | 4: Overcast ☁️
Precipitation (PTY)
0: None | 1: Rain 🌧️ | 2: Rain/Snow 🌧️❄️ | 3: Snow ❄️ | 4: Shower 🌦️
base_time Rules
| 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 |
Connectors
| Placeholder | Purpose | Current Tool |
|---|---|---|
~~weather |
Weather API | KMA Short-term Forecast |
~~air |
Air quality | AirKorea |
~~notify |
Notification | Telegram |
Intent Router
| 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
Cross-Skill Integration
| Trigger | Target Skill | Integration |
|---|---|---|
| 날씨 응답 시 항상 | airkorea-air-quality |
PM2.5 수치를 날씨 응답에 포함 (Output Template 참조) |
| 미세먼지 나쁨 이상 | airkorea-air-quality |
"마스크 챙기세요" 팁 추가 |
| 비/눈 예보 시 | — | "우산 챙기세요" 자동 팁 |
Notes
- Uses grid coordinate system (not lat/lon) → use
grid_convert.py - Query after release time + 10 minutes
- Short-term forecast returns large data → set sufficient
numOfRows
Cowork architecture v2.2 — 🦞 chumjibot (2026-02-19)
🔧 Setup (공공데이터 포털 API)
- data.go.kr 회원가입
- 로그인 → 마이페이지 → 일반 인증키(Decoding) 복사
- API 키 저장:
mkdir -p ~/.config/data-go-kr echo "YOUR_API_KEY" > ~/.config/data-go-kr/api_key - 아래 서비스 활용신청 후 사용 (자동승인)
- 기상청 단기예보 (15084084)
安全使用建议
This skill appears to implement exactly what it claims (KMA forecasts + AirKorea), but I recommend caution because of several inconsistencies before you install or enable it:
- API key handling: SKILL.md says to store your data.go.kr key at ~/.config/data-go-kr/api_key, and weather.sh reads that path, but morning_briefing.py opens /home/scott/.config/data-go-kr/api_key (hardcoded). That is likely a developer leftover — either fix the script to use the documented path or ensure the file exists where the script expects it. Do not store keys in world-readable locations; set file permissions to restrict access (chmod 600).
- Undeclared runtime dependencies: The scripts call curl, jq and python3. The registry lists no required binaries. Make sure your runtime has curl, jq, and python3 available, or modify the scripts to handle missing tools.
- Undocumented credential requirement: The registry metadata lists no required env vars/credentials but the scripts require an API key file. Treat the API key as sensitive and confirm it's only used to call the listed government APIs. You can prefer using an environment variable or secure secret store instead of a file to avoid accidental exposure.
- Hardcoded user path: The /home/scott path is suspicious (likely a leftover). Inspect and edit morning_briefing.sh/python to read the same path as weather.sh (~/.config/data-go-kr/api_key) or to accept the key via argument/ENV. Running the skill as-is could fail or unintentionally read another user's key if that path exists.
- Cross-skill assumptions: The SKILL.md expects an AirKorea skill and a notify connector. If you don't have those, the integrated features will fail. Review scripts and test them locally in a safe environment before enabling agent-autonomous invocation.
If you want to proceed: review and patch morning_briefing to remove the hardcoded /home/scott path, ensure proper file permissions, declare the required binaries/credentials in metadata, and consider switching to an environment variable or explicit configuration parameter for the API key. If you want, I can produce a patched morning_briefing.sh/python snippet that uses ~/.config/data-go-kr/api_key or accepts an environment variable.
功能分析
Type: OpenClaw Skill
Name: kma-weather-korea
Version: 2.2.0
The skill bundle is benign. It accesses an API key from `~/.config/data-go-kr/api_key` (or a hardcoded `/home/scott/...` path in one script, which is a minor bug, not malicious) and makes network requests to legitimate Korean government weather and air quality APIs (`apis.data.go.kr`). All actions, including instructions in `SKILL.md` and `playbook.md`, are aligned with its stated purpose of providing weather forecasts and air quality information. There is no evidence of data exfiltration to unauthorized endpoints, malicious execution, persistence mechanisms, prompt injection attempts, or obfuscation.
能力评估
Purpose & Capability
The name/description (KMA short-term forecast + AirKorea integration) align with the included scripts (weather.sh, morning_briefing.sh, grid_convert.py). However SKILL.md and code reference cross-skill integration (airkorea/notify) that are not provided here, and the package metadata declares no required credentials or binaries even though the scripts need an API key and tools (curl, jq, python3).
Instruction Scope
Runtime instructions and scripts call only public government APIs (data.go.kr / apis.data.go.kr) and produce local output, which is expected. But the morning_briefing.py fragment opens /home/scott/.config/data-go-kr/api_key (absolute path) instead of the documented ~/.config/data-go-kr/api_key — this is a leftover hardcoded path that will attempt to read another user's file if it exists or crash. The scripts also assume jq, curl, and python3 exist even though the skill metadata lists no required binaries.
Install Mechanism
No install spec (instruction-only) — low risk from arbitrary downloads. However the skill ships executable scripts that expect runtime tools (curl, jq, python3). Those required binaries are not declared in registry metadata, creating a coherence gap (user may not have them).
Credentials
The skill relies on a data.go.kr API key stored in a filesystem path (SKILL.md instructs ~/.config/data-go-kr/api_key). The registry declares no required env vars/credentials, so the key requirement is undocumented. The hardcoded /home/scott path in morning_briefing is particularly problematic: it could cause the skill to read another user's config if present. The number and scope of credentials requested is small (one API key) and appropriate for the stated purpose, but the way the key is accessed is inconsistent and concerning.
Persistence & Privilege
always:false and no install hooks — the skill is not force-included and does not request system-wide persistence. It can be invoked autonomously by the agent (platform default), but this is not combined with other high-risk flags.
如何使用
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install kma-weather-korea - 安装完成后,直接呼叫该 Skill 的名称或使用
/kma-weather-korea触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v2.2.0
기상청 초단기/단기예보 API — KMA open API 기반
元数据
常见问题
기상청 날씨 (KMA Weather Korea) 是什么?
KMA short-term forecast API - ultra-short-term observation/forecast, short-term forecast. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 525 次。
如何安装 기상청 날씨 (KMA Weather Korea)?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install kma-weather-korea」即可一键安装,无需额外配置。
기상청 날씨 (KMA Weather Korea) 是免费的吗?
是的,기상청 날씨 (KMA Weather Korea) 完全免费(开源免费),可自由下载、安装和使用。
기상청 날씨 (KMA Weather Korea) 支持哪些平台?
기상청 날씨 (KMA Weather Korea) 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 기상청 날씨 (KMA Weather Korea)?
由 김성우(@sw326)开发并维护,当前版本 v2.2.0。
推荐 Skills