한줄 요약
쌓아둔 279개 노트가 검색도 안 되는 파일 더미였는데, AI가 분석-설계-실행을 한 번에 해결해줬습니다.
이런 분들께 도움돼요
옵시디언을 쓰는데 Dataview를 제대로 못 쓰고 있다
남의 PKM 템플릿을 찾아봤는데 내 업무와 잘 안 맞는다
파일이 너무 많아서 정리를 포기했다
잘 모르면 "보고 배운다"에서 "AI와 직접 상의한다"으로 바꾸어 보련다
소개: 시도하고자 했던 것과 그 이유
옵시디언을 사용한지 반년이 되어가면서부터 문제를 느끼기 시작했습니다.
노트가 쌓여 파일을 찾으려면 항상 폴더를 직접 뒤져야 했고, 컨설팅 노트와 스터디 노트가 왔다갔다 연결이 안 됐습니다. 최근에는 Dataview라는 강력한 쿼리 플러그인이 있다는 것도 알게됐지만, 소용이 없었습니다. 속성(Properties)이 하나도 없으니 쿼리를 써도 아무것도 안 나왔습니다.
해결책은 알았습니다. frontmatter 속성을 붙이면 된다. 그런데 막혔습니다.
"이미 만들어진 279개 노트는... 내가 일일이 보고 직접 입력해야 하는 거 아닌가?"
그래서 옵시디언 책과 남이 만든 템플릿들을 찾아보고 다니기 시작했습니다. 제텔카스텐 템플릿, PKM 시스템 사례글... 그런데 전부 내 업무(컨설팅, AI교육, 제조업 데이터분석)와는 맞지 않았습니다. 결국 그 상태로 계속 쌓아만 두고 있었습니다.
진행 방법: Claude Code와 어떻게 협업했나요
1단계: 볼트 구조 설명 → 속성 체계 설계
Claude Code에게 볼트 구조와 고민을 설명했습니다. 폴더 구조, 파일 수, 어떤 업무를 하는지까지요.
그랬더니 Claude가 직접 제안을 했습니다:
"이 볼트에는 6개 속성이면 충분합니다:
created,type,domain,tools,source,company"
특히 company 속성은 생각도 못 한 것이었습니다. 컨설팅 고객사가 많아도 회사별로 노트를 꺼낼 수 있어야 한다는 거였습니다. 내 볼트를 분석하니까 나온 속성이었습니다.
2단계: Python 스크립트 자동 생성
설계가 끝나자 Claude가 _add_properties.py 스크립트를 만들었습니다.
파일시스템 날짜 →
created자동 추출파일명 + 폴더 위치 + 본문 키워드 →
type,domain,tools,source,company추론CSV 미리보기 먼저 출력 → 검수 후 일괄 적용
"CSV를 먼저 보여줄게요"라는 순서를 Claude가 스스로 설계한 것도 인상적이었습니다. 덮어쓰기 전에 확인할 수 있게요.
type 값과 폴더 자동 추천 규칙
스크립트는 파일의 위치와 내용을 분석해서 각 노트에 자동으로 type을 부여하고, 그에 맞는 폴더를 추천합니다:
type
설명
추천 폴더
memo
빠른 메모, 스크랩, 링크 모음
00_임시메모/
project
프로젝트 진행 기록, 보고서
01_진행프로젝트/{domain별}/
consulting
컨설팅 고객사별 수행 기록
01_진행프로젝트/컨설팅 Proj/{company}/
study
강의·세미나·스터디 노트
02_스터디/{domain별}/
concept
개념 정리, 학습 요약
02_스터디/{domain별}/
curriculum
교육 커리큘럼, 교안
02_스터디/GPT기초강의/
guide
도구 사용법, 설정 가이드
02_스터디/{tool관련}/
todo
할일, 실습 계획
To Do List/
추론 로직의 핵심 코드:
def infer_type(filename: str, content: str, rel_path: str, domain: str) -> str:
"""type 추론 - 폴더위치 + 파일명 패턴 + 본문"""
# 폴더 기반 (가장 강력한 힌트)
if "00_임시메모" in rel_path:
return "memo"
if "To Do List" in rel_path:
return "todo"
if "컨설팅 Proj" in rel_path:
return "consulting"
if "01_진행프로젝트" in rel_path:
return "project"
# 파일명 패턴 (App으로 시작하는 루트 파일)
if filename.lower().startswith("app "):
if "manual" in filename.lower():
return "guide"
return "project"
# 02_스터디 안이면 study (또는 더 세분화된 type)
if "02_스터디" in rel_path:
return "study"
# 이외: domain 기반으로 학습(study) vs 업무(project) 구분
if domain in ["AI", "프롬프트", "GPT", "교육"]:
return "study"
return "memo" # fallback
3단계: 279개 파일에 일괄 적용
검수 후 apply 모드로 실행하자, 279개 파일 전체에 frontmatter가 삽입됐습니다.
추가로 만들어진 것들:
_recommend_folder.py— 속성 기반 폴더 추천 스크립트_Dataview 대시보드.md— 10개 Dataview 쿼리 모음5.템플릿/새 노트 템플릿.md— 앞으로 새 노트에 쓸 Templater 템플릿
결과와 배운 점
결과
279개 파일이 검색 가능한 지식 데이터베이스로 바뀌었습니다.
이제 Dataview에서 이런 쿼리가 됩니다:
WHERE company = "아르비젼"
WHERE contains(tools, "n8n")
WHERE type = "consulting" AND domain = "제조"
한 줄로 관련 노트를 전부 꺼낼 수 있습니다.
domain과 tools 자동 추론
domain은 학습/업무 분야를, tools는 사용한 도구를 자동으로 인식합니다:
domain 값
추천 폴더
domain 값
추천 폴더
AI
02_스터디/AI ML DL/
데이터분석
01_진행프로젝트/데이터분석 Proj/
프롬프트
02_스터디/Prompt Engineering/
제조
01_진행프로젝트/컨설팅 Proj/
GPT
02_스터디/GPTs/
교육
01_진행프로젝트/교육 Proj/
자동화
02_스터디/업무자동화 도구/
웹개발
02_스터디/프로그래밍/웹개발 프레임워크/
클로드
02_스터디/클로드MCP 클로드Code/
앱개발
01_진행프로젝트/앱 솔루션 개발 Proj/
tools 추론 코드의 일부:
def extract_tools(filename: str, content: str) -> list:
"""파일명+본문에서 도구명 추출"""
text = filename + " " + content
found = set()
# 도구 키워드 사전 (150+ 도구)
tool_keywords = {
"n8n": "n8n", "Make": "Make", "Power BI": "Power BI",
"Cursor": "Cursor", "Claude Code": "Claude Code",
"Supabase": "Supabase", "Firebase": "Firebase",
"Next.js": "Next.js", "React": "React", "Rails": "Rails",
"Expo": "Expo", "Flutter": "Flutter",
# ... 더 많은 도구들
}
for keyword, tool_name in tool_keywords.items():
if keyword in text:
found.add(tool_name)
return sorted(found) if found else []
예를 들어 n8n 업무자동화.md 파일은:
domain: 자동화(자동화 키워드 포함)tools: [n8n, Make](파일명과 본문에서 자동 추출)추천 폴더:
02_스터디/업무자동화 도구/
배운 점
이번 작업에서 가장 크게 깨달은 것은 기술적인 내용이 아닙니다.
"보고 배우자"는 태도를 바꿔야 한다는 것.
저는 늘 남이 만든 템플릿을 찾고, 남의 PKM 시스템을 참고하려 했습니다. 내가 직접 만드는 시도는 생각조차 못 했습니다. 잘 모르니까요.
그런데 실제로 해보니, 잘 모를 때 AI와 먼저 상의하는 게 답이었습니다.
내가 뭘 모르는지 → AI에게 설명하기 → 어떻게 하면 좋을지 같이 논의하기 → 실행
이 순서가 "남의 사례 찾기"보다 훨씬 빠르고, 내 상황에 정확히 맞는 결과가 나왔습니다.
재사용 가능한 프롬프트
내 옵시디언 볼트 구조를 설명할게.
[폴더 구조 붙여넣기]
파일이 약 [N]개 있고, frontmatter 속성이 전혀 없어.
이 볼트의 성격과 내 업무([업무 설명])를 고려해서,
어떤 속성 체계가 적합할지 설계해줘.
그리고 기존 파일들에 자동으로 속성을 추론해서 붙여주는
Python 스크립트도 만들어줘.
(CSV 미리보기 → 검수 → 일괄 적용 순서로)
도움 받은 글
옵시디언 Dataview 플러그인 공식 문서
지피터스 AI토크: 구요한님, 이태극님 글