This monitors Catchtable for cancelled reservation slots at popular Korean restaurants and auto-books them the moment they appear. You give it a restaurant name, date, party size, and it polls every 30 seconds until a slot opens, then clicks through the booking form using your logged-in Chrome session via Chrome MCP. Supports multi-target monitoring (check three restaurants, grab whichever opens first), opening day sniping with precise timing, and a dry-run mode that just alerts you instead of booking. The real value is for places like Mingles or Onjium where reservations are impossible to get manually. Won't handle payment info automatically, so you'll need to complete checkout yourself for prepaid restaurants. Built specifically for the Korean market and requires you to already be logged into Catchtable in Chrome.
npx -y skills add nomadamas/k-skill --skill catchtable-sniper --agent claude-codeInstalls into .claude/skills of the current project.
캐치테이블에서 원하는 식당의 빈자리(취소 슬롯)를 30초 간격으로 감시하다가 발견하는 즉시 자동 예약합니다.
멀티 타겟 동시 감시, 예약 오픈런 모드, 인원 유연 매칭, Dry-run 알림 전용 모드를 지원합니다.
"온지음 5월 토요일 저녁 2인 빈자리 나오면 예약해줘""온지음, 밍글스, 라연 중 5월 주말 2인 아무데나 먼저 뜨는 거 잡아줘" ← 멀티 타겟"라연 5월 예약 오픈이 4월 30일 오전 10시야, 그때 맞춰서 잡아줘" ← 오픈런 모드"스시야마 이번달 안에 2인 — 못 잡으면 4인 있으면 알려줘" ← 인원 유연"밍글스 빈자리 뜨면 예약은 내가 할게 알림만 줘" ← Dry-run 모드"https://app.catchtable.co.kr/ct/shop/mingles 토요일 4명 자동예약"app.catchtable.co.kr)에 로그인된 Chrome 세션 필요이 스킬은 이미 Chrome에 로그인된 세션을 그대로 사용합니다.
로그인 정보를 스킬에 전달하지 않습니다.
로그인 안 된 경우:
"캐치테이블에 로그인되어 있지 않습니다.
Chrome에서 캐치테이블에 카카오/네이버 로그인 후 다시 실행해주세요."
→ 스킬 중단. 로그인 자동화 없음.
사용자 입력에서 다음을 추출한다:
| 항목 | 예시 | 필수 여부 |
|---|---|---|
| 식당명 또는 URL | "온지음" / app.catchtable.co.kr/ct/shop/onjium | 필수 (복수 가능) |
| 날짜 | "5월 3일", "이번 주 토요일", "5월 주말 전체" | 필수 |
| 인원 | "2명", "4인" | 필수 |
| 시간대 | "저녁", "19시 이후" | 선택 (없으면 전체) |
| 모드 | "알림만", "dry-run" | 선택 (없으면 자동예약) |
| 인원 유연 | "2인 없으면 4인도 괜찮아" | 선택 |
| 오픈 시간 | "4월 30일 오전 10시 오픈" | 선택 (오픈런 모드) |
| 폴링 간격 | "30초마다" | 선택 (기본: 30초) |
멀티 타겟 감지: 식당명이 쉼표/슬래시로 구분되거나 "중 아무데나", "먼저 뜨는 거" 표현이 있으면 멀티 타겟 모드로 전환.
Chrome MCP로 캐치테이블 접속:
navigate: https://app.catchtable.co.kr
MY 탭에서 로그인 상태 확인. 미로그인 시 중단.
입력 파싱 완료
├─ 오픈 시간 명시됨 → STEP 2-A (오픈런 모드)
└─ 오픈 시간 없음 → STEP 2-B (취소 스나이핑 모드)
예약 오픈 시간까지 대기:
[10:00:00 오픈 예정] 현재 09:58:42 — 77초 후 오픈
[10:00:00] ✅ 오픈 시각 도달 — 즉시 예약 시도
오픈 시각 정각에 날짜 선택 → 슬롯 클릭 → 예약 폼 진입.
슬롯이 이미 마감이면 → 취소 스나이핑 모드(STEP 2-B)로 자동 전환.
while 빈자리 없음:
{폴링 간격}초 대기
페이지 새로고침 또는 날짜 재클릭
슬롯 파싱
빈자리 발견 → STEP 3
단일 타겟: 해당 식당 슬롯 확인.
멀티 타겟: 지정된 식당들을 순차 순회하며 슬롯 확인.
[14:23:15] 온지음 5/3 확인 중... 없음
[14:23:17] 밍글스 5/3 확인 중... 없음
[14:23:19] 라연 5/3 확인 중... 없음 (30초 후 재시도)
[14:23:49] ✅ 밍글스 5/3 19:30 빈자리 발견! — 예약 시작
한 곳에서 슬롯 발견 시 나머지 감시 즉시 중단 → 발견된 식당 예약 진행.
지정 인원(예: 2인) 슬롯이 없을 경우:
if 인원_유연 == True:
대안_인원(예: 4인) 슬롯 확인
발견 시:
"2인 슬롯은 없지만 4인 슬롯(19:00)이 있습니다.
4인으로 예약할까요? (예/아니오)"
→ 사용자 확인 후 진행
Dry-run 모드 ("알림만" / "dry-run" 입력 시):
✅ 빈자리 발견! 예약은 진행하지 않습니다.
식당: 밍글스
날짜: 5월 3일(토)
시간: 19:30
인원: 2명
→ 지금 바로 예약하시겠습니까? (예/아니오)
→ 예약 여부는 사람이 결정.
자동예약 모드 (기본):
빈 슬롯 버튼 즉시 클릭 → 예약 폼 진입.
폼 자동 입력:
선결제 식당인 경우:
"빈자리를 발견했습니다! 결제가 필요합니다.
결제 금액: {금액}원
지금 결제를 진행할까요? (예/아니오)"
→ 결제 정보 자동 입력 없음. 사용자 확인 후 결제 진행.
무료 예약: "예약하기" 최종 확인 버튼 클릭.
🎉 예약 완료!
식당: {식당명}
날짜: {날짜}
시간: {시간}
인원: {인원}명
모드: {자동예약 / Dry-run}
예약번호: {예약번호}
캐치테이블 앱 > MY > 예약내역에서 확인 가능합니다.
[14:23:15] 밍글스 5/3 저녁 슬롯 확인 중... 빈자리 없음 (30초 후 재시도)
[14:23:45] 온지음 5/3 저녁 슬롯 확인 중... 빈자리 없음
[14:24:15] ✅ 밍글스 5/3 19:30 (2인) 빈자리 발견! — 예약 시작
| 항목 | 기본값 | 범위 |
|---|---|---|
| 폴링 간격 | 30초 | 30초 이상 |
| 최대 감시 시간 | 2시간 | — |
| 멀티 타겟 최대 수 | 5개 | — |
2시간 초과 시:
"2시간 동안 빈자리가 없었습니다. 계속 시도할까요? (예/아니오)"
| 상황 | 대응 |
|---|---|
| 식당 페이지 404 | "식당을 찾을 수 없습니다. 이름을 다시 확인해주세요." |
| 예약 오픈 전 | 오픈 일정 안내 후 오픈런 모드로 전환 제안 |
| 슬롯 클릭 후 이미 마감 | 즉시 재폴링 재개 |
| 네트워크 오류 | 10초 후 재시도, 3회 연속 실패 시 사용자 알림 |
| 멀티 타겟 중 일부 404 | 해당 식당 제외, 나머지 계속 감시 |
| 2시간 초과 | "계속 시도할까요?" 확인 후 연장 또는 종료 |
다음 중 하나:
"온지음 5월 10일 저녁 2인 빈자리 나오면 예약해줘"
"온지음, 밍글스, 라연 5월 토요일 저녁 2인 중 아무데나 먼저 뜨는 거 잡아줘"
"라연 5월 예약이 4월 30일 오전 10시 오픈이야, 그때 맞춰 2인 잡아줘"
"스시야마 이번달 2인 — 없으면 4인도 괜찮아, dry-run으로"
"https://app.catchtable.co.kr/ct/shop/mingles 토요일 4명 자동예약"
juliusbrussee/caveman
mattpocock/skills
shadcn/improve
obra/superpowers
forrestchang/andrej-karpathy-skills
vercel-labs/skills