스킬.잇다
Work 스킬팩

calendar ⭐ 추천

아이클라우드·네이버 등 CalDAV 캘린더의 일정을 조회·추가·수정·삭제

v0.2.4 calendar caldav icloud apple

calendar 사용 가이드

네이버·아이클라우드(및 표준 CalDAV) 캘린더의 일정을 자연어로 조회·추가·수정·삭제합니다. Claude에게 말로 부탁하면 됩니다 — "이번 주 일정 보여줘", "내일 3시 회의 추가해줘", "그 약속 취소해줘"처럼요. 터미널 명령을 직접 입력할 필요는 없습니다.


지원하는 캘린더

캘린더서비스로그인 자격증명
네이버 캘린더calendar.naver.com네이버 ID(전체 이메일) + 앱 비밀번호
아이클라우드 캘린더icloud.com/calendarApple 계정 + 앱 전용 비밀번호
커스텀 CalDAVFastmail · Nextcloud · mailbox.org · Posteo · Zoho서버 주소 + 앱 비밀번호

세 종류 모두 표준 CalDAV 프로토콜앱(전용) 비밀번호로 연결합니다. itda-email로 네이버·아이클라우드 메일을 이미 쓰고 있다면, 그때 발급한 앱 비밀번호를 그대로 재사용할 수 있습니다(추가 발급 불필요).

구글 캘린더는 이 스킬에서 지원하지 않습니다. 구글 캘린더는 Claude의 공식 Google Calendar 커넥터로 연결해 쓰세요(이미 지원됩니다). 마이크로소프트(Outlook)·카카오 캘린더도 인증 방식이 달라 현재 지원하지 않습니다.


처음 설정하기 — 네이버 캘린더

네이버는 메일과 같은 앱 비밀번호를 씁니다. itda-email로 네이버 메일을 이미 쓰고 있다면 같은 앱 비밀번호를 그대로 사용하면 됩니다(추가 발급 불필요).

1. 2단계 인증 켜기

앱 비밀번호는 2단계 인증이 켜져 있어야 발급됩니다. 네이버 → 내 정보 → 보안 설정 → 2단계 인증에서 켭니다.

2. 앱 비밀번호 발급

내 정보 → 보안 설정 → 애플리케이션 비밀번호 관리 → 발급 (메일·캘린더 공용으로 동작합니다).

3. 자격증명 등록

발급받은 값을 .env 파일에 넣어 두면 (권장) 스킬이 자동으로 찾아 읽습니다. 로그인 아이디는 전체 이메일을 씁니다.

  • .env 파일 (권장) — Cowork에 연결한 작업 폴더(연결한 폴더가 여러 개면 아무 폴더나) 루트에 .env 파일을 만들고 아래 줄을 넣어 둡니다.
  • Claude Code를 쓰면 — 프로젝트 CLAUDE.md에 아래 줄을 적어두면 됩니다.
NAVER_EMAIL=you@naver.com
NAVER_APP_PASSWORD=발급된_앱비밀번호

네이버 앱 비밀번호 발급 절차는 네이버 앱 비밀번호 발급 가이드를 참고하세요.

Claude Desktop의 "Claude 지침"(설정 → 일반)이나 Claude Code의 CLAUDE.md에 적는 방식도 동작하지만, 대화 컨텍스트에 값이 노출되므로 .env 파일을 권장합니다. (개발자는 셸 환경변수도 가능합니다.)

4. 연결 확인

설정이 끝나면 Claude에게 "네이버 캘린더 연결됐는지 확인해줘"라고 말해보세요. 연결 상태와 캘린더 개수를 알려줍니다.

네이버는 일정 조회 방식이 아이클라우드보다 제한적이라 내부적으로 보정 로직이 동작하지만, 사용법은 동일합니다. 다만 일정이 많을수록 조회가 느려집니다(아래 "조회가 느릴 때" 참고).


아이클라우드(iCloud) 캘린더

캘린더는 애플 메일과 같은 앱 전용 비밀번호를 씁니다. 이미 itda-email로 아이클라우드 메일을 쓰고 있다면, 그때 발급한 같은 앱 전용 비밀번호를 그대로 사용하면 됩니다(추가 발급 불필요).

1. 2단계 인증 켜기 (필수)

앱 전용 비밀번호는 Apple 계정에 2단계 인증(2FA) 이 켜져 있어야 발급됩니다. 아이폰 설정 → [내 이름] → 로그인 및 보안 → 2단계 인증에서 켭니다.

2. 앱 전용 비밀번호 발급

  1. 웹브라우저에서 account.apple.com 로그인
  2. 로그인 및 보안 → 앱 전용 비밀번호 선택
  3. 앱 전용 비밀번호 생성 → 이름 입력(예: itda-calendar) → 생성
  4. 화면에 나온 16자리 비밀번호(xxxx-xxxx-xxxx-xxxx)를 복사 (다시 볼 수 없으니 바로 저장)

3. 자격증명 등록

발급받은 값을 .env 파일에 넣어 두면 (권장) 스킬이 자동으로 찾아 읽습니다. Claude Desktop의 "Claude 지침"(설정 → 일반) 또는 CLAUDE.md(Claude Code)에 적는 방식도 동작하지만, 대화 컨텍스트에 값이 노출되므로 .env를 권장합니다.

ICLOUD_EMAIL=you@icloud.com
ICLOUD_APP_PASSWORD=xxxx-xxxx-xxxx-xxxx

앱 전용 비밀번호 발급 절차는 iCloud 앱 전용 비밀번호 발급 가이드를 참고하세요.

앞뒤 하이픈 포함/제외 모두 동작하지만, 발급 화면에 보인 그대로 넣는 것을 권장합니다. (개발자는 셸 환경변수도 쓸 수 있습니다.)

4. 연결 확인

Claude에게 "아이클라우드 캘린더 연결됐는지 확인해줘"라고 말하면 연결 상태와 캘린더 개수를 알려줍니다.


커스텀 CalDAV (Fastmail · Nextcloud · mailbox.org · Posteo · Zoho …)

표준 CalDAV 서버는 서버 주소(CALDAV_URL)로 직접 연결합니다. 대부분 2단계 인증을 켜면 앱 비밀번호가 필요합니다(일반 비밀번호는 거부될 수 있음). 아래 값을 .env 파일에 넣어 두면 (권장) 스킬이 자동으로 찾아 읽습니다. Claude Desktop의 "Claude 지침"(설정 → 일반) 또는 CLAUDE.md(Claude Code)에 적는 방식도 동작하지만, 대화 컨텍스트에 값이 노출되므로 .env를 권장합니다(개발자는 셸 환경변수도 가능).

CALDAV_URL=https://caldav.fastmail.com/dav/calendars/user/you@fastmail.com/
CALDAV_USER=you@fastmail.com
CALDAV_PASSWORD=앱비밀번호

서버별 CalDAV 주소 예시:

서비스CALDAV_URL 예시비고
Fastmailhttps://caldav.fastmail.com/dav/...앱 비밀번호 필수
Nextcloudhttps://<호스트>/remote.php/dav앱 비밀번호 권장
mailbox.orghttps://dav.mailbox.org2FA 시 앱 비밀번호
Posteohttps://posteo.de:8443/포트 8443 명시

포트가 443이 아닌 서버(Posteo :8443 등)는 주소에 포트를 반드시 포함하세요.


자주 쓰는 요청

하고 싶은 것이렇게 말하세요
일정 확인"이번 주 일정 보여줘", "오늘 뭐 있어?", "6월 일정 알려줘"
특정 캘린더만"강의 일정 캘린더만 보여줘"
일정 추가"내일 오후 3시 강의 일정 추가", "금요일 점심 약속 잡아줘"
반복 일정"매주 월요일 9시 스탠드업 추가"
알림"회의 10분 전에 알림 설정해서 추가"
수정"그 회의 30분 미뤄줘", "제목 바꿔줘"
삭제"토요일 약속 취소해줘" (삭제 전 확인을 거칩니다)
여러 계정일 때"회사 네이버 계정으로 이번 주 일정 보여줘"

안 될 때

증상원인 / 해결
"자격증명이 없다"는 안내 (credentials_missing).env 파일(또는 Claude 지침·CLAUDE.md)에 해당 캘린더의 이메일·앱 비밀번호가 비어 있음. 위 "처음 설정하기" 확인
"인증 실패" 안내 (auth_failed)일반 비밀번호를 넣었거나 앱 비밀번호 오타. 앱(전용) 비밀번호를 다시 발급
"어느 계정인지 모르겠다"는 안내 (account_required)같은 서비스에 계정이 여러 개. "회사 계정으로"처럼 어느 계정인지 함께 말하세요
"다른 곳에서 바뀌었다"는 안내 (etag_conflict)그 사이 다른 기기에서 일정을 바꿈. "다시 조회해줘" 후 수정
네트워크/인증서 오류잠시 후 다시 시도. 커스텀 서버는 주소·포트를 확인
일정이 안 보임"지난달부터 다음 달까지 보여줘"처럼 기간을 넓히거나, "내 캘린더 목록 보여줘"로 캘린더 이름을 확인

조회가 느릴 때

  • 전체 캘린더를 한꺼번에 보면 캘린더 수에 비례해 느려집니다. 자주 보는 캘린더가 있으면 "○○ 캘린더만 보여줘"처럼 좁히세요.
  • 네이버는 일정이 많을수록 느려집니다(서버가 기간 필터를 지원하지 않아 전체를 불러옵니다). 한 캘린더를 지정하는 것을 권장합니다. 아이클라우드는 일정 수에 둔감합니다.
  • 캘린더를 새로 추가/삭제했는데 목록에 안 보이면 "캘린더 목록 새로 고쳐서 보여줘"라고 말하세요(평소엔 캐시 덕분에 더 빠릅니다).

안전장치

  • 삭제는 항상 확인을 거칩니다. 어떤 일정을 지울지 먼저 보여주고, 동의해야 실제로 삭제합니다.
  • 수정 충돌 방지. 조회한 뒤 그 사이 다른 곳에서 같은 일정이 바뀌었다면, 덮어쓰지 않고 알려줍니다.
  • 개인정보 보호. 외부에서 받은 초대 일정의 제목·설명은 Claude에 전달하기 전에 정화(sanitize)됩니다.