fine-dust-location

$npx mdskill add NomaDamas/k-skill/fine-dust-location

미세먼지 수치를 지역명이나 위치 힌트로 조회한다

  • 지역명 또는 위치 힌트로 실시간 미세먼지 정보를 제공한다
  • 에어코리아 데이터와 k-skill-proxy의 report 엔드포인트를 사용한다
  • 가장 구체적인 지역명을 기준으로 측정소를 결정한다
  • HTTP 요청을 통해 JSON 형식의 미세먼지 정보를 반환한다

SKILL.md

.github/skills/fine-dust-locationView on GitHub ↗
---
name: fine-dust-location
description: 에어코리아 기반 미세먼지/초미세먼지를 지역명 또는 위치 힌트로 조회한다. 기본 경로는 k-skill-proxy의 report endpoint다.
license: MIT
metadata:
  category: utility
  locale: ko-KR
  phase: v1
---

# Fine Dust By Location

## What this skill does

기본적으로 `https://k-skill-proxy.nomadamas.org/v1/fine-dust/report` 로 요청해서 PM10 / PM2.5 / 통합대기등급을 요약한다.

## When to use

- "지금 내 위치 미세먼지 어때?"
- "강남 쪽 초미세먼지 수치 알려줘"
- "여기 공기질 괜찮아?"

## Inputs

- 일반 입력: 지역명/행정구역 힌트
- 재조회 입력: 정확한 측정소명

## Region naming convention

지역명은 아래처럼 **측정소명에 가까운 한국어 행정구역 이름**을 우선 사용한다.

- 좋음: `강남구`, `서울 강남구`, `종로구`, `수원시`
- 애매함: `강남`, `서울 남쪽`, `코엑스 근처`

여러 토큰이 들어오면 helper / proxy 는 보통 **가장 구체적인 토큰**을 우선 본다. 예: `서울 강남구` → `강남구`.

## Default path

추가 client API 레이어는 불필요하다. 그냥 프록시 서버에 HTTP 요청만 넣으면 된다.

```bash
curl -fsS --get 'https://k-skill-proxy.nomadamas.org/v1/fine-dust/report' \
  --data-urlencode 'regionHint=서울 강남구'
```

스크립트 helper 도 같은 report endpoint 를 기본 경로로 사용한다.

```bash
python3 scripts/fine_dust.py report --region-hint '서울 강남구' --json
```

## Ambiguous locations

입력한 지역명이 단일 측정소로 바로 확정되지 않으면 proxy 는 `ambiguous_location` 과 함께 후보 측정소 목록을 돌려준다.

예:

```bash
curl -fsS --get 'https://k-skill-proxy.nomadamas.org/v1/fine-dust/report' \
  --data-urlencode 'regionHint=광주 광산구'
```

이때 응답의 `candidate_stations` 중 하나를 골라 다시 `stationName` 으로 조회한다.

```bash
curl -fsS --get 'https://k-skill-proxy.nomadamas.org/v1/fine-dust/report' \
  --data-urlencode 'stationName=우산동(광주)'
```

## Detailed API paths

원본 AirKorea와 비슷한 passthrough 경로(`/B552584/...`)나 direct fallback 상세는 아래 문서만 참고한다.

- `docs/features/fine-dust-location.md`
- `docs/features/k-skill-proxy.md`

## Keep the answer compact

응답에는 아래만 먼저 정리한다.

- 측정소
- 조회 시각
- PM10 값과 등급
- PM2.5 값과 등급
- 통합대기등급
- 조회 방식(`fallback`)

## Failure modes

- regionHint 가 너무 넓거나 단일 측정소를 확정할 수 없는 경우
- 프록시 서버가 내려가 있거나 upstream key가 비어 있는 경우
- 측정소명과 지역명이 달라 직접 fallback 이 필요한 경우

## Notes

- 기본 경로는 항상 `k-skill-proxy.nomadamas.org` 의 report endpoint 다.
- 지역명 조회는 먼저 후보를 얻고, 필요하면 정확한 측정소명으로 재조회한다.
- passthrough / direct AirKorea 구현 세부는 스킬 본문에 길게 반복하지 않는다.
- free API 프록시는 공개 endpoint 를 기본으로 둔다.

More from NomaDamas/k-skill

SkillDescription
blue-ribbon-nearbyUse when the user asks for nearby restaurants or 근처 맛집 and wants 블루리본 picks. Always ask the user's current location first, then search official Blue Ribbon nearby restaurants via k-skill-proxy.
bunjang-search번개장터 검색, 상세조회, 찜, 채팅, 대량 수집, AI TOON export를 bunjang-cli로 안내한다.
catchtable-sniperMonitor Catchtable for open reservation slots and attempt booking using a logged-in Chrome session.
cheap-gas-nearbyUse when the user asks for nearby cheapest gas stations or 근처 가장 싼 주유소. Always ask the user's current location first, then use Kakao Map anchor resolution plus official Opinet fuel-price APIs.
corporate-registration-consulting법인등기소/인터넷등기소 상업등기 신청을 처음 하는 사용자를 위해 일반 영리 주식회사 발기설립 절차, 정관·첨부서류 실제 HWP 양식 작성, 등록면허세·과밀억제권역 중과 체크, rhwp 기반 순차 검토 흐름을 참고용으로 안내한다.
coupang-product-searchretention-corp/coupang_partners의 로컬 Coupang MCP 호환 레이어로 쿠팡 상품 검색, 로켓배송 필터, 가격대 검색, 상품 비교, 베스트 상품, 골드박스 특가를 조회한다.
court-auction-notice-searchBrowse 대법원경매정보(courtauction.go.kr) 부동산 매각공고 by 매각기일·법원·기일/기간 입찰, expand each notice into 사건번호·용도·주소·감정평가액·최저매각가, search property items by free conditions(지역·용도·가격·면적·유찰횟수), and look up a case directly by 법원+사건번호. Read-only, slow-by-design (~2s/call) to avoid IP blocks.
daiso-product-searchLook up Daiso products by store name and product keyword using official Daiso Mall store/search/stock surfaces. Reports whether a product is registered as pickup-eligible at a specific Daiso store; the official store-level pickup quantity API has been blocked since 2026-05-05, so exact per-store stock counts are unavailable while that block remains.
danawa-price-search다나와 공개 검색/가격비교 표면으로 상품 후보를 찾고, 쇼핑몰별 최저가·배송비 포함 실구매가·카드 할인가·무이자 할부 정보를 보수적으로 비교한다.
delivery-trackingTrack CJ대한통운 and 우체국 parcels by invoice number with official carrier endpoints, and structure the workflow around a carrier adapter that can grow to more couriers later.