원클릭으로
data-go-kr-search
한국 공공데이터포털(data.go.kr) API/데이터셋 검색 스킬. 공공데이터나 공공 API를 찾거나 존재 여부를 묻는 요청에 활성화. "~API 찾아줘", "~공공데이터 있어?", "~관련 API 뭐 있어?" 같은 패턴.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
한국 공공데이터포털(data.go.kr) API/데이터셋 검색 스킬. 공공데이터나 공공 API를 찾거나 존재 여부를 묻는 요청에 활성화. "~API 찾아줘", "~공공데이터 있어?", "~관련 API 뭐 있어?" 같은 패턴.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
NAVER API HUB 검색 스킬. 네이버 클라우드 NAVER API HUB로 블로그·뉴스·지역·웹·이미지 등 검색 및 검색어 트렌드 조회. "네이버 API HUB", "네이버 검색 API", "블로그 검색", "검색어 트렌드" 요청에 활성화.
Git Flow 브랜치·커밋 규칙(변경 요약은 한국어 필수). 커밋, 브랜치 생성, Git Flow, 커밋 메시지 작성 요청 시 사용.
UIKit MVVM에서 Combine 바인딩, @Published, PassthroughSubject, ObservableObject 역할, sink/cancellables 패턴. UI 상태는 @Published, 화면 이동/토스트/Alert 같은 일회성 이벤트는 PassthroughSubject. SwiftUI vs UIKit ObservableObject 차이, Combine 바인딩 설계 시 사용.
Swift Concurrency 경계 설정, @MainActor, Task 배치, UIKit MVVM async API 설계. ViewModel, @MainActor, Task, async await, Combine 바인딩, isLoading 처리 시 사용.
Swift/iOS MVVM 패턴 안내. Model·View·ViewModel 구조, 바인딩(Combine/@Published), 서비스/저장소 연동 시 사용.
SwiftUI MVVM에서 @Observable/ObservableObject 선택, @StateObject/@ObservedObject/@EnvironmentObject 사용 기준, .task/.refreshable와 취소 처리, @MainActor 상태 갱신 규칙 설계 시 사용.
| name | data-go-kr-search |
| description | 한국 공공데이터포털(data.go.kr) API/데이터셋 검색 스킬. 공공데이터나 공공 API를 찾거나 존재 여부를 묻는 요청에 활성화. "~API 찾아줘", "~공공데이터 있어?", "~관련 API 뭐 있어?" 같은 패턴. |
| argument-hint | [검색키워드] [데이터타입?] [기관명?] |
사용자가 공공데이터포털 API/데이터셋 검색을 요청하면 api.odcloud.kr 카탈로그 검색 API를 호출해 결과를 보여준다.
아래 순서로 serviceKey를 확인한다:
DATA_GO_KR_API_KEY 확인data.go.kr 검색 API는 서비스키가 필요합니다. 공공데이터포털 오픈API는 서비스별 활용신청이 필요합니다.
1. https://www.data.go.kr 로그인
2. https://www.data.go.kr/data/15112888/openapi.do (공공데이터포털 검색 서비스)에서 활용신청 완료
3. 마이페이지 > 인증키 발급 > 일반 인증키(공공데이터포털 카탈로그 검색용)
4. 발급된 키를 아래 방법 중 하나로 설정해 주세요.
[방법 A] ~/.claude/settings.json 에 환경변수 추가 (권장)
"env": {
"DATA_GO_KR_API_KEY": "발급받은키"
}
→ 설정 후 Claude Code를 재시작하면 자동으로 적용됩니다.
[방법 B] 대화 중 직접 전달
"키는 abc123이야" 처럼 알려주시면 해당 대화에서만 사용합니다.
$ARGUMENTS 또는 사용자 메시지에서 추출:
| 항목 | 예시 | 기본값 |
|---|---|---|
| 검색어 | 날씨, 교통, 부동산, 의료 | (필수) |
| 데이터타입 | API, FILE, STD | ["API"] |
| 기관명 | 기상청, 환경부, 서울특별시 | 전체 |
| 정렬 | 정확도(기본), 조회순, 활용순, 최신순 | _score |
"API 찾아줘" 또는 키워드만 있으면 dataType: ["API"]로 검색한다.
"데이터셋", "파일" 언급 시 dataType: ["FILE"]을 추가한다.
Bash tool + curl + jq 로 호출한다.
POST https://api.odcloud.kr/api/GetSearchDataList/v1/searchData?serviceKey={서비스키}
Content-Type: application/json
curl -s --tlsv1.2 -X POST \
"https://api.odcloud.kr/api/GetSearchDataList/v1/searchData?serviceKey={SERVICE_KEY}" \
-H "Content-Type: application/json" \
-d '{
"page": 1,
"size": 10,
"keyword": "{검색어}",
"dataType": ["API"],
"sort": "_score",
"sortOrder": "desc"
}' | jq '{
total: .result.sum,
count: .result.dataCount,
items: [.result.data[] | {
name: .dataName,
description: .dataDescription,
organization: .organization,
serviceType: .dataProvisionType,
dataType: .dataType,
category1: .firstBrmName,
category2: .secondBrmName,
keywords: .keywords,
updateDate: .updateDate,
url: .detailPageUrl,
coreData: .coreData,
corpApi: .corpApi
}]
}'
기관명 필터가 있으면 "organizations": ["{기관명}"]을 body에 추가한다.
| 사용자 표현 | sort 값 |
|---|---|
| 정확도(기본) | _score |
| 조회순 | inqireCo |
| 활용순 | reqCo |
| 최신순 | updtDt |
## "{검색어}" 공공데이터 검색 결과
전체 {total}건 중 {count}건 표시 · 기준: {정렬기준}
---
### 1. {데이터명}
- 기관: {제공기관}
- 유형: {서비스유형} ({데이터타입})
- 분류: {1단계분류} > {2단계분류}
- 키워드: {키워드 목록}
- 수정일: {수정일}
- 국가중점: {여부} / 기업전용: {여부}
- 상세: [바로가기]({detailPageUrl})
{설명 1~2줄}
---
### 2. ...
coreData: true이면 "⭐ 국가중점데이터" 표시corpApi: true이면 "(기업전용)" 표시detailPageUrl이 있으면 반드시 링크로 제공더 찾아볼까요?
- 조회순/활용순으로 다시 정렬 → "활용 많은 순으로 보여줘"
- 기관 필터 → "기상청 API만 보여줘"
- 더 많은 결과 → "더 보여줘" (page 2)
- 파일 데이터도 포함 → "파일 데이터도 포함해서 찾아줘"