Claude Code를 코드 생성 이외에 어떻게 활용하고 있는지, Mac/Apple 시스템의 스크립트 자동화, 이메일/캘린더 추출 방식, Apple Shortcuts와 명령어 자동화에 대한 구체적인 실사례를 공유합니다.
안녕하세요 여러분! 어제 올린 코드 외의 용도로 Claude Code를 쓰는 방법 글에 많은 질문을 받았습니다. 댓글마다 답글을 다는 대신, 새로운 글로 질문들을 모아 답변하려고 합니다.
먼저, 이 방식이 왜 Mac에 의존하는지부터 설명할게요. 우리 회사는 Outlook/Microsoft 365 접근이 엄격하게 제한되어 있습니다. 즉, API로 캘린더나 이메일에 접근하는 게 불가능합니다. u/mancubus77님의 지적처럼, 이런 경우가 흔하죠. 대신 어떤 이메일 클라이언트든 쓸 수 있게는 해줘요. 여기서 Apple Mail이 등장합니다. Apple Script는 Apple Mail에 네이티브로 접근할 수 있거든요. 그래서 저는 Apple Mail을 중간 매개체로 씁니다. 이메일 추출 과정은 Claude Code를 직접 실행하지 않고, 단순한 애플스크립트로 받은편지함/보낸편지함에서 최근 24시간의 이메일을 긁어와 .txt로 변환합니다.
추가로, 스팸 메일이 지나치게 많이 와요. 내부 보고서, 영업 알림 등 중요하지 않은 메일도 포함되고요. 그래서 excluded_domains.json 파일을 만들어, 제외할 도메인을 관리합니다. 이 json 파일을 스크립트가 실행 때 불러와서 목적에 맞지 않은 이메일은 걸러 줍니다.
u/nik1here — 위에서 보셨듯이, Claude를 이메일에 직접 연결하지 않고, Claude가 읽기 쉽게 포맷을 바꿔줍니다. /brief와 /cleanup-emails 부분을 보면 Claude가 어떤 역할을 하는지 알 수 있습니다.
진짜 골치 아픈 부분입니다. 거의 제대로 작동하지 않아요. iCal은 정말 스트레스입니다. 파이썬 스크립트로 오늘부터 7일치 일정을 긁어오도록 했습니다. 쉽다고 생각했지만 전혀 아닙니다. 특히 반복 일정(이게 정말 많습니다)이 엉망진창으로 저장됩니다. 이 부분은 TODO.md에 있습니다…
u/MahaSejahtera와 u/manummasson님을 위한 부분이에요.
저도 처음엔 Apple Shortcuts나 자동화를 믿지 않았어요. 습관적으로 CRON 잡부터 만들고 싶었죠. 근데 안 하길 잘 했습니다. Apple Shortcuts는 쉘 스크립트 실행이 가능합니다. 이쯤되면 쉽게 끝날 줄 알았는데, 그렇게 간단치 않았다…
단축어에서 Claude를 바로 호출할 순 없어요. 그래서 대신 파이썬 스크립트를 만들어야 했죠. 여기 코드 붙입니다. 참고하세요:
python#!/usr/bin/env python3 import subprocess import sys import os def run_claude_command(command): claude_path = '/opt/homebrew/bin/claude' os.chdir(os.path.expanduser('~/Desktop/{YOUR_DIRECTORY_HERE}')) env = os.environ.copy() env['PATH'] = '/opt/homebrew/bin:' + env.get('PATH', '') process = subprocess.Popen( [claude_path, '--print', '--dangerously-skip-permissions', command], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, env=env ) stdout, stderr = process.communicate() print(stdout) if stderr: print(f"Error: {stderr}", file=sys.stderr) return process.returncode if __name__ == "__main__": if len(sys.argv) != 2: print("Usage: python3 run_claude.py '/command'") sys.exit(1) command = sys.argv[1] exit_code = run_claude_command(command) sys.exit(exit_code)
보시는 것처럼 Claude 실행파일의 경로를 정확히 지정해야 합니다. 꽤 귀찮은 일이죠. 그래서 명령어마다 단축어를 따로 만들어야 했고, 실제로는 이런 식으로 등록합니다:
python3 ~/Desktop/{YOUR_DIRECTORY}/scripts/run_claude.py "/create-drafts"
그리고 단축어 앱에서 자동화 탭 들어가 예약 실행을 설정하면 됩니다.
u/Princekid1878님 질문 답변이기도 한데, 이렇게 스케줄 설정합니다. Claude는 오케스트레이터(전체 조정자) 역할이 아니라, 실행만 합니다. 메모리 관리에 대해 묻는다면(토큰 관리라면), 그래서 이런 무거운 작업을 1시간 간격으로 나눠 놨습니다. 만약 "Claude가 뭘 기억하는지"의 의미가 로그라면, 로그로 남겨둡니다. 그리고 브리핑을 쓸 때, 항상 전날의 브리핑을 읽히게 합니다.
u/Plane_Garbage — "계정 로그인이 어떻게 항상 유지되는가?"는 저도 따로 생각해본 적이 없어서 뭐라고 답변드릴 수 없습니다. 그냥 항상 로그인이 되어 있습니다.
가장 많이 받은 질문입니다. u/Ecsta님이 대표로 태그!
명령어 설명을 할 수도 있지만, 그냥 공유합니다:
맛있게 활용하세요!
P.S. 이 글을 쓰고 포매팅 하는데 AI는 전혀 쓰지 않았으니, 초자동화된 제 하루 중 직접 작성한 이 글을 마음껏 즐겨주시길 😏 여러분 사랑합니다.