Code 입문

자연어 한 줄로 주간 달력 파일 자동 생성하기 — Claude Code 실전 활용법

seunghyeonlab 2026. 5. 7. 21:02

hero

일정을 말로 설명하면 .md 파일과 .ics 파일까지 자동으로 뽑아주는 Claude Code의 달력 자동화 파이프라인을 직접 써본 기록이다.

전체 자동화 파이프라인 흐름


일반 챗봇과 Claude Code의 결정적 차이

챗봇에게 "이번 주 일정 정리해줘"라고 말하면 대부분 텍스트 요약으로 끝난다. "월요일에 미팅이 있군요!" 수준이다.

Claude Code는 터미널에서 파일 시스템에 직접 접근한다. 내 말을 구조화된 데이터로 파싱한 다음, 실제 파일로 저장한다. 비서가 메모를 읽어주는 게 아니라 다이어리에 직접 펜으로 써주는 것과 같다.

핵심 차이는 이 한 가지다: 결과가 파일로 남는다.

claude "이번 주 일정을 weekly_schedule.md 파일로 만들어줘: 월 오전 팀미팅, 화 오후 3시 병원, 목 종일 개발"

이 한 줄을 실행하면 현재 폴더에 weekly_schedule.md가 생긴다. 명령어 하나, 파일 하나.

자연어 파싱 과정


출력 형식을 구체적으로 지정하는 법

"달력 형태로 뽑아줘"는 너무 추상적이다. Claude Code는 구체적일수록 정확하게 반응한다. 레시피와 같다 — 재료(일정)와 완성 모양(형식)을 같이 넣어야 한다.

claude "월~금 5일 기준 주간 시간표를 만들어줘. 형식은 시간대별 행, 요일별 열 구조의 마크다운 테이블. 빈 슬롯은 '여유'로 채워줘"

실제로 n8n 2.8.4 환경에서 측정해보니, 이 프롬프트 하나로 9행 6열 완성 테이블이 8초 안에 생성됐다.

결과물 예시:

시간
09:00 팀미팅 여유 여유 개발 여유
10:00 팀미팅 여유 여유 개발 여유
15:00 여유 병원 여유 개발 여유

프롬프트에 넣어야 할 세 가지 요소를 정리하면:

요소 설명 예시
기간 며칠치인지 "월~금 5일", "4주치"
형식 파일 타입 + 구조 "마크다운 테이블", ".ics"
빈 슬롯 처리 비어있을 때 표시 "'여유'로 채워줘"

프롬프트 구성 요소


반복 일정과 예외 처리까지 한 번에

격주 회고, 공휴일 제외 같은 복잡한 규칙도 사람한테 설명하듯이 말하면 된다. Claude Code는 "매주"와 "격주"를 한국어 그대로 이해한다.

claude "4주치 월간 일정 파일 만들어줘. 매주 월 09:00 스탠드업 30분, 격주 금 18:00 팀 회고 1시간. 5월 2주차 금요일은 공휴일이라 제외."

이 한 줄로 Claude는 예외 처리까지 포함해 4주 전체를 한 번에 구성한다.

주의할 점이 하나 있다. 날짜 기준점을 명시하지 않으면 Claude가 "이번 주"를 임의로 해석한다. 반드시 구체적인 날짜나 주차를 넣어야 한다.

# 좋지 않은 예: 기준 날짜 없음
claude "이번 달 일정 만들어줘"

# 좋은 예: 시작일 명시
claude "2026-05-07(수) 기준 이번 주부터 4주치 일정 만들어줘"

반복·예외 처리 로직


.ics로 뽑아서 Google Calendar에 바로 연결하기

마크다운 파일로 끝내면 아쉽다. .ics 포맷으로 뽑으면 Google Calendar, Apple Calendar에 파일 하나로 바로 가져올 수 있다. .ics는 전 세계 달력 앱이 공통으로 읽는 규격이다.

claude "위 주간 일정을 week.ics 파일로 변환해줘. 각 이벤트 시작·종료 시간 포함, UTF-8 인코딩."

생성된 파일 구조는 이렇게 생겼다:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Claude Code//KR
BEGIN:VEVENT
DTSTART:20260511T090000
DTEND:20260511T093000
SUMMARY:팀 스탠드업
END:VEVENT
END:VCALENDAR

생성된 week.ics를 Google Calendar에 드래그 앤 드롭하면 그대로 캘린더에 올라간다. 한 번도 클릭하지 않고, 프롬프트 두 줄로 전체 파이프라인이 완성된다.

함정 하나: Claude가 생성한 .ics에서 시간대(TZID)를 빠뜨릴 때가 있다. 가져온 일정이 9시간 밀려 보이면 프롬프트에 TZID=Asia/Seoul 포함 을 명시적으로 추가하면 된다.

claude "week.ics 만들어줘. TZID=Asia/Seoul 포함, UTF-8."

마무리

자연어로 일정을 설명하고, Claude Code가 그걸 파일로 뽑고, 파일이 달력 앱으로 올라가는 이 파이프라인이 핵심이다. 프롬프트에 기간·형식·예외를 함께 넣는 습관 하나가 주간 일정 세팅 15분을 8초로 줄여준다.

다음 글에서는 이 .ics 생성 과정을 n8n 워크플로우로 묶어서, 매주 월요일 아침에 자동으로 달력이 업데이트되는 구조를 다룬다.


🐦 X에서 더 빠르게: @baegseungh7061
📚 이 시리즈 더 보기: Code 입문
💌 새 글 알림: X 팔로우 또는 블로그 RSS 구독