---
name: kakaotalk-sequential-send
description: 카카오톡 메시지를 여러 수신자에게 하나씩 안전하게 전송하며, 각 전송마다 엄격히 검증합니다. 사용자가 카카오톡 연락처/오픈채팅을 검색하여 템플릿 인사말이나 공지를 오발송 없이 전송하도록 요청할 때 사용합니다. 특히 "이 목록에 전송해줘" 같은 반복 작업에서, 각 대상을 열고, 확인하고, 전송한 뒤, 닫고 다음으로 넘어가는 방식으로 처리합니다.
---
# 카카오톡 순차 전송
## 개요
카카오톡 메시지 전송을 **검증된 순차 루프**로 실행합니다:
1. 대상 하나를 검색
2. 채팅 열기 (단일 클릭 + 더블 클릭)
3. 열린 창 제목이 대상과 일치하는지 검증
4. 입력 상자를 클릭하고 메시지를 입력한 뒤 전송
5. 채팅 창 닫기
6. 다음 대상으로 이동
대상별 검증 없이 일괄 전송하지 않습니다.
## 워크플로우
### 1) 사전 준비
- 카카오톡으로 전환하고 메인 창(`카카오톡`)에 포커스를 맞춥니다.
- 포커스가 불안정하면 중단하고 사용자에게 카카오톡을 전면으로 가져오도록 요청합니다.
- 사용자가 명시적으로 오픈채팅을 원하지 않는 한 친구 탭(`cmd+1`)을 우선 사용하며, 오픈채팅의 경우 `오픈채팅` 탭을 사용합니다.
### 2) 대상 검색 및 열기
- 검색(`cmd+f`)을 열고 대상 이름을 입력합니다.
- 안정적인 열기를 위한 권장 방법:
- 검색 결과 행을 단일 클릭
- 이후 같은 행을 더블 클릭
- `peekaboo window list --app '카카오톡'`으로 예상 이름/핵심 이름을 가진 메인이 아닌 채팅 창이 확인될 때까지 진행하지 **않습니다**.
### 3) 메시지 전송 (창 기준 위치)
- 열린 채팅 창에 포커스를 맞춥니다.
- **해당 창 자체의 바운드** 하단 근처의 입력 영역을 클릭합니다 (전역 추정 좌표가 아닌 창 바운드 기준으로 계산).
- `--clear`로 메시지를 입력한 뒤 `return`으로 전송합니다.
### 4) 닫기 및 계속
- 해당 채팅 창을 `cmd+w`로 닫습니다.
- 카카오톡 메인 창에 다시 포커스를 맞춥니다.
- 다음 대상으로 계속 진행합니다.
## 필수 안전 규칙
- 현재 채팅 열기가 검증되지 않으면 절대 다음 수신자로 넘어가지 않습니다.
- 잘못된 채팅이 열리면 즉시 닫고 검색을 재시도합니다.
- 앱 포커스가 다른 앱(예: Chrome)으로 이동하면 타이핑 전에 포커스를 복구합니다.
- 호칭이 포함된 메시지의 경우, 채팅을 열기 전에 텍스트를 구성하고 전송 전에 한 번 더 확인합니다.
## 메시지 템플릿 규칙 (호칭)
수신자에 호칭이 포함된 경우, 메시지 앞에 호칭을 붙입니다:
- 형님 → `형님, 새해 복 많이 받으세요`
- 선생님 → `선생님, 새해 복 많이 받으세요`
- 대표님 → `대표님, 새해 복 많이 받으세요`
- 교수님 → `교수님, 새해 복 많이 받으세요`
- 부장님 → `부장님, 새해 복 많이 받으세요`
- 호칭 없음 → `새해 복 많이 받으세요`
## 실패 처리
열기가 반복적으로 실패하는 경우:
1. 축소된 검색어(호칭 없이 핵심 이름만)로 재시도
2. 매칭된 행에 단일 클릭 + 더블 클릭 재실행
3. `window list`에서 정확/포함 매치 재확인
4. 그래도 실패하면 사용자에게 해당 채팅을 수동으로 열어달라고 요청한 뒤, 전송/닫기 후 목록 계속 진행
## 간결한 보고 형식
실행 후 간결한 상태를 보고합니다:
- OK 목록: 성공적으로 전송된 이름들
- FAIL 목록: 전송되지 않은 이름 + 한 줄 사유 (`채팅 열기 실패`, `포커스 이탈` 등)
보고는 짧고 실행 가능하게 작성합니다.