Luma 잠재고객 찾기 — 이벤트 참석자를 검증된 영업 기회로 전환 — Claude Skill
Claude Code용 Claude 스킬 · 제공: Gooseworks · 실행: /get-qualified-leads-from-luma (Claude 내)·업데이트: 2026년 6월 12일
주제와 지역으로 Luma 이벤트에서 적격 잠재고객을 찾습니다
- 주제와 지역에 맞는 Luma 이벤트를 검색합니다
- 이벤트별 모든 참석자와 호스트를 추출합니다
- ICP 프롬프트 기준으로 참석자를 검증합니다
- Google Sheets로 결과를 내보냅니다
- 상위 잠재고객을 Slack 알림으로 보냅니다
대상
기능
분야와 관련된 모든 이벤트를 찾고 각 이벤트에서 적격 잠재고객을 확보합니다.
행사에 참석하기 전에 어떤 참석자가 ICP에 맞는지 정확히 파악합니다.
KOL 추적 목록에 추가할 연사와 호스트를 찾습니다.
작동 방식
주제, 지역, ICP 기준을 입력으로 받습니다
일치하는 Luma 이벤트를 검색합니다
이벤트별 참석자와 호스트를 추출합니다
각 사람을 ICP 프롬프트 기준으로 검증합니다
Sheets로 내보내고 Slack에 알립니다
개선되는 지표
지원 도구
Luma 이벤트 적격 잠재고객 찾기을(를) 사용해 보시겠어요?
시작 방법을 선택하세요.
이 스킬을 컴퓨터에 로컬로 설치하고 실행합니다.
컴퓨터에서 터미널을 열고 이 명령을 붙여넣으세요:
이 명령은 스킬과 모든 파일을 컴퓨터에 다운로드합니다:
모든 프로젝트에서 사용하려면 끝에 -g를 추가하세요.
Claude Code를 시작한 다음 명령을 입력하세요:
Luma 이벤트에서 적격 잠재고객 찾기
주제와 지역으로 Luma 이벤트를 검색하고, 모든 참석자와 호스트를 추출하며, ICP 기준으로 검증하고, Google Sheet로 내보낸 뒤 상위 잠재고객을 Slack 알림으로 보냅니다.
이 스킬은 luma-event-attendees, lead-qualification, Google Sheets 출력, Slack 알림을 하나로 연결하는 5단계 파이프라인입니다.
0단계: 검색 매개변수 명확히 하기
작업을 시작하기 전에 아래 질문에 대한 답이 분명한지 확인하세요. 사용자의 프롬프트에 이미 포함되어 있다면 다음 단계로 넘어갑니다. 그렇지 않다면 물어보세요.
- 지역 — 이벤트가 어디에서 열려야 하나요? (예: "San Francisco", "New York", "London")
- 주제/키워드 — 어떤 이벤트 주제인가요? 충족 범위를 넓히기 위해 3-5개의 키워드 변형을 제안하세요. 예를 들어 사용자가 "성장 마케팅"이라고 하면 "GTM", "수요 창출", "스타트업 성장", "그로스 해킹", "마케팅 리더십"도 함께 제안합니다.
- 기간 — 얼마나 최근의 이벤트여야 하나요? (예: "지난 2주", "지난달", "이번 분기"). 사용자가 지정하지 않으면 최근 30일을 기본값으로 둡니다. Luma 검색은 몇 달 또는 몇 년 전 이벤트도 반환할 수 있으므로 오래된 결과를 피하려면 항상 기간을 확인하세요.
- 검증 프롬프트 — 사용자가
skills/lead-qualification/qualification-prompts/안에 기존 검증 프롬프트를 갖고 있나요? 없다면 ICP를 큰 틀에서 어떻게 설명하나요? (lead-qualification수집 모드로 만들 수 있습니다) - Slack 채널/웹후크 — 알림을 어디로 보내야 하나요? 웹후크 URL인가요, Slack 채널 이름인가요?
- Slack 알림에 포함할 상위 잠재고객 수는 몇 명인가요? (기본값: 5)
이 질문을 번호 목록으로 제시하세요. 사용자는 한 번에 답할 수 있습니다.
1단계: Luma 검색 및 참석자 추출
충족 범위를 최대화하려면 여러 키워드 변형으로 luma-event-attendees 스킬을 사용하세요.
병렬 검색 실행
사용자의 주제와 지역을 조합해 3-5개의 키워드 변형을 만듭니다. 모두 병렬로 실행하세요.
# 각 검색 변형을 병렬로 실행
python3 skills/luma-event-attendees/scripts/scrape_event.py --search "AI San Francisco" --output /tmp/luma_search_1.csv
python3 skills/luma-event-attendees/scripts/scrape_event.py --search "Growth Marketing San Francisco" --output /tmp/luma_search_2.csv
python3 skills/luma-event-attendees/scripts/scrape_event.py --search "GTM San Francisco" --output /tmp/luma_search_3.csv
기간으로 필터링
결과를 수집한 뒤 event_date 열을 사용해 사용자가 지정한 기간 밖의 이벤트를 제외하세요. Luma 검색은 모든 기간의 이벤트를 반환하므로 오래된 잠재고객을 피하려면 이 단계가 필수입니다. 기간이 지정되지 않았다면 최근 30일을 기본값으로 둡니다.
중복 제거
이름 기준으로 병합하고 중복을 제거하세요(대소문자 구분 없음). None 이름은 안전하게 처리해 이름이 없는 항목은 건너뜁니다.
중복 제거 결과를 CSV로 저장하세요.
/tmp/luma_all_attendees.csv
사용자에게 보고할 내용:
- 중복 제거 전 전체 결과 수
- 중복 제거 후 고유 인원 수
- LinkedIn 프로필이 있는 인원 수
- 포함된 이벤트 수
2단계: 참석자 데이터를 CSV로 저장
파이프라인 전체에서 CSV를 사용하세요. Google Sheets 생성은 마지막 단계(4단계)에서만 수행합니다. 중간 과정에서 큰 데이터셋을 Sheets에 쓰면 느리고 오류가 나기 쉽기 때문입니다.
1단계의 CSV(/tmp/luma_all_attendees.csv)가 작업 파일입니다. 열은 다음을 포함해야 합니다.
| name | event_role | bio | title | company | linkedin_url | twitter_url | instagram_url | website_url | username | event_name | event_date | event_url |
|---|
3단계: 잠재고객 검증
모든 참석자를 검증하려면 lead-qualification 스킬(모드 2: 프롬프트 재사용)을 사용하세요.
배치 준비
- 사용자가 지정한 파일에서 검증 프롬프트를 읽습니다(예:
skills/lead-qualification/qualification-prompts/ai-event-attendees-gtm.md) - 참석자를 배치당 약 15-20명으로 나눕니다
- 각 잠재고객에 대해 id(행 번호), name, event_role, bio, title, company, linkedin_url, event_name을 포함합니다
병렬 검증 실행
Task 도구와 sonnet 모델 하위 에이전트를 사용해 모든 배치를 동시에 실행하세요.
Task: "잠재고객 검증 배치 1/N"
- 전체 검증 프롬프트 텍스트 포함
- 잠재고객 배치를 JSON으로 포함
- JSON 배열로 출력하도록 요청: [{id, name, qualified, confidence, reasoning}]
Task: "잠재고객 검증 배치 2/N"
... (모두 한 번에 실행)
결과 병합
- 모든 배치 결과를 수집합니다
- 원본 ID를 보존하면서 하나의 JSON 배열로 병합합니다
- 적격 잠재고객을 신뢰도순으로 정렬합니다(높음, 중간, 낮음 순)
- 결과를 저장합니다.
/tmp/all_qual_results.json— 전체 195개 결과/tmp/qualified_leads.json— 적격 잠재고객만 신뢰도순으로 정렬
사용자에게 보고할 내용:
- 처리한 전체 잠재고객 수
- 적격 수와 비율
- 신뢰도 수준별 분포(높음 / 중간 / 낮음)
- 주요 부적격 사유
4단계: 결과가 담긴 Google Sheet 만들기
이제 원본 참석자와 검증 결과를 모두 포함하는 Google Sheet를 만듭니다.
Google Sheets에는 Rube MCP 사용
RUBE_SEARCH_TOOLS로 Google Sheets 도구를 찾습니다("google sheet create" 검색)- 새 시트 이름:
Luma Leads - [Topic] - [Date] - 시트 1("All Attendees"): 모든 참석자 행을 원본 열과 함께 작성하고 다음 열을 추가합니다.
Qualified— Yes / NoConfidence— High / Medium / LowReasoning— 2-3문장 설명
- 시트 2("Qualified Leads"): 적격 잠재고객만 신뢰도순으로 정렬
큰 데이터셋 쓰기 전략
Google Sheets API는 큰 데이터셋에서 느릴 수 있습니다. 다음 방식을 사용하세요.
- 먼저 헤더 행을 씁니다
- 배치 업데이트 작업으로 데이터를 50행씩 나누어 씁니다
- 한 청크가 실패하면 다음으로 넘어가기 전에 한 번 재시도합니다
대안
Rube/Sheets를 사용할 수 없으면 CSV로 저장합니다.
/tmp/luma_qualified_leads_[date].csv
Google Sheet 링크(또는 CSV 경로)를 사용자에게 제시하세요.
5단계: Slack 알림 보내기
상위 N명의 적격 잠재고객을 담은 형식화된 Slack 메시지를 보냅니다(기본값: 5명 또는 사용자가 지정한 수).
사용자가 웹후크 URL을 제공한 경우
urllib.request를 사용하는 Python으로 웹후크에 POST합니다.
import json
import urllib.request
message = {
"blocks": [
{"type": "header", "text": {"type": "plain_text", "text": "[Topic] 이벤트에서 찾은 상위 N명 적격 잠재고객"}},
{"type": "section", "text": {"type": "mrkdwn", "text": "_Y개 이벤트의 X명 참석자 중 Z명이 적격(P%)입니다. 상위 N명은 다음과 같습니다:_"}},
# 각 잠재고객:
{"type": "section", "text": {"type": "mrkdwn", "text": "*1. Name* [Confidence]\n LinkedIn: url\n Bio: ...\n 선정 이유: reasoning"}},
{"type": "divider"},
# 하단에 스프레드시트 링크
{"type": "section", "text": {"type": "mrkdwn", "text": "<sheet_url|전체 스프레드시트 보기> (X명 참석자, Y명 적격)"}}
]
}
req = urllib.request.Request(webhook_url, data=json.dumps(message).encode(), headers={"Content-Type": "application/json"})
urllib.request.urlopen(req)
사용자가 Rube MCP로 Slack 전송을 원하는 경우
RUBE_SEARCH_TOOLS로 Slack 도구를 찾은 다음 SLACK_SEND_MESSAGE 또는 유사 도구로 전송하세요.
메시지 형식
Slack 알림에는 각 상위 잠재고객별로 다음을 포함해야 합니다.
- 이름과 신뢰도 수준
- LinkedIn URL(클릭 가능)
- 소개 — 한 줄 요약
- 선정 이유 — 검증 근거(필요하면 약 150자로 줄임)
마지막에는 전체 Google Sheet 링크를 넣습니다.
비용 추정
| 구성 요소 | 비용 |
|---|---|
| Luma scraper (Apify) | 월 $29 고정 구독 |
| LinkedIn 보강(선택) | 잠재고객 100명당 약 $0.03 |
| Google Sheets | 무료(Rube/Composio 경유) |
| LLM 검증 | 실행당 약 $0.10-0.30(배치 크기에 따라 다름) |
| Slack 웹후크 | 무료 |
일반적인 실행: 3-5개의 검색 변형에서 약 200명의 참석자를 처리할 때 실질 비용은 Apify 구독료와 LLM 토큰 몇 센트 정도입니다.
예시 프롬프트
기존 프롬프트로 빠르게 실행:
"SF의 AI 및 성장 이벤트에서 적격 잠재고객을 찾아줘. ai-event-attendees-gtm 검증 프롬프트를 사용해. 상위 5명을 Slack 웹후크로 보내줘: https://hooks.slack.com/..."
전체 명세:
"New York의 스타트업, SaaS, AI 이벤트를 검색해. 모든 참석자를 추출해. 우리 시리즈 A 창업자 ICP 기준으로 검증해. 모든 내용을 Google Sheet에 넣고 상위 10명을 Slack으로 보내줘."
최소 요청(명확화 질문 유도):
"SF 기술 이벤트에서 잠재고객을 찾아줘"
문제 해결
Apify 토큰이 설정되지 않음
export APIFY_API_TOKEN="your_token"
# 또는 skills/luma-event-attendees/.env 확인
게스트를 찾을 수 없음
일부 Luma 이벤트는 show_guest_list를 비활성화합니다. Apify scraper는 여전히 주요 게스트를 가져올 수 있지만, 모든 이벤트에서 전체 참석자 목록을 가져올 수 있는 것은 아닙니다.
Google Sheets 쓰기가 느림
큰 데이터셋에서는 정상적인 현상입니다. 이 스킬은 50행 청크로 씁니다. 너무 느리거나 실패하더라도 결과는 항상 /tmp/의 CSV로 제공됩니다.
Slack 웹후크가 오류를 반환함
웹후크 URL이 올바르고 Slack 앱이 워크스페이스에 계속 설치되어 있는지 확인하세요. 간단한 curl로 테스트합니다.
curl -X POST -H 'Content-Type: application/json' -d '{"text":"test"}' YOUR_WEBHOOK_URL