식품 안전 체크
What this skill does
식약처/식품안전나라 공개 표면을 k-skill-proxy 경유로 조회해 식품 안전 정보를 확인한다.
조회 가능한 공식 데이터:
- 건강기능식품 기능성 원료 인정현황 (I-0040) — 원료가 공식 인정됐는지, 1일 섭취량, 섭취시 주의사항
- 건강기능식품 개별인정형 정보 (I-0050) — 개별 인정 원료의 기능성, 섭취량 상·하한, 주의사항
- 건강기능식품 품목제조 신고사항 (I0030) — 신고된 제품의 원재료, 기능성, 섭취 주의사항, 기준규격 (고시형 원료 포함)
- 검사부적합 현황(국내) (I2620) — 국내 유통 식품 부적합 판정 이력
- 부적합 식품 목록 — 공공데이터포털 경유
- 회수·판매중지 공개 목록 (I0490) — 식품안전나라 경유
하지만 사용자가 복통, 설사, 발진 같은 증상을 말하면 바로 단정하지 말고 먼저 되묻는다.
- 누가 먹었는지 (본인/아이/임산부/고령자)
- 무엇을 언제 얼마나 먹었는지
- 같이 먹은 음식/술/약
- 현재 증상과 시작 시점
- 기저질환, 임신, 알레르기
- red flag (
혈변, 탈수, 호흡곤란, 의식저하, 심한 복통/고열)
red flag 가 있으면 식품 조회보다 즉시 응급실·119·의료진 안내가 우선이다.
When to use
- "이 음식 먹어도 괜찮니?" → 건강기능식품 원료 인정현황 + 검사부적합 조회
- "차전자피를 먹어도 되나?" → 기능성 원료 인정현황에서 1일 섭취량·주의사항 확인
- "이 김밥 먹고 배가 아픈데 회수 이력 있나?" → 회수·부적합 목록 조회
- "식약처 공식 부적합 식품 목록에서 제품명 확인해줘"
- "식품안전나라 공개 회수 목록에서 업체명으로 찾아줘"
Prerequisites
- 인터넷 연결
python3
- 설치된 skill payload 안에
scripts/mfds_food_safety.py helper 포함
k-skill-proxy의 food-safety route들이 있는 hosted/self-host 프록시에 접근 가능할 것
Credential requirements
- 사용자 측 필수 시크릿 없음.
KSKILL_PROXY_BASE_URL — self-host·별도 프록시를 쓸 때만 설정. 비우면 기본 hosted https://k-skill-proxy.nomadamas.org 를 사용한다.
DATA_GO_KR_API_KEY 는 프록시 운영 서버 환경에서 부적합 식품 live 조회용으로만 둔다.
FOODSAFETYKOREA_API_KEY 는 프록시 운영 서버 환경에서 식품안전나라 live 조회용으로만 둔다. 없으면 public sample feed로 fallback 할 수 있다.
- FOODSAFETYKOREA_API_KEY 발급:
https://www.foodsafetykorea.go.kr 에서 회원가입 후 OpenAPI 이용신청. 하나의 키로 I-0040, I-0050, I0490, I2620 등 모든 서비스 호출 가능.
Mandatory interview first
증상/섭취상황이 언급되면 결론을 말하기 전에 먼저 되묻는다.
권장 첫 질문 예시:
누가 무엇을 언제 얼마나 먹었는지, 지금 복통/구토/설사/발진 같은 증상이 있는지 먼저 알려주세요.
호흡곤란, 혈변, 심한 탈수, 의식저하, 심한 복통/고열이 있으면 즉시 응급실이나 119가 우선입니다.
Official surfaces
- 공공데이터포털 문서:
https://www.data.go.kr/data/15056516/openapi.do
- 부적합 식품 endpoint:
https://apis.data.go.kr/1471000/PrsecImproptFoodInfoService03/getPrsecImproptFoodList01
- 식품안전나라 회수·판매중지 (I0490):
https://www.foodsafetykorea.go.kr/api/openApiInfo.do?menu_grp=MENU_GRP31&menu_no=661&show_cnt=10&start_idx=1&svc_no=I0490&svc_type_cd=API_TYPE06
- 식품안전나라 회수 sample:
https://openapi.foodsafetykorea.go.kr/api/sample/I0490/json/1/5
- 건강기능식품 기능성 원료 인정현황 (I-0040):
https://www.foodsafetykorea.go.kr/api/openApiInfo.do?menu_grp=MENU_GRP31&menu_no=661&show_cnt=10&start_idx=1&svc_no=I-0040&svc_type_cd=API_TYPE06
- 건강기능식품 기능성 원료 sample:
https://openapi.foodsafetykorea.go.kr/api/sample/I-0040/json/1/5
- 건강기능식품 개별인정형 정보 (I-0050):
https://www.foodsafetykorea.go.kr/api/openApiInfo.do?menu_grp=MENU_GRP31&menu_no=661&show_cnt=10&start_idx=1&svc_no=I-0050&svc_type_cd=API_TYPE06
- 건강기능식품 개별인정형 sample:
https://openapi.foodsafetykorea.go.kr/api/sample/I-0050/json/1/5
- 검사부적합(국내) (I2620):
https://www.foodsafetykorea.go.kr/api/openApiInfo.do?menu_grp=MENU_GRP31&menu_no=661&show_cnt=10&start_idx=1&svc_no=I2620&svc_type_cd=API_TYPE06
- 검사부적합(국내) sample:
https://openapi.foodsafetykorea.go.kr/api/sample/I2620/json/1/5
- 건강기능식품 품목제조 신고사항 (I0030):
https://www.foodsafetykorea.go.kr/api/openApiInfo.do?menu_grp=MENU_GRP31&menu_no=661&show_cnt=10&start_idx=1&svc_no=I0030&svc_type_cd=API_TYPE06
- 건강기능식품 품목제조 신고 sample:
https://openapi.foodsafetykorea.go.kr/api/sample/I0030/json/1/5
- 프록시 route:
GET /v1/mfds/food-safety/search
- 프록시 route:
GET /v1/mfds/food-safety/health-food-ingredient
- 프록시 route:
GET /v1/mfds/food-safety/product-report
- 프록시 route:
GET /v1/mfds/food-safety/inspection-fail
Workflow
- 증상/섭취상황이 있으면 인터뷰를 먼저 진행한다.
- red flag 가 있으면 즉시 응급 안내로 전환한다.
- "이거 먹어도 되나?" 류 질문:
/v1/mfds/food-safety/product-report 로 건강기능식품 품목제조 신고사항을 조회한다 (원재료, 기능성, 섭취 주의사항, 기준규격). 고시형 원료(차전자피 등)는 여기서 확인.
/v1/mfds/food-safety/health-food-ingredient 로 건강기능식품 기능성 원료 인정현황을 조회한다 (개별인정형 원료의 1일 섭취량, 주의사항).
/v1/mfds/food-safety/inspection-fail 로 국내 검사부적합 이력을 확인한다.
/v1/mfds/food-safety/search 로 회수·부적합 공개 목록도 함께 조회한다.
- 제품명, 업체명, 기능성, 섭취량, 주의사항, 부적합 사유를 짧게 정리하고, 먹어도 되는지 단정하지 않는다.
- 프록시가
FOODSAFETYKOREA_API_KEY 없이 동작 중이면 결과가 sample feed 기반일 수 있음을 warnings 로 확인한다.
CLI examples
python3 scripts/mfds_food_safety.py interview \
--question "이 김밥 먹어도 되나요?" \
--symptoms "복통과 설사"
python3 scripts/mfds_food_safety.py search --query "김밥" --limit 5
python3 scripts/mfds_food_safety.py product-report --query "차전자피" --limit 5
python3 scripts/mfds_food_safety.py health-food-ingredient --query "스타놀" --limit 5
python3 scripts/mfds_food_safety.py inspection-fail --query "쪽갓" --limit 5
Response policy
- 이 스킬은 직접 진단을 하지 않는다.
- 이 스킬은 식중독 진단이나 섭취 허가/금지의 최종 판정을 하지 않는다.
- 공식 공개 목록에 있는 사실만 전달한다.
- 증상이 있는 질문은 인터뷰 없이 바로 답하지 않는다.
- red flag 또는 고위험군이면 의료진 상담을 우선 권고한다.
Done when
- 증상 또는 섭취상황을 먼저 되물었다.
- red flag 여부를 확인했다.
- 프록시 route를 통해 공식 공개 목록에서 제품명 또는 업체명 기준 결과를 최소 1건 이상 찾았거나, 없다고 분명히 알렸다.
- 제품명, 업체명, 공개사유/부적합 사유, 공개일자를 포함한 요약을 제공했다.
1---2name: mfds-food-safety3description: 식약처/식품안전나라 공개 표면을 k-skill-proxy 경유로 조회하기 전에 증상·섭취상황을 반드시 되묻는 인터뷰형 식품 안전 체크 스킬.4license: MIT5---6
7# 식품 안전 체크
8
9## What this skill does
10
11식약처/식품안전나라 공개 표면을 **`k-skill-proxy` 경유**로 조회해 식품 안전 정보를 확인한다.
12
13조회 가능한 공식 데이터:
14- **건강기능식품 기능성 원료 인정현황** (I-0040) — 원료가 공식 인정됐는지, 1일 섭취량, 섭취시 주의사항
15- **건강기능식품 개별인정형 정보** (I-0050) — 개별 인정 원료의 기능성, 섭취량 상·하한, 주의사항
16- **건강기능식품 품목제조 신고사항** (I0030) — 신고된 제품의 원재료, 기능성, 섭취 주의사항, 기준규격 (고시형 원료 포함)
17- **검사부적합 현황(국내)** (I2620) — 국내 유통 식품 부적합 판정 이력
18- **부적합 식품 목록** — 공공데이터포털 경유
19- **회수·판매중지 공개 목록** (I0490) — 식품안전나라 경유
20
21하지만 사용자가 복통, 설사, 발진 같은 증상을 말하면 **바로 단정하지 말고 먼저 되묻는다.**
22
23- 누가 먹었는지 (본인/아이/임산부/고령자)
24- 무엇을 언제 얼마나 먹었는지
25- 같이 먹은 음식/술/약
26- 현재 증상과 시작 시점
27- 기저질환, 임신, 알레르기
28- red flag (`혈변`, `탈수`, `호흡곤란`, `의식저하`, `심한 복통/고열`)
29
30red flag 가 있으면 식품 조회보다 **즉시 응급실·119·의료진 안내**가 우선이다.
31
32## When to use
33
34- "이 음식 먹어도 괜찮니?" → 건강기능식품 원료 인정현황 + 검사부적합 조회
35- "차전자피를 먹어도 되나?" → 기능성 원료 인정현황에서 1일 섭취량·주의사항 확인
36- "이 김밥 먹고 배가 아픈데 회수 이력 있나?" → 회수·부적합 목록 조회
37- "식약처 공식 부적합 식품 목록에서 제품명 확인해줘"
38- "식품안전나라 공개 회수 목록에서 업체명으로 찾아줘"
39
40## Prerequisites
41
42- 인터넷 연결
43- `python3`
44- 설치된 skill payload 안에 `scripts/mfds_food_safety.py` helper 포함
45- `k-skill-proxy`의 food-safety route들이 있는 hosted/self-host 프록시에 접근 가능할 것
46
47## Credential requirements
48
49- 사용자 측 **필수** 시크릿 없음.
50- `KSKILL_PROXY_BASE_URL` — self-host·별도 프록시를 쓸 때만 설정. 비우면 기본 hosted `https://k-skill-proxy.nomadamas.org` 를 사용한다.
51- `DATA_GO_KR_API_KEY` 는 **프록시 운영 서버** 환경에서 부적합 식품 live 조회용으로만 둔다.
52- `FOODSAFETYKOREA_API_KEY` 는 **프록시 운영 서버** 환경에서 식품안전나라 live 조회용으로만 둔다. 없으면 public sample feed로 fallback 할 수 있다.
53- FOODSAFETYKOREA_API_KEY 발급: `https://www.foodsafetykorea.go.kr` 에서 회원가입 후 OpenAPI 이용신청. 하나의 키로 I-0040, I-0050, I0490, I2620 등 모든 서비스 호출 가능.
54
55## Mandatory interview first
56
57증상/섭취상황이 언급되면 결론을 말하기 전에 먼저 되묻는다.
58
59권장 첫 질문 예시:
60
61- `누가 무엇을 언제 얼마나 먹었는지, 지금 복통/구토/설사/발진 같은 증상이 있는지 먼저 알려주세요.`
62- `호흡곤란, 혈변, 심한 탈수, 의식저하, 심한 복통/고열이 있으면 즉시 응급실이나 119가 우선입니다.`
63
64## Official surfaces
65
66- 공공데이터포털 문서: `https://www.data.go.kr/data/15056516/openapi.do`
67- 부적합 식품 endpoint: `https://apis.data.go.kr/1471000/PrsecImproptFoodInfoService03/getPrsecImproptFoodList01`
68- 식품안전나라 회수·판매중지 (I0490): `https://www.foodsafetykorea.go.kr/api/openApiInfo.do?menu_grp=MENU_GRP31&menu_no=661&show_cnt=10&start_idx=1&svc_no=I0490&svc_type_cd=API_TYPE06`
69- 식품안전나라 회수 sample: `https://openapi.foodsafetykorea.go.kr/api/sample/I0490/json/1/5`
70- 건강기능식품 기능성 원료 인정현황 (I-0040): `https://www.foodsafetykorea.go.kr/api/openApiInfo.do?menu_grp=MENU_GRP31&menu_no=661&show_cnt=10&start_idx=1&svc_no=I-0040&svc_type_cd=API_TYPE06`
71- 건강기능식품 기능성 원료 sample: `https://openapi.foodsafetykorea.go.kr/api/sample/I-0040/json/1/5`
72- 건강기능식품 개별인정형 정보 (I-0050): `https://www.foodsafetykorea.go.kr/api/openApiInfo.do?menu_grp=MENU_GRP31&menu_no=661&show_cnt=10&start_idx=1&svc_no=I-0050&svc_type_cd=API_TYPE06`
73- 건강기능식품 개별인정형 sample: `https://openapi.foodsafetykorea.go.kr/api/sample/I-0050/json/1/5`
74- 검사부적합(국내) (I2620): `https://www.foodsafetykorea.go.kr/api/openApiInfo.do?menu_grp=MENU_GRP31&menu_no=661&show_cnt=10&start_idx=1&svc_no=I2620&svc_type_cd=API_TYPE06`
75- 검사부적합(국내) sample: `https://openapi.foodsafetykorea.go.kr/api/sample/I2620/json/1/5`
76- 건강기능식품 품목제조 신고사항 (I0030): `https://www.foodsafetykorea.go.kr/api/openApiInfo.do?menu_grp=MENU_GRP31&menu_no=661&show_cnt=10&start_idx=1&svc_no=I0030&svc_type_cd=API_TYPE06`
77- 건강기능식품 품목제조 신고 sample: `https://openapi.foodsafetykorea.go.kr/api/sample/I0030/json/1/5`
78- 프록시 route: `GET /v1/mfds/food-safety/search`
79- 프록시 route: `GET /v1/mfds/food-safety/health-food-ingredient`
80- 프록시 route: `GET /v1/mfds/food-safety/product-report`
81- 프록시 route: `GET /v1/mfds/food-safety/inspection-fail`
82
83## Workflow
84
851. 증상/섭취상황이 있으면 인터뷰를 먼저 진행한다.
862. red flag 가 있으면 즉시 응급 안내로 전환한다.
873. "이거 먹어도 되나?" 류 질문:
88 - `/v1/mfds/food-safety/product-report` 로 건강기능식품 품목제조 신고사항을 조회한다 (원재료, 기능성, 섭취 주의사항, 기준규격). 고시형 원료(차전자피 등)는 여기서 확인.
89 - `/v1/mfds/food-safety/health-food-ingredient` 로 건강기능식품 기능성 원료 인정현황을 조회한다 (개별인정형 원료의 1일 섭취량, 주의사항).
90 - `/v1/mfds/food-safety/inspection-fail` 로 국내 검사부적합 이력을 확인한다.
91 - `/v1/mfds/food-safety/search` 로 회수·부적합 공개 목록도 함께 조회한다.
924. 제품명, 업체명, 기능성, 섭취량, 주의사항, 부적합 사유를 짧게 정리하고, 먹어도 되는지 단정하지 않는다.
935. 프록시가 `FOODSAFETYKOREA_API_KEY` 없이 동작 중이면 결과가 sample feed 기반일 수 있음을 warnings 로 확인한다.
94
95## CLI examples
96
97```bash
98python3 scripts/mfds_food_safety.py interview \
99 --question "이 김밥 먹어도 되나요?" \
100 --symptoms "복통과 설사"
101```
102
103```bash
104python3 scripts/mfds_food_safety.py search --query "김밥" --limit 5
105```
106
107```bash
108python3 scripts/mfds_food_safety.py product-report --query "차전자피" --limit 5
109```
110
111```bash
112python3 scripts/mfds_food_safety.py health-food-ingredient --query "스타놀" --limit 5
113```
114
115```bash
116python3 scripts/mfds_food_safety.py inspection-fail --query "쪽갓" --limit 5
117```
118
119## Response policy
120
121- 이 스킬은 **직접 진단**을 하지 않는다.
122- 이 스킬은 **식중독 진단**이나 **섭취 허가/금지의 최종 판정**을 하지 않는다.
123- 공식 공개 목록에 있는 사실만 전달한다.
124- 증상이 있는 질문은 인터뷰 없이 바로 답하지 않는다.
125- red flag 또는 고위험군이면 의료진 상담을 우선 권고한다.
126
127## Done when
128
129- 증상 또는 섭취상황을 먼저 되물었다.
130- red flag 여부를 확인했다.
131- 프록시 route를 통해 공식 공개 목록에서 제품명 또는 업체명 기준 결과를 최소 1건 이상 찾았거나, 없다고 분명히 알렸다.
132- 제품명, 업체명, 공개사유/부적합 사유, 공개일자를 포함한 요약을 제공했다.