Communitygithub.com

heyitsnoah/claudesidian

대화형 설정 마법사로, 신규 사용자가 Obsidian 워크플로우 선호도에 맞춰 개인화된 CLAUDE.md 파일을 만들 수 있도록 도와줍니다. 사용자가 claudesidian을 설정하거나, 새 보관함을 온보딩하거나, 부트스트랩/초기화/설정 마법사를 실행하려 할 때 사용하세요.

claudesidian란 무엇인가요?

이 스킬은 사용자의 워크플로우와 선호도에 따라 맞춤형 CLAUDE.md 구성 파일을 생성하는 대화형 설정 마법사입니다. 기존 Obsidian 보관함 구조를 감지하고, 파일 명명 규칙, 사용자 정의 폴더 구조, 일일 노트 형식 및 조직 체계(PARA, Zettelkasten 등)에 대한 선호도를 파악합니다. 또한 Gemini Vision(이미지/PDF 분석) 및 Firecrawl(웹 리서치)과 같은 선택적 도구 통합을 안내하며, 사용자 기반에 맞춘 주간 리뷰 의식 및 프로젝트/영역/리소스 폴더 구조를 생성합니다. Claude Code, Cursor, Codex 및 Pi를 포함한 여러 플랫폼에서 작동하며, Obsidian 워크플로우를 최적화하려는 신규 및 기존 사용자 모두에게 이상적입니다.

지원 대상✓Claude Code✓Codex CLI✓Cursor✓Gemini CLI✓OpenCode
npx skills add https://github.com/heyitsnoah/claudesidian/tree/HEAD/.agents/skills/init-bootstrap

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

부트스트랩 초기화 구성

이 명령어는 Obsidian 워크플로우와 선호도에 대해 질문하여 개인화된 CLAUDE.md 구성 파일을 만드는 데 도움을 줍니다.

작업

CLAUDE-BOOTSTRAP.md 템플릿을 읽고 사용자의 다음 정보를 대화형으로 수집합니다:

  • 기존 보관함 구조 (있는 경우)
  • 워크플로우 선호도
  • 메모 작성 스타일
  • 조직화 방법
  • 특정 요구 사항

그런 다음 사용자의 필요에 맞게 맞춤화된 CLAUDE.md 파일을 생성합니다.

프로세스

  1. 초기 환경 설정

    • date 명령어로 타임스탬프를 위한 현재 날짜 가져오기
    • 현재 폴더 이름을 확인하고 이름을 바꿀지 물어보기
    • '예'인 경우, 이름 변경 과정 안내 (상위 디렉토리 이동 처리)
    • package.json 확인 및 의존성 설치:
      • pnpm install 먼저 시도 (더 빠르고 좋음)
      • pnpm을 사용할 수 없으면 npm install로 대체
    • 핵심 의존성이 설치되었는지 확인
    • git 상태 확인:
      • .git 폴더가 없으면: git 저장소 초기화
      • 원격 origin이 있으면: 개발 작업에 관해 질문
        • 개인 보관함: origin 및 .github 폴더 제거
        • 기여: origin 및 워크플로우 유지
      • 깨끗한 로컬 저장소: 준비 완료
    • 조직화 방법에 대해 묻기 전까지 폴더를 만들지 마십시오
  2. 기존 구성 확인

    • 기존 CLAUDE.md 찾기
    • 있으면, 업데이트할지 새로 시작할지 물어보기
    • CLAUDE-BOOTSTRAP.md 템플릿 확인
  3. 보관함 정보 수집

    • 일반적인 위치에서 기존 Obsidian 보관함 검색 (.obsidian 폴더)
    • 적절한 깊이 제한으로 다음 경로 확인:
      • ~/Documents (maxdepth 3) - 모든 플랫폼
      • ~/Desktop (maxdepth 3) - 모든 플랫폼
      • ~/Library/Mobile Documents/iCloud~md~obsidian/Documents (maxdepth 5 - macOS 전용, iCloud 보관함)
      • 홈 디렉토리 ~/ (maxdepth 2) - 모든 플랫폼
      • 현재 디렉토리 상위 (maxdepth 2) - 모든 플랫폼
    • 찾은 경우: "[path]에서 Obsidian 보관함을 찾았습니다. 가져올 보관함이 맞습니까?"라고 질문
    • 파일 수 정확하게 계산: find [path] -type f -name "*.md" | wc -l (깊이 제한 없음)
    • 보관함 크기 표시: du -sh [path]
    • 확인된 경우, 보관함 구조 분석:
      • tree -L 3 -d [path] 실행하여 폴더 계층 구조 확인
      • 10-15개의 무작위 노트를 샘플링하여 콘텐츠 유형 이해
      • 최근 파일 이름 30-50개를 나열하여 명명 패턴 감지
      • 일일 노트 폴더 및 형식 확인
      • 파일 수별로 가장 활동적인 폴더 식별
      • PARA, Zettelkasten, Johnny Decimal 또는 사용자 정의 사용 감지
    • 올바른 보관함이 아니거나 찾을 수 없는 경우:
      • macOS에서만: "보관함이 iCloud Drive에 저장되어 있습니까? (예/아니오)"라고 질문
      • 예(macOS)인 경우: "보관함의 전체 경로를 입력하세요 (예: /Library/Mobile Documents/iCloudmd~obsidian/Documents/YourVault)"
      • 아니오이거나 Linux/Windows인 경우: "기존 보관함의 경로를 입력하거나, 새로 시작하려면 'skip'을 입력하세요"
      • 사용자가 제공한 경로 검증 (아래 "사용자 경로 검증" 섹션 참조)
    • 기존 보관함이 없거나 사용자가 건너뛰면, 새로 시작하는 것입니다
  4. 구성 질문하기

    • "이름이 무엇입니까?" (개인화용)
    • "귀하의 맥락을 더 잘 이해하기 위해 공개 작업을 조사해 드릴까요?"
      • 예인 경우: 정보 검색
      • 항상 결과를 보여주고 "이것이 맞습니까?"라고 확인 요청
      • 여러 사람이 발견되면 번호를 매겨 선택 목록 표시
      • 잘못된 사람인 경우, 다시 검색하거나 건너뛰기 제안
      • 작업, 글쓰기 스타일, 전문 분야에 대한 관련 컨텍스트 저장
    • "PARA 방법을 따르십니까, 아니면 다른 조직 체계를 사용하십니까?"
    • "주요 사용 사례는 무엇입니까? (연구, 글쓰기, 프로젝트 관리, 지식 베이스, 일일 노트)"

    PARA를 사용하는 경우, 특정 설정 질문하기: Tiago Forte의 PARA 방법

    • "현재 작업 중인 활성 프로젝트는 무엇입니까?" (01_Projects에 폴더 생성)
    • "유지 관리하는 책임 영역은 무엇입니까?" (예: 업무, 건강, 재정, 가족)
    • "자주 연구하는 주제는 무엇입니까?" (03_Resources에 설정)
    • "최근에 완료한 프로젝트가 있습니까?" (요약과 함께 보관 가능)

    일반 선호도:

    • .obsidian/community-plugins.json을 확인하여 사용하는 플러그인 확인
    • 기존 파일을 분석하여 명명 규칙 자동 감지
    • 첨부 파일 폴더를 확인하여 미디어 파일 작업 여부 확인
    • "버전 관리를 위해 git을 사용하십니까?"
    • "자주 참조하는 특정 웹사이트나 리소스가 있습니까?"
    • "특정 글쓰기 스타일 선호도가 있습니까?"
    • "Claude가 따라야 할 워크플로우나 패턴이 있습니까?"
    • "주간 검토 의식을 원하십니까? (예: 목요일 프로젝트 검토)"
    • "'사고 모드'(질문/탐색)와 '작성 모드' 중 어떤 것을 선호하십니까?"
  5. 선택적 도구 설정

    Gemini Vision (이미 포함됨)

    • 질문: "Gemini Vision이 이미지, PDF 및 비디오 분석을 위해 이미 포함되어 있습니다. 활성화하시겠습니까? (예/아니오/나중에)"
    • 설명: "Google의 무료 API 키만 있으면 됩니다. 이것으로 Claude가 보관함의 모든 시각적 콘텐츠를 분석할 수 있습니다."
    • 나중에: "걱정하지 마세요! 언제든지 https://aistudio.google.com/apikey에서 API 키를 받아 쉘 프로필에 GEMINI_API_KEY를 추가한 다음, claude mcp add --scope project gemini-vision node .claude/mcp-servers/gemini-vision.mjs를 실행하면 설정할 수 있습니다."
    • 예인 경우:
      • https://aistudio.google.com/apikey에서 API 키 받기 안내 (무료, 30초 소요)
      • 쉘 프로필(.zshrc, .bashrc 등)에 추가 지원
      • claude mcp add --scope project gemini-vision node .claude/mcp-servers/gemini-vision.mjs 실행
      • API 키로 .mcp.json 구성
      • 샘플 명령어로 연결 테스트

    Firecrawl (이미 포함됨)

    • 질문: "Firecrawl이 웹 리서치를 위해 포함되어 있습니다. 설정하시겠습니까? (예/아니오/나중에)"
    • 설명: "이것은 리서치에 획기적인 도구입니다! 기사나 웹사이트를 찾으면 마크다운으로 직접 보관함에 저장할 수 있습니다. 콘텐츠를 영구 보존하고, 검색 가능하게 하며, Claude가 분석할 수 있게 합니다. 리서치 라이브러리를 구축하는 데 완벽합니다."
    • 예시: "Claude에게 '이 기사를 내 보관함에 저장: [URL]'이라고 말하면 끝입니다!"
    • 나중에: "언제든지 https://firecrawl.dev에서 API 키를 받아 .scripts/의 스크립트를 구성하면 설정할 수 있습니다."
    • 예인 경우:
      • https://firecrawl.dev에서 API 키 받기 안내 (무료 티어 제공)
      • .scripts/의 스크립트 구성 지원
      • 사용 예시 표시: .scripts/firecrawl-scrape.sh https://example.com
  6. 맞춤형 구성 생성

    • 현재 날짜 가져오기: CLAUDE.md 헤더용 date +"%B %d, %Y"
    • 선호도를 .claude/vault-config.json에 저장:
      {
        "user": {
          "name": "홍길동",
          "background": {
            "companies": ["Variance", "Percolate"],
            "roles": ["공동 창업자", "작가"],
            "publications": ["Why Is This Interesting?", "every.to"],
            "expertise": [
              "개발자 도구",
              "마케팅 기술",
              "시스템 사고"
            ],
            "interests": ["사고를 위한 AI", "메모 작성 시스템", "창의성"]
          },
          "profileSources": [
            "https://whyisthisinteresting.com/about",
            "https://every.to/@username"
          ],
          "customContext": "AI를 단순한 글쓰기가 아닌 사고 증강으로 봅니다",
          "publicProfile": true
        },
        "vaultPath": "/path/to/existing/vault",
        "fileNamingPattern": "detected-pattern",
        "organizationMethod": "PARA",
        "primaryUses": ["research", "writing", "projects"],
        "tools": {
          "geminiVision": true,
          "firecrawl": false
        },
        "projects": ["책 - 생산성", "SaaS 앱"],
        "areas": ["뉴스레터", "건강"],
        "importedAt": "2025-01-13",
        "lastUpdated": "2025-01-13"
      }
      
    • CLAUDE-BOOTSTRAP.md를 기본으로 시작
    • 사용자별 섹션 추가:
      • 실제 프로젝트/영역이 포함된 사용자 정의 폴더 구조
      • 개인 워크플로우
      • 선호하는 도구 및 스크립트
      • 특정 지침
      • 설정된 경우 MCP 구성
    • 제공된 경우 웹사이트/리소스 포함
    • 사용자 정의 명명 규칙 추가
    • 프로젝트 및 영역 미리 채우기:
      • 01_Projects/에 프로젝트 폴더 생성
      • 02_Areas/에 영역 폴더 생성
      • 03_Resources/에 리소스 주제 생성
      • 각 프로젝트/영역을 설명하는 README 파일 추가
  7. 기존 보관함 가져오기 (해당하는 경우)

    • 사용자에게 기존 보관함이 있는 경우:
      • OLD_VAULT 폴더 생성: mkdir OLD_VAULT
      • 구조를 유지하며 전체 보관함 복사: cp -r [vault-path]/* ./OLD_VAULT/
      • Obsidian 구성 복사: cp -r [vault-path]/.obsidian ./
      • 기타 중요한 파일 확인 및 복사:
        • .trash/ (Obsidian 휴지통 폴더)
        • .smart-connections/ (해당 플러그인 사용 시)
        • 작업 공간 파일: .obsidian.vimrc 등
      • 복사 제외: .git/ (자체적으로 가짐), .claude/ (당사 것을 사용)
      • 요약 표시: "보관함을 OLD_VAULT/로 가져왔습니다 (X 파일, Y 폴더)"
      • 설명: "원래 구조는 OLD_VAULT에 보존됩니다. 필요에 따라 점진적으로 PARA 폴더로 파일을 마이그레이션할 수 있습니다."
  8. 지원 파일 생성

    • 새 보관함인 경우 초기 폴더 구조 생성
    • 주요 폴더에 대한 README 파일 생성
    • 각 프로젝트 폴더에 하위 폴더 생성:
      • Research/ (소스 자료)
      • Chats/ (AI 대화)
      • Daily Progress/ (실행 로그)
    • 05_Attachments/Organized/ 디렉토리 생성
    • git을 사용하는 경우 .gitignore 설정 (.mcp.json, node_modules 포함)
    • 요청 시 초기 템플릿 생성
    • 사용자가 검토 의식을 원하는 경우 WEEKLY_REVIEW.md 생성
    • FIRST_RUN 마커 파일이 있으면 제거
    • 저장소가 초기화된 경우 초기 git 커밋 수행
  9. 테스트 명령 실행

    • pnpm vault:stats 실행하여 스크립트 작동 확인
    • 폴더가 있으면 첨부 파일 명령 테스트
    • 구성된 경우 MCP 도구 테스트
    • git이 파일을 올바르게 추적하는지 확인
  10. 다음 단계 제공

  • 생성 및 구성된 내용 요약
  • 설정에 따른 빠른 시작 가이드
  • 사용할 수 있는 명령어 목록
  • 모든 것이 제대로 작동하는지 확인하는 테스트 명령
  • 사용 사례에 따른 첫 번째 작업 제안
  • 나중에 구성을 수정하는 방법

예시 출력

# 귀하의 Obsidian 보관함 구성

생성일: [`date +"%B %d, %Y"`을 실행하여 현재 날짜 가져오기] 마지막 업데이트: [동일한 날짜] 기준 선호도: [주요 사용 사례] 설정 완료: ✅ 의존성 ✅ 폴더 구조 ✅ Git 초기화

## 귀하의 사용자 정의 폴더 구조

[설명이 포함된 특정 구조]

## 귀하의 워크플로우

### 일일 루틴

[사용자 답변 기반]

### 프로젝트 관리

[사용자의 특정 접근 방식]

### 연구 방법 (Noah Brier 스타일)

- 읽은 모든 것을 캡처하세요
- 중요한 아이디어가 자연스럽게 다시 떠오르게 하세요
- 이해를 테스트하기 위해 글쓰기부터 시작하세요
- 태그 대신 검색을 사용하여 항목을 찾으세요
- [Noah의 시스템에서 더 알아보기](https://every.to/superorganizers/ceo-by-day-internet-sleuth-by-night-267452)

### 주간 검토 의식

[활성화된 경우: 매주 목요일 오후 4시, 모든 프로젝트 검토]

## 귀하의 선호도

### 파일 명명

- 패턴: [사용자 규칙]
- 예시: [특정 예시]

### 도구 및 스크립트

[워크플로우 관련 스크립트]

## MCP 서버 (구성된 경우)

### Gemini Vision

- 상태: ✅ 구성 및 테스트 완료
- API 키: .mcp.json에 설정됨
- 다음으로 테스트: `use gemini-vision to analyze [이미지 경로]`

## 사용 가능한 명령

### 보관함 관리

- `pnpm vault:stats` - 보관함 통계 표시
- `pnpm attachments:list` - 처리되지 않은 첨부 파일 목록
- `pnpm attachments:organized` - 정리된 파일 수 계산

### Claude 스킬

작업을 설명하면 스킬이 자동으로 발견됩니다. 예시:

- "X에 대해 생각해보게 도와줘" → `thinking-partner`
- "내 하루를 마무리해 줘" / "일일 리뷰" → `daily-review`
- "내 수신함을 처리해 줘" → `inbox-processor`
- "설정 마법사를 다시 실행해 줘" → `init-bootstrap`

스킬은 `.agents/skills/` (표준)에 있으며, `.claude/skills/` 및 `.pi/skills/`에 심볼릭 링크가 있습니다. Claude Code, OpenCode, Codex, Cursor 및 Pi에서 작동합니다.

## 빠른 시작

1. [개인화된 첫 번째 단계]
2. [목표에 따른 다음 작업]
3. [워크플로우에 특화된 내용]

## 연구 마스터의 전문가 팁

- **토큰 최대주의자가 되세요**: Claude에게 많은 컨텍스트 제공
- **글쓰기는 확장됩니다**: 나중에 참조할 수 있도록 모든 것을 문서화하세요
  ([Noah Brier](https://every.to/superorganizers/ceo-by-day-internet-sleuth-by-night-267452))
- **발현을 신뢰하세요**: 중요한 아이디어는 계속 표면화됩니다
- **글쓰기부터 시작하세요**: 항상 텍스트 형식으로 프로젝트를 시작하세요
- **정기적으로 검토하세요**: 매주 정리하고 업데이트할 시간을 할애하세요
- **PARA 방법**: 프로젝트, 영역, 리소스, 아카이브
  ([Tiago Forte](https://fortelabs.com/blog/para/))

## 설정 요약

✅ 의존성 설치됨 (pnpm/npm) ✅ 폴더 구조 생성됨 ✅ Git 저장소가 초기화되고 원본과 분리됨 ✅ CLAUDE.md 개인화됨 ✅ 첫 실행 설정 완료됨 [✅ MCP Gemini Vision 구성됨 - 설정된 경우] [✅ 첫 번째 커밋 완료됨 - git이 초기화된 경우]

중요한 구현 참고 사항

여러 보관함 처리

여러 보관함이 감지된 경우:

  1. 발견된 모든 보관함을 명확한 번호와 세부 정보와 함께 항상 나열
  2. 명시적 선택 필수 - 사용할 보관함을 추측하지 마십시오
  3. 가져오기를 진행하기 전에 선택을 확인
  4. 모호한 응답 처리 - 사용자가 명확하지 않은 입력(예: 스크린샷 붙여넣기)을 제공하는 경우 명확히 요청:
    • "스크린샷을 공유하셨네요. 가져오려는 보관함의 번호(1-3)를 입력해 주시겠어요?"
    • "명확한 선택이 필요합니다. 보관함을 선택하려면 '1', '2' 또는 '3'을 입력하세요."

사용자 경로 검증

사용자가 보관함 경로를 제공하는 경우: (경로가 유효하고 Obsidian 보관함인지 확인 후 진행)

명확성 및 확인

  • 결코 추측하지 마십시오 - 확실하지 않으면 항상 확인
  • 예/아니오 질문의 경우 "예" 또는 "아니오"를 기대하고 있음을 명시
  • 모호한 입력 거부 - 사용자가 모호한 입력(예: 스크린샷, 모호한 설명)을 제공하면 거절하고 명확한 텍스트 입력 요청
  • 폴더 또는 파일 이름을 추측하지 마십시오. 항상 정확한 철자 확인

오류 처리

  • 스크립트가 실패하면 명확한 오류 메시지 제공
  • 해결 방법 제안 (예: "명령이 실패했습니다. 수동으로 설치해 보시겠어요?")
  • 치명적이지 않은 오류가 있는 경우에도 계속 진행하고 문제를 기록
  • 사용자가 입력에 민감한 정보(API 키 등)를 붙여넣는 경우, 올바르게 마스킹되었는지 확인

크로스 플랫폼 고려 사항

  • find 명령에 -maxdepth 사용 (macOS/Linux)
  • Windows에서는 적절한 동등 명령어 사용 (예: dir /s, where)
  • 경로 구분 기호: Windows의 경우 \, Unix의 경우 /
  • 쉘 프로필 파일: macOS/Linux의 경우 .zshrc / .bashrc, Windows의 경우 $PROFILE

보안 모범 사례

  • API 키를 로그하거나 콘솔에 출력하지 마십시오
  • .mcp.json에 API 키를 저장할 때 적절한 파일 권한 설정 (chmod 600)
  • .gitignore에 .mcp.json 및 node_modules를 추가하는 것을 잊지 마십시오
  • 쉘 기록에 API 키가 유출되지 않았는지 확인

관련 스킬