옵시디언 볼트 4개와 Claude Code 기반 개인 지식·일정 관리 시스템 구축기
들어가며
9월 마지막 날, 노션을 내려놓고 옵시디언으로 옮겼다. 목표는 한 줄이었다. 적는 건 대충, 정리는 AI가.
이 글은 옵시디언 볼트 4개와 Claude Code로 그 목표를 어떻게 만들었는지, 처음에 만들었다가 하루 만에 버린 것은 무엇인지, 그리고 2주 동안 실제로 얼마나 썼는지를 정리한 기록이다.
왜 노션을 떠났나
나는 기록을 많이 하는 편이다. 공부한 것, 프로젝트를 하다 막힌 것, 일정과 할 일, 부업 수입까지 어딘가에 적는다. 그동안은 노션을 썼는데, 적는 양이 늘수록 적는 시간보다 정리하는 시간이 더 길어졌다.
노션을 쓰면서 반복된 문제는 세 가지였다.
- 정리는 결국 내 몫이었다. 글을 분류하고, 데이터베이스에 넣고, 나중에 다시 읽을 수 있게 다듬는 일을 전부 직접 해야 했다.
- 글은 한 곳에만 속한다. 프로젝트에서 겪은 트러블슈팅은 그 프로젝트에도, 기술 주제(Swift, iCloud)에도 속한다. 한 곳에만 두면 다른 쪽에서 찾을 수 없다.
- AI와 연결하려면 복사·붙여넣기가 필요하다. 내 기록을 바탕으로 물어보려면 글을 찾아 붙여 넣는 과정을 매번 반복해야 했다.
옵시디언 볼트는 내 컴퓨터에 있는 마크다운 파일 폴더다. 링크·태그·폴더로 한 글을 여러 맥락에 묶을 수 있고, Claude Code가 볼트 전체를 직접 읽고 쓸 수 있다. 세 문제를 한 번에 풀 수 있는 구조라 옮기기로 했다.
설계 원칙
시스템을 만들기 전에 원칙부터 정했다. 뒤에 나오는 결정은 대부분 이 표를 보고 정했다.
| 원칙 | 의미 |
|---|---|
| 입력 마찰 최소화 | 메모에는 형식·템플릿·기호가 없다. 떠오른 순간 바로 적는다 |
| 한 번만 입력 | 말 한 줄이 일기·캘린더·미리 알림·휴대폰 앱에 모두 반영된다 |
| 되돌릴 수 있게 | 볼트는 git으로 관리하고, 대량 변경은 미리보기 → 되돌리기 파일 → 실행 순서로 한다 |
| AI는 조심스럽게 | 사람이 쓴 노트는 고치기 전에 묻는다. 확인이 필요한 상태(확정·해결됨)는 사람이 바꾼다 |
| 민감정보는 볼트 밖 | 비밀번호·카드 번호·API 키는 적지 않는다. AI가 발견하면 위치만 알린다 |
구조: 볼트 4개
볼트 하나에 모두 넣지 않고 성격별로 나눴다.
| 볼트 | 용도 | 운영 방식 |
|---|---|---|
| life | 일기, 일정, 할 일, 생활 영역(건강·재정·학교) | 일기가 하루의 입구. 애플 캘린더·미리 알림과 자동 동기화 |
| projects | 개인 프로젝트 14개 관리 | 프로젝트마다 허브 + 할 일·결정·로드맵·변경 기록·링크·위험 요소 |
| study | 공부 지식 베이스 | Karpathy의 LLM Wiki 방식: 원본은 사람이, 위키는 AI가 |
| work | 업무 지식 베이스 | 같은 방식 + 회의록·결정 기록 |
볼트를 나눈 기준은 하나였다. AI에게 주는 규칙이 다른가. 프로젝트 볼트에서는 "할 일은 tasks.md에", 공부 볼트에서는 "원본은 고치지 말고 위키를 만들어라"처럼 규칙이 다르다. 한 볼트에 섞으면 "이 폴더만 빼고" 같은 예외가 늘어나고, 예외가 많아질수록 AI도 나도 헷갈린다.
obsidian/
├── CLAUDE.md 네 볼트 공통 규칙 (인박스, 민감정보, 일정 말하기)
├── life/ 일기·할 일·생활 (GitHub 비공개 저장소)
├── projects/ 프로젝트 관리
├── study/ 공부 위키
└── work/ 업무 위키- 볼트마다 git 저장소를 따로 둔다. obsidian-git 플러그인이 30분마다 자동으로 커밋·push한다. AI 작업은
ingest:lint:refactor:형식의 커밋으로 따로 남겨, 사람의 수정과 AI의 수정을 기록에서 구분할 수 있다. - 규칙 파일은 두 단계다. 볼트마다
CLAUDE.md가 있고, 네 볼트 공통 규칙은 상위 폴더의CLAUDE.md하나에 둔다. Claude Code는 상위 폴더의 규칙까지 자동으로 읽는다. 충돌하면 볼트 규칙이 우선한다. - 폴더에는 번호를 붙인다.
00_inbox/10_…/20_…/80_templates/90_archive. 순서가 고정되고 인박스가 항상 맨 위에 온다.
하루의 흐름
내가 하는 일은 네 가지다.
① 적기
Cmd+N을 누르면 00_inbox/에 빈 노트가 생긴다. 형식 없이 적는다. 문장이든, 단어 나열이든, 붙여 넣은 에러 로그든 상관없다. 화면 구석의 데스크탑 메모 앱(메모펫)으로도 바로 적는다.
② 말하기
Claude에게 "다음 주 화요일 3시 피부과", "금요일까지 정처기 접수"라고 말하면 형식에 맞춰 들어간다.
<!-- life/10_daily/2026-10-07.md -->
## 일정
- [ ] 15:00 - 16:00 피부과 #건강
<!-- life/todo.md -->
## 할 일
- [ ] 정처기 접수 #공부 📅 2026-10-025분 안에 애플 캘린더, 미리 알림, 휴대폰의 TimeBlocks 앱에도 뜬다. 이 구간은 직접 만든 Mac 앱이 맡는다(애플 캘린더·미리 알림 ⇄ 옵시디언 양방향 동기화 앱 개발기).
③ 정리
"인박스 정리해줘"라고 하면 AI가 메모를 읽고 할 일·한 일·질문·문제·결정·아이디어·자료 중 하나로 나눈다. 그리고 건마다 어디로 옮길지 표로 제안한다.
| 원문 요약 | 분류 | 옮길 곳 | 동작 |
|---|---|---|---|
| 카카오 간편가입 심사 결과 확인 | 할 일 | 톡꾸 tasks.md "다음" | 기존 노트에 추가 |
| 편집 도구 막대가 글자를 가림 | 문제 | 문서고 08_troubleshooting/ | 새 노트 |
| 앱스토어 배지로 다운로드 안내 | 아이디어 | 메모펫 10_ideas/ | 다른 볼트 제안 |
분류별로 옮길 곳은 볼트 규칙에 표로 정해 두었다. 내가 확인한 것만 옮기고, 옮긴 메모는 인박스에서 지운다. 어느 프로젝트 얘기인지 애매하면 추측하지 않고 "?"로 남겨 둔 채 물어본다.
④ 보기
옵시디언을 켜면 Home 대시보드가 읽기 모드로 열린다. 오늘 할 일과 밀린 일, 프로젝트 카드, 다가오는 마감, 그리고 "나를 기다리는 것"이 한 화면에 있다.
AI가 사람에게 묻는 곳: AI 질문함과 코드 검토
써 보니 AI가 작업하다 나만 답할 수 있는 질문이 꽤 생겼다. "이 프로젝트 출시일이 언제인가요?", "이 과목이 전공 학점으로 인정되나요?" 같은 것들이다. 대화 중에 물으면 놓치기 쉽고, 대화가 끝나면 질문도 사라진다.
그래서 projects 볼트에 questions.md(AI 질문함)를 두었다. 어느 볼트에서 작업하든 질문은 여기에 모인다.
- [ ] 선형대수 출석 수업(10/18 일) 시간을 알려 주세요 #life
- 배경: 캘린더에 "종일"로 넣어 뒀어요. 시간을 알면 그 시간으로 바꿀게요.
- 답:나는 답: 뒤에 짧게 적고 "답변 반영해줘"라고만 하면 된다. 질문마다 배경과 선택지가 붙어 있어 답하기 쉽다.
같은 방식으로 코드 검토 목록도 둔다. AI가 코드를 고치면, 내가 확인해야 할 점을 그 프로젝트 tasks.md의 ## 코드 검토에 "파일·함수 + 무엇을 볼지" 형태로 남긴다.
## 코드 검토
- [ ] PR #6 `RichToolbar.tsx`: 표 칸에서 서식 막대가 칸을 가리지 않고 한 줄로 뜨는지,
종이 맨 위 칸에서는 칸 아래로 내려가는지AI 질문함과 코드 검토는 Home의 "나를 기다리는 것"에 함께 보인다. 덕분에 AI가 확실하지 않은 것들이 대화 속에 묻히지 않고, 할 일처럼 목록으로 남는다.
사용하는 도구
| 이름 | 종류 | 용도 |
|---|---|---|
| Obsidian | 앱 | 노트 |
| Claude Code | CLI | 볼트 정리·노트 작성·플러그인 설정·동기화 앱 개발 |
| obsidian-git | 플러그인 | 30분마다 자동 커밋·push, 켤 때 pull |
| Homepage | 플러그인 | 켜면 Home을 읽기 모드로 |
| Tasks | 플러그인 | 여러 파일의 체크박스를 Home에 모아 보기 |
| Day Planner | 플러그인 | 일기 일정의 하루 타임라인 |
| Bases | 기본 기능 | Home의 표·카드 (Dataview 대신) |
| Front Matter Title | 플러그인 | 영어 파일명 대신 한국어 제목 표시 |
| Minimal + Style Settings | 테마 | 깔끔한 기본 화면, 색·간격 조정 |
| Iconize, Hider | 플러그인 | 폴더 아이콘, 안 쓰는 화면 요소 숨김 |
| Pretendard | 글꼴 | 한글 가독성 |
| CalendarSync | 직접 만든 앱 | 애플 캘린더·미리 알림 ⇄ 옵시디언 |
| TimeBlocks | iOS 앱 (유료) | 휴대폰 타임블록, 애플 캘린더·미리 알림 연결 |
만들었다가 버린 것: 입력 규칙
첫날에는 적는 규칙부터 만들었다. 줄 앞에 - ?를 붙이면 질문, - !는 문제, - =는 결정. 인박스 템플릿도 만들고, 새 노트를 만들면 템플릿이 자동으로 들어가도록 Templater 트리거도 걸었다.
하루 만에 모두 버렸다. 두 가지 이유였다.
- 적는 순간 판단을 요구했다. "이건 질문인가 문제인가?"를 고민하는 동안 적는 행위 자체가 미뤄졌다.
- 기기마다 다시 켜야 했다. Templater 트리거는 보안 설정이라 파일로 동기화되지 않는다.
그래서 규칙을 적는 쪽에서 정리하는 쪽으로 옮겼다. 지금은 아무렇게나 적고, 분류 기준(물음표가 있으면 질문, 에러 메시지가 있으면 문제, "~로 하기로"는 결정…)은 AI가 읽는 CLAUDE.md에만 있다. 기호는 써도 되고 안 써도 되는 선택 힌트로만 남겼다.
설계 팁
- 할 일은 한 곳에. 프로젝트 할 일은 각 프로젝트
tasks.md, 개인 할 일은todo.md. 별도 체크리스트 노트를 만들면 체크할 곳이 두 군데가 된다. Home은 모아서 보여 주기만 한다. - 파일명은 영어 kebab-case, 제목은 한국어
title속성. 링크와 git 기록은 깔끔하고, 화면에는 한국어가 보인다. - Home은 Bases + Tasks. 표는 Bases, 체크박스는 Tasks. 열 이름은
displayName으로 한국어, 문서 열은file.asLink(title)로 한국어 제목을 보여 준다. - AI가 모르면 추측 대신 질문함으로. 추측으로 채운 내용은 "확인 필요"로 표시하게 한다. 틀린 정보가 조용히 쌓이는 것을 막는다.
- 분류는 5~8개, 삶의 영역 기준으로. 캘린더를 시험·자격증·과제처럼 종류별로 나눴더니 서로 겹쳤다. 생활·업무·공부·프로젝트·건강·약속·여가 7개로 정리했다.
- 플러그인 보안 설정은 파일로 켤 수 없다. Templater 트리거, Tasks의 JavaScript 허용은 기기별 설정이다. 이런 기능에 의존하는 설계는 피한다.
겪은 이슈
| 이슈 | 원인 | 해결 |
|---|---|---|
| Templater 트리거가 다시 꺼짐 | 보안 설정이 기기별로 저장됨 | 자유 메모 방식으로 전환 |
Tasks group by function 오류 | JavaScript 기본 차단 | group by folder로 대체 |
| Home 표 폭이 본문과 다름 | Minimal 테마가 표 컨테이너 폭을 따로 지정 | 테마 CSS 변수 덮어쓰기 |
| iCloud에 지운 캘린더가 남음 | EventKit 삭제가 서버에 반영되지 않음 | 캘린더 데몬 재시작 후 서버 상태 확인, 다시 삭제 |
| Swift가 489줄 중 1줄만 읽음 | \r\n을 문자 하나(grapheme cluster)로 취급 | components(separatedBy: .newlines) |
2주 운영 지표 (2026-09-30 ~ 10-11)
볼트의 git 기록과 동기화 앱 로그를 직접 집계했다.
| 지표 | 값 | 출처 |
|---|---|---|
| 데스크탑 메모 앱으로 적은 인박스 메모 | 21건 (life 9, projects 12) | 볼트 git 기록 |
| 대화로 넣어 미리 알림까지 간 할 일 | 25건 추가, 10건 수정 | 동기화 로그 |
| 휴대폰에서 바꿔 옵시디언에 반영된 할 일 | 7건 | 동기화 로그 |
| 옵시디언 일기 → 애플 캘린더 일정 | 5건 추가, 2건 수정 | 동기화 로그 |
| 애플 캘린더 → 옵시디언 일기 일정 | 5건 추가 | 동기화 로그 |
| 관리 중인 프로젝트 | 14개 | projects 볼트 |
가장 크게 달라진 건 같은 할 일을 두 번 적지 않게 됐다는 점이다. 미리 알림에 들어간 할 일 25건은 모두 옵시디언 todo.md에서 만들어져 동기화로 넘어간 것이다. 반대로 휴대폰에서 체크한 7건은 옵시디언에 그대로 반영됐다. 같은 할 일을 두 곳에 적은 경우는 없었다.
반면 study·work 볼트의 인박스 메모는 0건이었다. 공부와 업무 기록은 아직 이 흐름으로 거의 들어오지 않았다. 다음에 손볼 부분이다.
마치며
돌아보면 결국 역할을 나눈 것이다. 나는 적고, 말하고, AI가 묻는 것에 답한다. 분류하고, 옮기고, 캘린더에 넣고, 내가 확인할 것을 모아 오는 일은 AI가 맡는다. AI가 확신하지 못하는 건 질문함과 코드 검토 목록에 남는다.
다음 글에서는 일정과 할 일을 휴대폰까지 이어 준 동기화 앱을 다룬다.