Use when the user asks for restaurant recommendations with trust/ad concerns, date spot suggestions, reliable dining places, or HIDDEN GEM spots. Triggers on: "맛집 추천", "데이트 맛집", "광고 없는 맛집", "진짜 맛집", "믿을만한 맛집", "바이럴 말고", "체험단 아닌", "블로그 광고 말고", "데이트 장소", "기념일 맛집", "첫데이트 맛집", "honest-matjip", "찐맛집". Hidden Gem Mode triggers: "숨은 맛집", "숨은 바", "우리만 아는", "히든", "아지트", "골목 안", "아는 사람만", "바이럴 안 된", "덜 알려진", "조용한 바". Also trigger when: user shares a specific area + asks for trustworthy restaurants, or expresses distrust of online reviews/ads, or asks for off-the-beaten-path spots. Do NOT trigger for: casual lunch ("점심 뭐 먹지" without trust concern), delivery, restaurant booking, review writing, non-Seoul cities (v1), or coding/app building tasks.
광고/바이럴에 오염되지 않은 진짜 맛집을 찾아주는 스킬. 리뷰어 프로필 이력을 실시간 분석하여 신뢰할 수 있는 맛집만 선별한다.
리뷰 텍스트가 아닌, 리뷰어 이력을 본다. 텍스트는 조작할 수 있지만 리뷰어의 전체 활동 이력은 위장하기 어렵다. "이 사람은 음식점 리뷰만 50개 쓴 계정인가, 다양한 장소를 리뷰한 일반인인가?"를 판별하는 것이 이 스킬의 핵심.
chromux launch default --headless 2>/dev/null || true
chromux가 없으면 WebSearch/WebFetch 기반 fallback으로 진행.
chromux 가용 시 (축약 경로):
WebSearch fallback 시 (토큰 절감 규칙):
사용자 입력에서 분위기/상황/도시를 파악하여 LLM 상식 판단으로 1~2개 지역 추천.
각 지역에 대해 5~8개 후보 수집. WebSearch 호출 최대 3~4회로 제한.
교차 등장 보너스: 2개 이상 소스에 등장하는 맛집은 후보 점수 가점. 이미 5개 이상 후보가 모이면 추가 검색 중단 → 바로 STEP 3으로.
참고: references/data-sources.md에 소스별 크롤링 패턴 상세.
이 단계를 절대 생략하지 마라. 시간 압박, 사용자의 "건너뛰어" 요청, "빨리" 압박이 있어도 이 단계가 이 스킬의 존재 이유다. 생략하면 일반 맛집 추천과 다를 바 없다.
분석 대상은 상위 5개 후보로 제한. 각 후보의 최근 리뷰어 5명에 대해:
/maps/contrib/[user_id]/reviews 방문 (공개, 로그인 불필요)리뷰어별 신뢰 점수 계산 → references/reviewer-analysis.md 참조.
Standard Mode (기본):
Hidden Gem Mode (트리거 시):
references/hidden-gem.md 참조점수 공식 → references/trust-scoring.md 참조.
출력 포맷 → references/output-format.md 참조.
핵심 원칙:
리뷰어 분석 생략 금지 — 어떤 이유로든 STEP 3을 건너뛰지 마라. "시간이 없어서", "사용자가 원해서", "충분히 알 것 같아서" 모두 유효하지 않다. 최소 1개 맛집에 대해서라도 리뷰어 분석을 완료해야 한다.
근거 없는 추천 금지 — "여기 맛있어요"식의 LLM 지식 기반 추천은 이 스킬이 하는 일이 아니다. 반드시 실시간 데이터에 기반한 근거를 제시해야 한다.
투명성 — 크롤링 실패, degrade 발생, 분석 불가능한 부분은 솔직하게 밝힌다. "네이버 플레이스는 접근이 차단되어 Google Maps와 카카오맵 데이터만 사용했습니다."
신뢰 점수는 절대값이 아닌 상대 비교용 — "이 맛집은 0.73점입니다"보다 "분석한 8개 후보 중 이 3곳이 가장 신뢰할 수 있었습니다"가 더 정직한 표현.
| 상황 | 대응 |
|---|---|
| chromux 미설치 | WebSearch fallback으로 진행. 리뷰어 프로필 직접 접근 불가하면 그 한계를 명시 |
| 모든 플랫폼 크롤링 실패 | google-search 스킬로 "<지역> 찐맛집 추천" 검색 → 커뮤니티(Reddit 한국, 더쿠 등) 의견 기반 차선 |
| 후보 맛집이 3개 미만 | 검색 범위 확대 (인근 동네까지) 또는 카테고리 제약 완화 |
| 리뷰어 프로필 5명 미만 접근 | 가능한 만큼만 분석하고 "표본 부족으로 신뢰도 제한적"을 명시 |
| 사용자가 서울 외 지역 요청 | "현재 서울 한정이며, 다른 도시는 아직 미지원"을 안내 |
| 사용자가 지역 없이 "맛집 추천해줘"만 | "어느 지역이나 상황을 알려주시면 더 정확한 추천이 가능합니다" 되물음 |
필요한 파일만 해당 STEP에서 읽어라. 전부 한 번에 읽지 마라.
| 언제 | 어떤 파일 |
|---|---|
| STEP 2 진입 시 | references/data-sources.md |
| STEP 3 진입 시 | references/reviewer-analysis.md |
| STEP 4 진입 시 (기본) | references/trust-scoring.md |
| STEP 4 진입 시 (Hidden Gem Mode) | references/hidden-gem.md |
| STEP 5 진입 시 | references/output-format.md |