{"skill":{"slug":"mufi-calendar","displayName":"Mufi Calendar","summary":"Google Calendar + 네이버 캘린더 통합 관리. 한국어 자연어 일정 파싱, 리마인더 지원.","description":"---\nname: mufi-calendar\ndescription: Google Calendar + 네이버 캘린더 통합 관리. 한국어 자연어 일정 파싱, 리마인더 지원.\nmetadata: {\"clawdbot\":{\"emoji\":\"📆\",\"requires\":{\"bins\":[\"node\",\"python3\"]},\"install\":[{\"id\":\"npm\",\"kind\":\"npm\",\"packages\":[\"@google-cloud/calendar\"],\"label\":\"Install Google Calendar Node.js library\"}]}}\n---\n\n# MUFI Calendar\n\nGoogle Calendar + 네이버 캘린더 통합 관리 스킬. 한국 SMB 고객용.\n\n## 기능\n\n- ✅ Google Calendar 연동 (조회/추가/수정/삭제)\n- ✅ 한국어 자연어 파싱 (\"내일 3시 미팅\" → 이벤트 생성)\n- ✅ 일정 리마인더 (cron 연동)\n- 🚧 네이버 캘린더 연동 (브라우저 자동화 or iCal 구독 방식)\n\n## 설정\n\n### 1. Google Calendar API 설정\n\nGoogle Cloud Console에서 OAuth 2.0 클라이언트 ID 생성:\n1. https://console.cloud.google.com/apis/credentials\n2. \"OAuth 2.0 클라이언트 ID\" 생성 → \"데스크톱 앱\"\n3. JSON 다운로드 → `~/.secrets/google-calendar-credentials.json` 저장\n\n### 2. 초기 인증\n\n```bash\nnode /Users/mupeng/.openclaw/workspace/skills/mufi-calendar/scripts/auth.js\n```\n\n브라우저가 열리고 Google 계정 인증 → `~/.secrets/google-calendar-token.json` 생성\n\n### 3. 환경 변수 (선택)\n\n```bash\nexport GOOGLE_CALENDAR_ID=\"primary\"  # 기본 캘린더 ID (primary = 주 캘린더)\n```\n\n## 사용법\n\n### 일정 조회\n\n```bash\n# 오늘 일정\nnode scripts/list.js\n\n# 내일 일정\nnode scripts/list.js --date tomorrow\n\n# 특정 날짜\nnode scripts/list.js --date 2026-02-20\n\n# 다음 7일\nnode scripts/list.js --days 7\n\n# JSON 출력\nnode scripts/list.js --json\n```\n\n### 일정 추가 (자연어)\n\n```bash\n# 한국어 자연어 파싱\nnode scripts/add.js \"내일 오후 3시 미팅\"\nnode scripts/add.js \"2026-02-20 10:00 개발팀 회의\"\nnode scripts/add.js \"다음주 월요일 2시 치과\"\n\n# 명시적 파라미터\nnode scripts/add.js \\\n  --title \"개발팀 회의\" \\\n  --start \"2026-02-20T10:00:00+09:00\" \\\n  --end \"2026-02-20T11:00:00+09:00\" \\\n  --location \"본사 회의실 A\" \\\n  --description \"Q1 스프린트 회고\"\n```\n\n### 일정 수정\n\n```bash\n# 이벤트 ID로 수정\nnode scripts/update.js EVENT_ID \\\n  --title \"새 제목\" \\\n  --start \"2026-02-20T15:00:00+09:00\"\n```\n\n### 일정 삭제\n\n```bash\nnode scripts/delete.js EVENT_ID\n```\n\n### 리마인더 설정\n\n```bash\n# cron 등록 (매일 9시 오늘 일정 알림)\ncrontab -e\n# 추가: 0 9 * * * node /Users/mupeng/.openclaw/workspace/skills/mufi-calendar/scripts/remind.js\n```\n\n## 한국어 자연어 파싱 규칙\n\n`scripts/parse-korean.js`가 다음 패턴을 인식:\n\n- **날짜**: 오늘, 내일, 모레, 다음주 월요일, 2월 20일, 2026-02-20\n- **시간**: 오전 9시, 오후 3시, 15:00, 3시 30분\n- **기간**: 1시간, 30분 (종료 시간 자동 계산)\n\n예시:\n```\n\"내일 오후 3시 미팅\" \n→ 2026-02-18 15:00 ~ 16:00 (기본 1시간)\n\n\"2월 20일 10시 개발팀 회의 2시간\"\n→ 2026-02-20 10:00 ~ 12:00\n\n\"다음주 월요일 2시 치과\"\n→ 2026-02-24 14:00 ~ 15:00\n```\n\n## 네이버 캘린더 연동 (실험적)\n\n네이버 캘린더는 공식 API가 없어 두 가지 방식 지원:\n\n### 방식 1: iCal 구독 (읽기 전용)\n\n1. 네이버 캘린더 → 설정 → iCal 주소 복사\n2. `~/.secrets/naver-calendar-ical-url.txt`에 저장\n3. `node scripts/sync-naver.js` 실행 → Google Calendar로 복사\n\n### 방식 2: 브라우저 자동화 (읽기/쓰기)\n\nOpenClaw 브라우저로 네이버 캘린더 조작:\n\n```bash\n# 일정 추가\nnode scripts/naver-add.js \"2026-02-20 10:00 회의\"\n\n# 일정 조회 (snapshot + OCR)\nnode scripts/naver-list.js\n```\n\n**제약**: 로그인 상태 유지 필요, UI 변경 시 스크립트 수정 필요\n\n## 출력 형식\n\n### 텍스트 (기본)\n\n```\n📅 2026-02-20 (목)\n  10:00-11:00  개발팀 회의\n  15:00-16:00  미팅\n\n📅 2026-02-21 (금)\n  종일  공휴일\n```\n\n### JSON\n\n```json\n{\n  \"events\": [\n    {\n      \"id\": \"abc123\",\n      \"summary\": \"개발팀 회의\",\n      \"start\": \"2026-02-20T10:00:00+09:00\",\n      \"end\": \"2026-02-20T11:00:00+09:00\",\n      \"location\": \"본사 회의실 A\",\n      \"description\": \"Q1 스프린트 회고\"\n    }\n  ]\n}\n```\n\n## Discord 알림\n\n리마인더를 Discord로 전송:\n\n```bash\n# 오늘 일정을 형님 DM 채널로\nnode scripts/remind.js --channel 1468204132920725535\n```\n\n`openclaw` CLI의 `message` 스킬과 연동.\n\n## 트러블슈팅\n\n| 문제 | 해결 |\n|------|------|\n| 401 Unauthorized | `node scripts/auth.js` 재인증 |\n| 토큰 만료 | `rm ~/.secrets/google-calendar-token.json` → 재인증 |\n| 한국어 파싱 실패 | `--start`, `--end` 명시적 지정 |\n| 네이버 로그인 필요 | OpenClaw 브라우저에서 naver.com 로그인 후 재시도 |\n\n## 참고\n\n- Google Calendar API: https://developers.google.com/calendar/api/v3/reference\n- 자연어 파싱: `chrono-node` 라이브러리 + 한국어 패턴 추가\n- 네이버 캘린더 API 미제공 → 우회 방식만 가능\n","tags":{"latest":"1.0.0"},"stats":{"comments":0,"downloads":188,"installsAllTime":7,"installsCurrent":0,"stars":0,"versions":1},"createdAt":1771256290621,"updatedAt":1778491556797},"latestVersion":{"version":"1.0.0","createdAt":1771256290621,"changelog":"MUFI Calendar 1.0.0 – Google Calendar와 네이버 캘린더를 통합 관리하는 한국어 자연어 기반 일정 스킬 첫 출시!\n\n- Google Calendar 연동: 일정 조회, 추가, 수정, 삭제 지원\n- 한국어 자연어 일정 파싱 (\"내일 3시 미팅\" 등) 및 자동 시간 인식\n- 일정 리마인더 기능 및 cron 기반 알림\n- 네이버 캘린더 연동(읽기/쓰기): iCal 구독(읽기) 또는 브라우저 자동화(읽기/쓰기, 실험적)\n- 텍스트/JSON 출력 및 Discord 알림 지원\n- 한국 SMB 환경 및 CLI 자동화 최적화, 상세한 설정/트러블슈팅 안내 포함","license":null},"metadata":{"setup":[],"os":null,"systems":null},"owner":{"handle":"mupengi-bot","userId":"s17cb0n67gxg14m41wrqex0hr183j5d2","displayName":"mupengi-bot","image":"https://avatars.githubusercontent.com/u/259087580?v=4"},"moderation":{"isSuspicious":false,"isMalwareBlocked":false,"verdict":"clean","reasonCodes":["review.llm_review"],"summary":"Review: review.llm_review","engineVersion":"v2.4.24","updatedAt":1780089730415}}