ops@creatived.kr 계정의 미요약 메일을 읽고, 대응 중요도(상/중/하)를 판단하여 general-docs/gmail-summary/ops/에 실행일 기준 단일 요약 파일을 저장한다.

Gmail Summary

ops@creatived.kr 계정의 미요약 기간 메일을 읽고 중요도를 판단하여, 스킬 실행일 이름의 단일 파일로 요약을 생성하는 스킬이다.

Parameters

ParameterRequiredDescriptionDefault
(없음)-자동으로 미요약 날짜를 감지한다-

Process

Step 1: 기존 요약 파일 확인

  1. general-docs/gmail-summary/ops/ 폴더에서 기존 요약 파일을 Glob으로 검색한다 (패턴: *.md)
  2. 파일명 형식은 YYYY-MM-DD.md이다
  3. 가장 최근 요약 파일을 Read로 읽어, 해당 파일이 커버하는 마지막 요약 날짜를 확인한다
    • 파일 내용에서 날짜별 섹션(## 📅 YYYY-MM-DD)의 마지막 날짜를 추출한다
    • 날짜별 섹션이 없으면 파일명의 날짜를 마지막 요약 날짜로 간주한다
  4. 요약 파일이 하나도 없으면 어제 날짜 하루만 대상으로 한다

Step 2: 요약 대상 날짜 범위 계산

  1. Bash로 현재 한국 시간(KST, UTC+9) 기준 날짜를 구한다:
    1TZ=Asia/Seoul date +%Y-%m-%d
  2. 요약 대상 범위:
    • 시작일: 마지막 요약 날짜의 다음 날 (요약 파일이 없으면 어제)
    • 종료일: 한국 시간 기준 어제
  3. 시작일 > 종료일이면 "요약할 메일이 없습니다"를 출력하고 종료한다

Step 3: 날짜별 메일 가져오기

대상 날짜 범위의 각 날짜에 대해:

  1. mcp__gmail__gmail_search 도구를 호출한다:
    • query: after:YYYY/MM/DD before:YYYY/MM/DD (해당 날짜의 메일만 가져오도록 하루 범위 지정)
    • limit: 50
  2. 검색 결과의 subject, sender, snippet, labels를 그대로 사용하여 중요도를 분류한다
  3. gmail_read는 호출하지 않는다 (rate limit 방지 — 제목/snippet/라벨만으로 요약에 충분)

Step 4: 대응 중요도 판단

각 메일을 다음 기준으로 분류한다:

🔴 상 (즉시 대응 필요)

  • 메일 제목이나 snippet에 "결제", "payment", "invoice", "청구", "기한", "deadline", "마감", "due", "만료", "expire" 등이 포함된 메일
  • Android(Google Play), Apple(App Store), Anthropic에서 보낸 업데이트 알림 메일 (발신자가 @google.com/@apple.com/@anthropic.com이면서 제목에 "update", "업데이트", "submission", "review", "issue", "ready to test", "policy", "requirement", "deprecated", "breaking change" 등 시스템 변경/앱 심사 관련 키워드가 포함된 경우). 이유: 우리 서비스에 강한 dependency가 걸린 플랫폼이므로 변경사항을 즉시 인지해야 한다.

🟡 중 (확인 필요)

  • 서비스 알림, 상태 변경 통지, 시스템 알림 등 단순 알림성 메일
  • 위의 "상"에 해당하지 않는 일반 업무 메일

🟢 하 (참고용)

  • 뉴스레터, 프로모션, 할인, 이벤트 등 마케팅/홍보 메일
  • Gmail 라벨에 CATEGORY_PROMOTIONS가 포함된 메일

Step 4-2: 내용 카테고리 분류

중요도 분류 후, 각 메일을 내용 종류에 따라 카테고리로 한 번 더 분류한다. 제목, snippet, 발신자를 종합적으로 판단한다.

대표 카테고리 (이 목록에 국한하지 않고, 메일 내용에 맞게 적절한 카테고리명을 부여한다):

카테고리판단 기준
💳 결제결제, payment, invoice, 청구, 내역, billing
🔐 보안 알림보안, security, 알림, 인증, 로그인
🔄 업데이트 알림submission, review, update, ready to test, issue, deprecated
📅 일정Invitation, 일정, 예약, 캘린더, meeting
⚙️ 시스템 알림색인, storage, Auto Scaling, Actions, 만료, 삭제 예정
💬 고객/서비스 알림채널톡, 무료체험, 구독, 피드백
📰 뉴스레터뉴스레터, digest, summary, 커뮤니티
📢 프로모션할인, 혜택, 이벤트, 프로모션, CATEGORY_PROMOTIONS
📊 리포트검색 노출수, 애널리틱스, 통계, report
📬 기타위 카테고리에 해당하지 않는 메일

Step 5: 요약 파일 저장

스킬 실행일(오늘) 이름으로 단일 파일을 생성한다: general-docs/gmail-summary/ops/YYYY-MM-DD.md

파일 하나에 대상 기간의 모든 메일을 중요도별 > 카테고리별로 그룹핑하여 저장한다.

Output Format

1# 📬 메일 요약: YYYY-MM-DD (시작일) ~ YYYY-MM-DD (종료일)
2
3> 요약 기간: **N일** | 총 **N건**의 메일 수신
4
5| 중요도 | 건수 |
6|--------|------|
7| 🔴 상 | N건 |
8| 🟡 중 | N건 |
9| 🟢 하 | N건 |
10
11---
12
13## 🔴 상 (즉시 대응 필요) — N건
14
15### 💳 결제
16
17| # | 제목 | 발신자 |
18|---|------|--------|
19| 1 | (MM/DD) 메일 제목 | sender@example.com |
20
21### 🔄 업데이트 알림
22
23| # | 제목 | 발신자 |
24|---|------|--------|
25| 1 | (MM/DD) 메일 제목 | sender@example.com |
26
27---
28
29## 🟡 중 (확인 필요) — N건
30
31### ⚙️ 시스템 알림
32
33| # | 제목 | 발신자 |
34|---|------|--------|
35| 1 | (MM/DD) 메일 제목 | sender@example.com |
36
37### 📅 일정
38
39| # | 제목 | 발신자 |
40|---|------|--------|
41| 1 | (MM/DD) 메일 제목 | sender@example.com |
42
43### 💬 고객/서비스 알림
44
45| # | 제목 | 발신자 |
46|---|------|--------|
47| 1 | (MM/DD) 메일 제목 | sender@example.com |
48
49---
50
51## 🟢 하 (참고용) — N건
52
53### 📰 뉴스레터
54
55| # | 제목 | 발신자 |
56|---|------|--------|
57| 1 | (MM/DD) 메일 제목 | sender@example.com |
58
59### 📢 프로모션
60
61| # | 제목 | 발신자 |
62|---|------|--------|
63| 1 | (MM/DD) 메일 제목 | sender@example.com |
64
65(... 해당 중요도의 메일이 0건이면 해당 중요도 섹션 전체를 생략 ...)
66(... 해당 카테고리의 메일이 0건이면 해당 카테고리 소제목과 테이블을 생략 ...)
67(... 각 카테고리 내에서 메일은 날짜 오름차순으로 정렬 ...)

Important Notes

  • 날짜는 항상 한국 시간(KST, UTC+9) 기준으로 계산한다
  • 오늘 메일은 요약하지 않는다 (어제까지만 대상)
  • 파일명은 스킬 실행일(오늘) 날짜이다 (예: 오늘이 3월 20일이면 2026-03-20.md)
  • 파일 내용은 중요도별 > 카테고리별로 그룹핑하여 작성한다 (날짜별 섹션 없음)
  • 각 메일 제목 앞에 (MM/DD) 형식으로 날짜를 표시하고, 카테고리 내에서 날짜 오름차순으로 정렬한다
  • 중요도 판단은 제목과 snippet의 키워드, Gmail 라벨을 종합적으로 고려한다 (gmail_read로 본문을 읽지 않는다)
  • 카테고리는 고정 목록에 국한하지 않고, 메일 내용에 맞는 적절한 카테고리명을 부여한다
  • 여러 날짜 처리 시 검색 호출 간 과도한 병렬 실행을 피한다. rate limit 발생 시 순차 처리로 전환한다
  • 해당 중요도의 메일이 0건이면 해당 중요도 섹션 전체를 생략한다
  • 해당 카테고리의 메일이 0건이면 해당 카테고리 소제목과 테이블을 생략한다

Example Usage

자동 실행 (기본)

1/gmail-summary

기존 요약의 마지막 날짜가 3월 10일이고 오늘이 3월 13일이면, 2026-03-13.md 파일 하나를 생성하고 그 안에 3월 11일과 3월 12일의 메일을 날짜별로 요약한다.

cron 등록 예시

1crontab -e
2# 매일 오전 10:15 KST에 실행
315 1 * * * cd /Users/miyeon/Workspaces/1-work/sokind-knowledge-vault && /usr/local/bin/claude -p "/gmail-summary" > /tmp/gmail-summary.log 2>&1

Quality Checklist

  • 기존 요약 파일의 마지막 요약 날짜를 정확히 감지했는가
  • 한국 시간 기준으로 어제까지만 처리했는가
  • 스킬 실행일 이름의 단일 파일이 생성되었는가
  • 중요도별 > 카테고리별로 올바르게 그룹핑되었는가
  • 각 메일 제목 앞에 (MM/DD) 날짜가 표시되었는가
  • 중요도 분류가 키워드 기준에 맞게 되었는가
  • 카테고리 분류가 메일 내용에 적절하게 부여되었는가
  • 파일이 general-docs/gmail-summary/ops/YYYY-MM-DD.md 경로에 저장되었는가