Event finder
Orchestrate destination-event discovery: route the traveler's taste tags to the right vertical scouts among seven — gallery, music, tech, social (meetups/community), fashion (pop-ups/drops/store openings), food (gourmet festivals/pop-up dining), sports (pro league/esports spectating) — run them over destination × travel-window × taste, then merge, dedupe, and rank by travel-worthiness with borderline cases sent to the dedicated local-insider-gate. Floor: 6+ named events, every item source-tagged with the dual timeline and confirmed to overlap the travel window. Use when the user says '그 기간에 뭐 해?', '서울 가는데 이벤트 찾아줘', '내 취향에 맞는 행사 있어?', '전시든 공연이든 팝업이든 다 찾아줘', '여행 중에 갈 만한 것 추천', or the same intent in any language — e.g. 'what's on in Tokyo while I'm there?', 'find events matching my taste', 'I'm visiting Paris in May, what should I catch?' — or after traveler-profile confirms destination and dates. Works for any destination city worldwide and mirrors the user's language (see curator-context Language & coverage policy). Never lists local-resident community programs as travel anchors — that failure mode is the reason this plugin exists.From its SKILL.md
npx -y skills add metalaihq/trip-event-curator --skill event-finderAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
7.6 KB, ~2.8k tokens by cl100k_base, as published. Nobody here has run it
Event Finder (발굴 오케스트레이터 — 7버티컬 라우팅·병합·여행가치 랭킹)
여행지×기간×취향의 교집합을 버티컬별 스카우트로 발굴해 하나의 랭킹된 이벤트 목록으로 만든다. v0.2의 실패("서울 이벤트 추천" → 초등생 광대 워크숍)는 소스 미스매치+게이트 부재였다 — 이 스킬은 버티컬 소스맵을 가진 스카우트에게 위임하고, 여행가치 게이트(경계 사례는 $local-insider-gate 전담 판정)를 통과한 것만 병합한다.
Workflow
- 프로필·컨텍스트 로드 (0단계) —
context/curator-context.md+ TravelerProfile(여행지·날짜·태그) 확인 — 없으면$traveler-profile먼저.date확인. - 버티컬 라우팅 (7종) — 취향 태그→스카우트 매핑:
태그 계열 스카우트 전시·미술·디자인·비엔날레 $gallery-scout(GA)콘서트·페스티벌·공연·클럽 $music-scout(MU)해커톤·학회·컨퍼런스·개발 $tech-scout(TE)밋업·커뮤니티·언어교환·사람 만나기 $social-scout(SO)팝업·드롭·패션·매장 오픈·패션위크 $fashion-scout(FA)미식·와인·커피·다이닝 $food-scout(FO)직관·프로리그·이스포츠·경기 $sports-scout(SP)복수 태그면 복수 실행. 넓은 취향은 넓게: "예술 애호가"→gallery+music+fashion+social, "먹고 노는 거 다"→food+music+fashion. 라우팅 결정(어느 버티컬을 왜)을 기록한다. 커버리지 밖 폴백 (감사 패치 2026-07-08): 7버티컬로 매핑되지 않는 취미(등산·요리 클래스·서핑·독서 모임 등)가 오면 — ① 가장 인접한 버티컬로 발굴을 시도하되(예: 등산→sports의 참가형 아웃도어 행사 각도, 독서 모임→social의 커뮤니티 각도), 산출물에 "이 취미는 현재 7버티컬로 완전히 커버되지 않음"을 정직 갭으로 명시한다 ② 어떤 버티컬로도 의미 있는 발굴 각도가 없으면 억지 매핑 금지 — "현재 미지원 취미"로 보고하고, 어느 버티컬 신설이 필요한지 남긴다. 무관한 결과로 채워 커버리지가 있는 척하는 것은 v0.2 실패의 반복이다. - 스카우트 실행·수집 — 각 스카우트가 여행지×윈도우×취향 교집합에서 신호를 낸다 (각자 references/sources.md의 소스맵·ToS 판정 준수). 스카우트별 기여 건수·시도 검색어를 취합한다.
- 병합·중복 제거 — 같은 이벤트가 다중 소스·다중 버티컬로 들어오면 카드 1장으로 병합(출처 합집합, 주 분류+부 분류 — 예: 아트페어 연계 브랜드 팝업은 FA 주·GA 부). 시리즈·개별 회차 혼동 주의(에디션 라벨).
- 여행가치 랭킹 + 인사이더 게이트 — 4축(기간 한정·인사이더·취향 적합·접근성) 점수화(가중·산식 estimate 라벨), keep/drop 사유 기록. 경계 사례(관광객용인지 애매한 것·관공서 소싱 교차 건)는
$local-insider-gate에 위임해 LI 판정을 받는다 — borderline 판정은 조건과 함께 반영(관광 슬롯 이관 등). 윈도우 교집합 필수 — 안 겹치면 "인접 기간 참고" 버킷 분리. drop 대표 사례를 로그로 남긴다. - 하한 게이트 + 산출 — 병합 후 실명 6+ 검사. 산출: 랭킹 표 + 버티컬별 기여 + 다음 액션(
$entry-tracker추적 대상,$trip-weaver배치).
산출물 스키마
| 순위 | ID(들) | 이벤트 실명 | 버티컬 (주/부) | 기간 (윈도우 교집합 일수) | freshness (기준일) | entry_status (캡처일) | 여행가치 판정 (4축·LI 판정) | 출처 2+ |
|---|
- 인접 기간 참고 버킷 + drop 로그(LI 판정 포함) + 버티컬별 기여 건수·검색어 + 인용 밀도 자가 점검.
하한
- 병합 후 실명 이벤트 6개 이상, 전 항목
[출처|날짜]+ 여행 윈도우 교집합 + 이중 시간축 + 여행가치 판정 기록. 미달 시 진행하지 말고 버티컬별 부족 건수·시도 검색어를 보고한다. 특정 버티컬 0건은 0건으로 정직하게 — 다른 버티컬로 부풀리지 않는다. 커버리지 밖 취미는 인접 버티컬 시도+"완전히 커버되지 않음" 갭 명시가 하한이며, 억지 매핑 항목이 하나라도 있으면 하한 위반이다.
증거 규칙
상세 기준·하한표: evidence-rules.md
- 모든 신호·주장에
[출처명 | 날짜 | 수치 또는 원문 인용]태그. 출처 없는 신호 기재 금지. 학습 기억 문장은(기억 기반—재검증 필요)라벨 — 하한 카운트 제외. - 웹서치가 1차,
assets/snapshot/은 2차 — 모든 상태는 "캡처 시점 기준" 명시. 검색어에 연도·도시 명시. - 여행 윈도우 교집합 의무 — 여행 날짜와 겹치는 이벤트만 채택(안 겹치면 "인접 기간 참고" 분리). 이중 시간축·종료 회기 오인 금지.
- 여행가치 게이트 — 상시 상설·관광객 뻔한 것 배제, 로컬 애호가가 실제 가는 것 우선 (경계 판정:
$local-insider-gate). 가격·재고 날조 금지(미확보=null+정직 갭). - 소스 ToS/robots 실측 준수 — 불가 소스는 공식으로 대체+명기. 하한 미달 시 진행 금지 — 부족 항목 보고가 유일한 대안.
원칙
- 라우팅이 절반이다 — "개발자·해커톤"에게 갤러리부터 들이밀면 취향 매칭이 아니라 소음이다. 단, 넓은 취향은 넓게 돌린다.
- drop 로그는 산출물이다 — "초등생 워크숍을 걸렀다"는 기록이 이 플러그인의 존재 증명이다.
- 중복 제거는 정보 손실이 아니다 — 다중 소스 등장은 오히려 인사이더 신호 가점이다.
- 6개를 못 채우면 못 채웠다고 말하라 — 동네 프로그램으로 채우는 순간 v0.2로 돌아간다.
- 판정이 애매하면 전담 게이트에 물어라 — 오케스트레이터의 감이 아니라 local-insider-gate의 4테스트가 결정한다.
- 커버리지의 경계를 아는 것이 커버리지다 — 7버티컬 밖 취미에 무관한 결과를 들이미는 것보다 "인접 시도 + 미커버 명시"가 여행자를 더 멀리 데려간다.
What ships with it: 1 file
3.1 KB alongside SKILL.md
evals/
- evals.json3.1 KB