From k-skill
Searches local KakaoTalk archives on Apple Silicon macOS via the katok CLI. Syncs, indexes, and performs keyword/BM25/semantic search with chunk-level retrieval.
How this skill is triggered — by the user, by Claude, or both
Slash command
/k-skill:kakaotalk-macThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
`katok` CLI를 유일한 실행 표면으로 사용해 macOS 카카오톡 대화를 로컬 아카이브와 검색 인덱스로 동기화하고, keyword/BM25/semantic 검색과 chunk 조회를 수행한다.
katok CLI를 유일한 실행 표면으로 사용해 macOS 카카오톡 대화를 로컬 아카이브와 검색 인덱스로 동기화하고, keyword/BM25/semantic 검색과 chunk 조회를 수행한다.
이 스킬은 기존 kakaotalk-mac 설치 경로를 유지하지만 내부 동작은 katok 기반이다. 메시지 전송, 삭제, UI 자동화, 직접 DB 읽기, 인증 캐시 처리, 복호화 material 처리는 이 스킬의 범위가 아니다.
katok sync --source macos --json for live macOS KakaoTalk ingestion.katok CLI 설치Homebrew:
brew tap NomaDamas/katok https://github.com/NomaDamas/katok.git
brew install katok
Cargo:
cargo install katok
export PATH="$HOME/.cargo/bin:$PATH"
설치 후 CLI가 보이는지 확인한다.
katok --help
katok doctor --json
katok doctor --json
doctor --json의 freshness 섹션에서 마지막 sync/index 상태를 확인한다. 이 기본 doctor는 macOS app-data probe를 실행하지 않으므로 권한 prompt를 띄우지 않는 준비 상태 점검에 적합하다.
Full Disk Access 설정이 필요하면 사용자가 직접 허용할 수 있도록 설정 화면을 연다.
katok permissions macos
KakaoTalk UI 자동화는 이 스킬 범위가 아니지만, upstream 진단을 위해 Accessibility 설정 화면까지 열어야 하는 경우에만 다음 명령을 쓴다.
katok permissions macos --accessibility
카카오톡 앱 설치, container, DB 파일 접근 같은 macOS source adapter 상태를 확인해야 할 때만 probe를 실행한다. 이 명령은 macOS가 app-data 접근 prompt를 띄울 수 있다.
katok doctor --macos-probe --json
최신 대화가 중요하거나 freshness.recommendation.sync_before_search가 true이면 검색 전에 sync한다.
katok sync --source macos --json
설정 파일의 기본 source adapter를 쓰는 경우:
katok sync --json
semantic search 전 freshness.recommendation.index_before_semantic_search가 true이거나 방금 sync한 내용을 semantic 검색에 반영해야 하면 index를 만든다.
katok index --json
katok index는 기본적으로 로컬 embeddinggemma-300m-q4 embedder를 사용한다. Python, Jina, TEI, 별도 HTTP embedding server를 요구하지 않는다.
정확한 문자열, 이름, 계좌번호, 고유명사는 keyword search를 먼저 쓴다.
katok search keyword "검색어" --json
여러 단어가 섞인 일반 질의는 BM25를 쓴다.
katok search bm25 "지난주 미팅 자료" --json
표현이 정확히 기억나지 않는 의미 기반 질의는 semantic search를 쓴다.
katok search semantic "최근에 논의한 세금 신고 일정" --json
검색 결과는 먼저 snippet과 chunk id 중심으로 요약한다. 사용자가 특정 결과를 열어 달라고 하거나 chunk id를 제공했을 때만 원문 chunk를 조회한다.
katok chunk get <chunk-id> --json
katok chunk context <chunk-id> --json
katok chunk parent <chunk-id> --json
katok chunk get <chunk-id> --json: 해당 chunk 원문 조회katok chunk context <chunk-id> --json: 같은 채팅방의 직전/직후 micro chunk 조회katok chunk parent <chunk-id> --json: semantic search parent window 조회실제 카카오톡 설치 없이 upstream fixture로 테스트할 때만 fixture source와 deterministic embedder를 사용한다.
katok sync --source fixture tests/fixtures/kakao/replies.jsonl --json
KATOK_EMBEDDER=local-test katok index --json
KATOK_EMBEDDER=mock katok index --json
실사용 경로에서는 fixture, mock embedder, 원격 embedding endpoint를 사용하지 않는다.
katok doctor --json 결과와 freshness 권장사항을 요약했다.katok sync --source macos --json과 katok index --json 실행 여부를 명확히 했다.katok chunk get/context/parent 결과를 요약했다.katok 미설치 또는 Cargo binary PATH 누락katok doctor --macos-probe --json에서 container 또는 DB 파일 접근 실패kakaotalk-mac이지만 실행 표면은 katok이다.npx claudepluginhub nomadamas/k-skill --plugin k-skillReads KakaoTalk chat history and sends messages on macOS via Python CLI scripts with atomacos. Automates context-aware drafting after user confirmation.
Fuzzy search, browse, and filter Apple Messages/iMessage conversations locally via CLI. Searches by contact, date range, or sender partial match with typo tolerance.
Sends and reads KakaoTalk messages, lists chats, and manages conversations via CLI. Activates when KakaoTalk is needed.