k-skill/scripts/fixtures/fine-dust-stations.json
Jeffrey (Dongkyu) Kim 8c86d54b1f Add local air-quality lookup so k-skill covers location-based dust checks
Issue #17 approved an Air Korea two-API flow with a region fallback, so this change adds a new fine-dust skill, wires it into the repo docs/setup surfaces, and includes a runnable helper plus fixtures/tests for repeatable verification.

Constraint: Must use the approved official Air Korea APIs and secure secret registration flow
Rejected: Use an unofficial air-quality API | issue follow-up explicitly approved the Air Korea two-API flow
Rejected: Require coordinates only | issue discussion required a practical fallback when precise location is unavailable
Confidence: high
Scope-risk: moderate
Directive: Keep the helper and docs aligned with Air Korea endpoint names and fallback order if the official API contract changes
Tested: npm run ci; python3 scripts/fine_dust.py report --station-file scripts/fixtures/fine-dust-stations.json --measurement-file scripts/fixtures/fine-dust-measurements.json --lat 37.5665 --lon 126.9780; python3 scripts/fine_dust.py report --station-file scripts/fixtures/fine-dust-stations.json --measurement-file scripts/fixtures/fine-dust-measurements.json --region-hint '서울 강남구'; python3 scripts/fine_dust.py --help; missing-secret error path without AIR_KOREA_OPEN_API_KEY
Not-tested: Live Air Korea API calls with a real AIR_KOREA_OPEN_API_KEY
2026-03-27 22:06:19 +09:00

26 lines
570 B
JSON

{
"response": {
"body": {
"items": [
{
"stationName": "중구",
"addr": "서울 중구 서소문로 124",
"dmX": "37.5640",
"dmY": "126.9757"
},
{
"stationName": "종로구",
"addr": "서울 종로구 종로35가길 19",
"dmX": "37.5720",
"dmY": "127.0050"
},
{
"stationName": "강남구",
"addr": "서울 강남구 학동로 426",
"dmX": "37.5179",
"dmY": "127.0473"
}
]
}
}
}