Sync research references from .bib files to Zotero library + Obsidian literature notes. Extract cross-cutting concept notes when enough literature accumulates. Works after /search-lit or standalone.
/search-lit의 출력(.bib)을 받아 Zotero 라이브러리와 Obsidian 문헌 노트에 자동 동기화하고, 충분한 문헌 노트가 쌓이면 교차 개념 노트를 추출한다.
/search-lit 완료 후 → "문헌 동기화해줘"$OBSIDIAN_VAULT).bib 파일 (또는 /search-lit 출력)
│
▼ Phase 1: Parse
DOI, PMID, title, authors, journal, year 추출
│
▼ Phase 2: Zotero Sync
중복 체크 → zotero_add_by_doi → 컬렉션 배치
│
▼ Phase 3: Obsidian Literature Notes
02 연구/문헌/{citekey}.md 생성 (빈 노트 OK — 나중에 하이라이트 추가)
│
▼ Phase 4: Concept Extraction (조건부)
문헌 노트 10개 이상 → 교차 개념 스캔 → 개념 노트 제안
사용자가 지정한 .bib 파일 경로, 또는 방금 /search-lit이 생성한 .bib.
# .bib 파일에서 엔트리 파싱 (정규식 기반)
# 각 엔트리에서 추출:
# - citekey (e.g., Kim_2024_Validation)
# - doi
# - pmid
# - title
# - authors (first + last minimum)
# - journal
# - year
# - volume, number, pages (있으면)
파싱 실패한 엔트리는 로그에 남기고 skip.
현재 작업 디렉토리 또는 사용자 지정으로 프로젝트 판별. 기존 컬렉션 키가 있으면 사용, 없으면 새로 생성.
Collection mapping: Check existing Zotero collections for the current project. If no collection exists, create one with zotero_create_collection. Record the collection key for future use.
각 엔트리에 대해:
zotero_search_items로 DOI 또는 title 검색 → 이미 있으면 skipzotero_add_by_doi (DOI 있는 경우) 또는 zotero_add_by_url (DOI 없는 경우 PubMed URL)zotero_manage_collections로 해당 프로젝트 컬렉션에 배치Zotero Sync:
Added: 8 papers (new)
Skipped: 3 papers (already in library)
Failed: 1 paper (no DOI/PMID)
Collection: RFA-Meta (TZQEP4NH)
Zotero MCP 미연결 시 이 Phase 전체를 skip하고 Phase 3으로 진행.
ls "$VAULT/02 연구/문헌/" | grep -v "📊" | wc -l
각 .bib 엔트리에 대해 02 연구/문헌/{citekey}.md 생성.
이미 존재하면 skip (덮어쓰지 않음).
---