# Open Meteo Skill

> 전세계 날씨 API Open-Meteo 스킬. 무료 오픈소스 날씨 API로 16일 예보, 80년 역사 데이터, 대기질, 해양 날씨 등 제공. 사용 시점: (1) 날씨 예보 조회 (2) 과거 날씨 데이터 조회 (3) 대기질/미세먼지 조회 (4) 해양 날씨/파도 정보 (5) 위치 좌표 검색 (6) 고도 정보 조회 (7) Flutter 앱에서 날씨 기능 구현 (8) 시간대별 날씨 표시 (2시간/4시간 단위) (9) 캐시 기반 실시간 날씨 아이콘 표시 키워드: 날씨, weather, 기온, 강수량, 습도, 풍속, 미세먼지, PM2.5, 파도, 일출, 일몰, geocoding, Flutter, 캐시, FutureBuilder, WMO 코드, 날씨 아이콘

- Skill: `majiayu000/open-meteo-skill` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/open-meteo-skill`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/open-meteo-skill/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/open-meteo-skill

---


# Open-Meteo API 스킬

전 세계 국가 기상청 데이터를 통합한 무료 오픈소스 날씨 API.

## 핵심 특징

- **무료 & API 키 불필요**: 비상업적 사용 무료, 즉시 사용 가능
- **빠른 응답**: 10ms 이하 응답 시간
- **다양한 데이터**: 16일 예보, 80년 역사 데이터, 대기질, 해양 날씨
- **라이선스**: 데이터 CC BY 4.0, 코드 AGPLv3

## 기본 API 호출

```bash
# 날씨 예보 (서울)
curl "https://api.open-meteo.com/v1/forecast?latitude=37.5665&longitude=126.9780&hourly=temperature_2m,precipitation&daily=temperature_2m_max,temperature_2m_min&timezone=Asia/Seoul"
```

## 주요 엔드포인트

| 엔드포인트 | URL | 용도 |
|-----------|-----|------|
| Forecast | api.open-meteo.com/v1/forecast | 날씨 예보 |
| Archive | archive-api.open-meteo.com/v1/archive | 과거 데이터 |
| Air Quality | air-quality-api.open-meteo.com/v1/air-quality | 대기질 |
| Marine | marine-api.open-meteo.com/v1/marine | 해양 날씨 |
| Geocoding | geocoding-api.open-meteo.com/v1/search | 위치 검색 |
| Elevation | api.open-meteo.com/v1/elevation | 고도 조회 |

## 필수 파라미터

- `latitude`: 위도 (-90 ~ 90)
- `longitude`: 경도 (-180 ~ 180)

## 상세 문서

- **API 상세 명세**: [references/api-spec.md](references/api-spec.md)
- **MCP 서버 가이드**: [references/mcp-guide.md](references/mcp-guide.md)
- **날씨 변수 목록**: [references/weather-variables.md](references/weather-variables.md)
- **Flutter 날씨 구현 가이드**: [references/flutter-weather-guide.md](references/flutter-weather-guide.md)

### Flutter 날씨 구현 가이드 → [flutter-weather-guide.md](references/flutter-weather-guide.md)

Flutter 앱에서 Open-Meteo API를 활용한 날씨 기능 구현 전체 가이드를 다룹니다.
**시간대별 날씨 표시 기법**(오늘은 2시간 단위, 내일~7일은 4시간 단위로 필터링하는
`getTodayWeather()`, `getDayWeather()` 메서드)과 **캐시 기반 실시간 날씨 아이콘 표시**
(FutureBuilder 패턴으로 `WeatherService.getCurrentWeather()`를 호출하여 홈 화면 퀵메뉴에
동적 아이콘 표시)를 상세히 설명합니다. WMO 날씨 코드를 Flutter Icons로 매핑하는 로직,
낮/밤 판단(`isDay` getter), 아이콘 색상 매핑, 30분 FileCache 설정, API 파라미터 구성 등
실제 구현에 필요한 핵심 코드와 체크리스트를 포함합니다.

## 테스트 스크립트

```bash
# 테스트 실행
./scripts/test-forecast.sh          # 날씨 예보 테스트
./scripts/test-air-quality.sh       # 대기질 테스트
./scripts/test-geocoding.sh         # 지오코딩 테스트
./scripts/test-all.sh               # 전체 테스트
```

## 공식 레퍼런스

- [Open-Meteo 공식 문서](https://open-meteo.com/en/docs)
- [Open-Meteo GitHub](https://github.com/open-meteo/open-meteo)
- [Open-Meteo MCP GitHub](https://github.com/cmer81/open-meteo-mcp)

