Knowledge Manager Agent for Claude Code - Extract and organize content from web, PDF, social media to Obsidian/Notion
npx skills add https://github.com/treylom/knowledge-manager --skill baoyu-slide-deckInstallez cette compétence avec la CLI et commencez à utiliser le flux de travail SKILL.md dans votre espace de travail.
📖 English documentation is available at the bottom of this page.
Claude Code용 종합 지식 관리 에이전트. 다양한 소스에서 콘텐츠를 수집하고, Zettelkasten 원칙에 따라 분석하여, Obsidian 또는 Notion에 저장합니다.
/knowledge-manager-m)Claude Code Remote Control로 스마트폰에서 실행할 수 있는 경량 버전입니다.
/knowledge-manager |
/knowledge-manager-m |
|
|---|---|---|
| 콘텐츠 설정 | AskUserQuestion 4문항 | 키워드 자동 프리셋 |
| 카카오톡 전송 | 없음 | 지원 (선택) |
| ntfy 완료 알림 | 없음 | 지원 (선택) |
| 환경 | 데스크톱 | 모바일/Remote/headless |
# 빠른 요약
/knowledge-manager-m https://example.com 요약해줘
# 상세 분석 + 카카오 전송
/knowledge-manager-m https://example.com 꼼꼼히 카카오 나에게
# 실무용 정리
/knowledge-manager-m https://example.com 실무용
| 키워드 | 상세 | 중점 | 분할 | 연결 |
|---|---|---|---|---|
| "요약해줘" | 요약 | 전체 균형 | 단일 | 최대 |
| "꼼꼼히" | 상세 | 전체 균형 | 원자적 | 최대 |
| "기본" | 상세 | 전체 균형 | 3-tier | 최대 |
| (키워드 없음) | 상세 | 전체 균형 | 3-tier | 최대 |
카카오톡 자동 전송은 kmsg에서 영감을 받아 제작되었습니다.
| 플랫폼 | 도구 | 설치 |
|---|---|---|
| macOS | kmsg (원본) | brew install channprj/tap/kmsg |
| Windows/WSL | send_kakao.py (동봉) |
추가 설치 불필요 |
Windows/WSL: KakaoTalk PC 버전이 실행 중이어야 합니다.
send_kakao.py는 Win32 SendInput API로 메시지를 전송합니다.macOS: kmsg는 macOS용 Swift 바이너리입니다. 자세한 사용법은 kmsg README를 참고하세요.
{
"kakao": {
"enabled": true,
"selfName": "홍길동"
}
}
selfName: 본인 카카오톡 채팅방 이름 (실명). "나"가 아닌 본인 이름을 입력하세요!ntfy는 선택 사항입니다. 카카오톡 전송만으로 충분하면 이 섹션을 건너뛰세요.
ntfy는 무료 오픈소스 푸시 알림 서비스입니다. 작업 완료 시 스마트폰에 알림을 보냅니다. 카카오톡 "나와의 채팅"은 본인 메시지에 대해 푸시 알림이 안 오기 때문에, 작업 완료 알림이 필요한 경우 권장합니다.
설정 방법 (1회):
{
"notification": {
"ntfyTopic": "my-km-alerts-xyz"
}
}
모바일에서 Remote Control 사용 시 다음 설정을 권장합니다 (ntfy 사용자만 해당):
// ~/.claude/settings.json
{
"skipDangerousModePermissionPrompt": true,
"hooks": {
"Notification": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "curl -s -H 'Title: Claude 확인필요' -d '확인 필요' ntfy.sh/YOUR_TOPIC 2>/dev/null || true"
}
]
}
]
}
}
skipDangerousModePermissionPrompt: bypass 모드 시작 블로킹 제거Notification hook: permission 프롬프트나 idle 시 ntfy 알림tmux send-keys로 원격 승인Claude Code 1.0.33 이상에서 플러그인으로 설치할 수 있습니다.
# 마켓플레이스 추가
/plugin marketplace add treylom/knowledge-manager
# 플러그인 설치
/plugin install knowledge-manager
설치 후 /km:setup으로 셋업 위저드를 실행하세요.
# 저장소 클론
git clone https://github.com/treylom/knowledge-manager.git
cd knowledge-manager
# .claude 폴더를 프로젝트에 복사
cp -r .claude /your/project/.claude
cp km-config.example.json /your/project/
복사 후 /knowledge-manager setup으로 셋업 위저드를 실행하세요.
Antigravity(Google)는 Agent Skills 표준을 지원합니다. .agent/skills/ 폴더를 사용하면 스킬이 자동으로 인식됩니다.
장점: Antigravity는 강력한 내장 브라우저 에이전트가 있어서 Playwright MCP가 필요 없습니다!
Obsidian MCP만 설정하면 됩니다.
# 저장소 클론
git clone https://github.com/treylom/knowledge-manager.git
# .agent 폴더를 프로젝트에 복사 (Antigravity 스킬)
cp -r knowledge-manager/.agent /your/antigravity/project/
# .claude 폴더도 복사 (에이전트 및 명령어)
cp -r knowledge-manager/.claude /your/antigravity/project/
참고:
.agent/skills/폴더는 Antigravity, Gemini CLI, Claude Code, OpenCode 등 Agent Skills 표준을 지원하는 모든 도구에서 호환됩니다.
복사 후 Antigravity에서 다음과 같이 요청하세요:
Windows:
Knowledge Manager 설정을 도와줘.
내 Obsidian vault는 C:/Users/내이름/Documents/MyVault 야.
Mac:
Knowledge Manager 설정을 도와줘.
내 Obsidian vault는 /Users/내이름/Documents/MyVault 야.
Linux:
Knowledge Manager 설정을 도와줘.
내 Obsidian vault는 /home/내이름/Documents/MyVault 야.
에이전트가 자동으로:
%USERPROFILE%\.gemini\antigravity\mcp_config.json~/.gemini/antigravity/mcp_config.jsonkm-config.json 생성자동 설정이 작동하지 않으면 수동으로 설정할 수 있습니다.
MCP 서버 설정:
설정 파일 위치: C:\Users\<사용자명>\.gemini\antigravity\mcp_config.json
mcp_config.json에 다음 내용을 추가하세요:
{
"mcpServers": {
"obsidian": {
"command": "npx",
"args": ["-y", "@huangyihe/obsidian-mcp"],
"env": {
"OBSIDIAN_VAULT_PATH": "C:/Users/YourName/Documents/YourVault"
}
}
}
}
참고:
OBSIDIAN_VAULT_PATH를 실제 Obsidian vault 경로로 변경하세요.Playwright는 선택 사항입니다. Antigravity 내장 브라우저가 웹 스크래핑을 처리합니다.
스크린샷 캡처, DOM 조작 등 고급 기능이 필요한 경우에만 Playwright를 추가하세요.
설정 새로고침:
km-config.json 생성:
프로젝트 폴더에 km-config.json 파일을 생성하세요:
{
"storage": {
"primary": "obsidian",
"obsidian": {
"enabled": true,
"vaultPath": "C:/Users/YourName/Documents/YourVault",
"defaultFolder": "Zettelkasten"
},
"local": {
"enabled": true,
"outputPath": "./km-notes"
}
},
"browser": {
"provider": "antigravity"
}
}
설정이 완료되면:
Vault 경로를 모르시면 아래 방법으로 확인하세요.
Claude Code 또는 Antigravity에게 직접 물어보세요:
내 Obsidian vault 경로 찾는 법 알려줘
| OS | 경로 예시 |
|---|---|
| Windows | C:/Users/YourName/Documents/MyVault |
| Mac | /Users/YourName/Documents/MyVault |
| Linux | /home/yourname/Documents/MyVault |
⚠️ Windows 사용자: 역슬래시(
\) 대신 슬래시(/)를 사용하세요!
- ❌
C:\Users\...- ✅
C:/Users/...
| 항목 | 설명 |
|---|---|
| Claude Code / Antigravity | CLI, Desktop, 또는 Antigravity |
| Node.js 18+ | MCP 서버 실행용 |
Antigravity 사용자: 내장 브라우저가 있어 Playwright MCP 불필요. 이 섹션 건너뛰기.
Claude Code 환경에서 웹 콘텐츠를 추출하려면 Playwright MCP 서버가 필요합니다.
# Playwright MCP 자동 설치 (권장)
claude mcp add playwright -- npx -y @anthropic-ai/mcp-playwright
# 설치 확인
claude mcp list
# → playwright 서버가 표시되어야 함
웹 크롤링 도구 우선순위:
| 콘텐츠 유형 | 1순위 도구 | 2순위 (Fallback) |
|---|---|---|
| SNS (Threads, Instagram) | Playwright MCP (필수) | - |
| 일반 웹 | WebFetch | Playwright MCP |
| 항목 | 설치 명령 | 용도 |
|---|---|---|
| youtube-transcript-api | pip install youtube-transcript-api |
YouTube 자막 추출 (필수) |
| yt-dlp | pip install yt-dlp |
자막 폴백 + 메타데이터 (권장) |
카카오톡은 메시지 읽기 API를 제공하지 않아, macOS만 자동 수집이 가능합니다.
| 플랫폼 | 도구 | 자동화 | 설치 |
|---|---|---|---|
| macOS | kmsg | 자동 (Accessibility API) | brew install channprj/tap/kmsg |
| Windows/WSL | 수동 "대화 내보내기" → TXT 파싱 | 수동 필요 | 추가 설치 불필요 |
| (TXT 파서) | kakaotalk_msg_preprocessor | - | pip install kakaotalk_msg_preprocessor |
| 항목 | 용도 |
|---|---|
| Obsidian | 로컬 지식 관리 앱 (무료) |
| Notion 계정 | 팀 협업용 |
Antigravity 사용자: 자체 내장 PDF/이미지 처리 기능 사용. 아래 설치 불필요.
| 항목 | 설치 명령 | 용도 |
|---|---|---|
| Marker | pip install marker-pdf |
PDF → Markdown 변환 (권장) |
| pytesseract | pip install pytesseract pdf2image |
스캔 PDF OCR |
| Tesseract OCR | 설치 가이드 | OCR 엔진 |
| pdfplumber | pip install pdfplumber |
테이블 추출 |
# 셋업 위저드 (최초 1회)
/knowledge-manager setup
# 웹 아티클 정리
/knowledge-manager https://example.com/article
# PDF 파일 처리
/knowledge-manager /path/to/document.pdf
# Threads 포스트 정리
/knowledge-manager https://threads.net/@user/post/123
# YouTube 영상 트랜스크립트 정리
/knowledge-manager https://youtube.com/watch?v=XXX
# 카카오톡 채팅방 분석 (대화 내보내기 TXT 파일)
/knowledge-manager 카톡방 "AI 오픈채팅" 이번 주 내용 정리해줘
# 셋업 위저드
/km:setup
# 웹 아티클 정리
/km https://example.com/article
AI 이미지 생성 기반의 고퀄리티 프레젠테이션을 만들 수 있습니다.
📦 Powered by baoyu-slide-deck - JimLiu의 baoyu-skills에서 제공하는 슬라이드 생성 스킬입니다.
# 콘텐츠에서 PPT 생성
/knowledge-manager https://example.com/article PPT로 만들어줘
# 스타일 지정
/knowledge-manager content.md sketch-notes 스타일로 슬라이드 생성
# 직접 슬라이드 생성
/baoyu-slide-deck content.md --style corporate
| 스타일 | 용도 | 추천 상황 |
|---|---|---|
sketch-notes |
교육/튜토리얼 | 강의, 워크샵 |
blueprint |
기술 문서 | 아키텍처, 시스템 설계 |
corporate |
비즈니스 | 투자 발표, 경영 보고 |
minimal |
미니멀 | 심플한 발표 |
chalkboard |
강의실 | 교육 콘텐츠 |
notion |
SaaS 대시보드 | 제품 데모, B2B |
| 옵션 | 설명 | 예시 |
|---|---|---|
--style <name> |
비주얼 스타일 | --style corporate |
--audience <type> |
대상 청중 | --audience executives |
--lang <code> |
출력 언어 | --lang ko |
--slides <number> |
슬라이드 수 | --slides 15 |
--outline-only |
아웃라인만 생성 | - |
slide-deck/{topic}/
├── outline.md # 아웃라인
├── 01-slide-cover.png # 개별 슬라이드 이미지
├── ...
├── {topic}.pptx # PowerPoint 파일
└── {topic}.pdf # PDF 파일
Obsidian vault에 Zettelkasten 스타일 노트로 저장됩니다.
Your-Vault/
├── Zettelkasten/
│ └── AI-연구/
│ └── MCP 프로토콜 개요 - 2026-01-17.md
├── Research/
└── Threads/
로컬 폴더에 Obsidian 호환 Markdown 파일로 저장됩니다.
km-notes/
├── Zettelkasten/
├── Research/
└── Threads/
claude mcp list
| 환경 | 설정 파일 |
|---|---|
| Claude Code CLI | 프로젝트 폴더의 .mcp.json |
| Claude Desktop | %APPDATA%\Claude\claude_desktop_config.json |
| Antigravity | C:\Users\<사용자명>\.gemini\antigravity\mcp_config.json |
⚠️ 권장하지 않음: 기본적으로 Playwright MCP를 사용하세요. Hyperbrowser는 Playwright가 차단당하는 특수한 경우에만 고려하세요.
Playwright MCP가 특정 사이트에서 지속적으로 차단당하는 경우에만 Hyperbrowser를 고려하세요.
km-config.json에서 browser.provider를 "hyperbrowser"로 변경"hyperbrowser": {
"command": "npx",
"args": ["-y", "hyperbrowser-mcp"],
"env": {
"HYPERBROWSER_API_KEY": "your-api-key"
}
}
주의: Hyperbrowser는 유료 서비스이며, 설정이 복잡해질 수 있습니다. 대부분의 경우 Playwright MCP로 충분합니다.
export KM_OBSIDIAN_VAULT="/path/to/vault"
export KM_NOTION_TOKEN="ntn_xxx"
export KM_BROWSER_PROVIDER="playwright"
git checkout -b feature/amazing-feature)MIT License - 자유롭게 사용, 수정, 배포하세요.
A comprehensive knowledge management agent for Claude Code. It collects content from various sources, analyzes it using Zettelkasten principles, and saves it to Obsidian or Notion.
Available for Claude Code 1.0.33 and above.
# Add marketplace
/plugin marketplace add treylom/knowledge-manager
# Install plugin
/plugin install knowledge-manager
After installation, run /km:setup to start the setup wizard.
# Clone repository
git clone https://github.com/treylom/knowledge-manager.git
cd knowledge-manager
# Copy .claude folder to your project
cp -r .claude /your/project/.claude
cp km-config.example.json /your/project/
After copying, run /knowledge-manager setup to start the setup wizard.
Antigravity (Google) supports the Agent Skills standard. The .agent/skills/ folder is automatically recognized.
Advantage: Antigravity has a powerful built-in browser agent, so Playwright MCP is not required!
You only need to configure Obsidian MCP.
# Clone repository
git clone https://github.com/treylom/knowledge-manager.git
# Copy .agent folder (Antigravity skills)
cp -r knowledge-manager/.agent /your/antigravity/project/
# Also copy .claude folder (agents and commands)
cp -r knowledge-manager/.claude /your/antigravity/project/
Note: The
.agent/skills/folder is compatible with all tools supporting the Agent Skills standard, including Antigravity, Gemini CLI, Claude Code, and OpenCode.
After copying, ask Antigravity:
Windows:
Help me set up Knowledge Manager.
My Obsidian vault is at C:/Users/MyName/Documents/MyVault.
Mac:
Help me set up Knowledge Manager.
My Obsidian vault is at /Users/MyName/Documents/MyVault.
Linux:
Help me set up Knowledge Manager.
My Obsidian vault is at /home/myname/Documents/MyVault.
The agent will automatically:
%USERPROFILE%\.gemini\antigravity\mcp_config.json~/.gemini/antigravity/mcp_config.jsonkm-config.jsonIf automatic setup doesn't work, you can configure manually.
Configure MCP Servers:
Config file location: C:\Users\<username>\.gemini\antigravity\mcp_config.json
Add the following to mcp_config.json:
{
"mcpServers": {
"obsidian": {
"command": "npx",
"args": ["-y", "@huangyihe/obsidian-mcp"],
"env": {
"OBSIDIAN_VAULT_PATH": "C:/Users/YourName/Documents/YourVault"
}
}
}
}
Note: Replace
OBSIDIAN_VAULT_PATHwith your actual Obsidian vault path.Playwright is optional. Antigravity's built-in browser handles web scraping.
Only add Playwright if you need advanced features like screenshot capture or DOM manipulation.
Refresh Configuration:
Create km-config.json:
Create a km-config.json file in your project folder:
{
"storage": {
"primary": "obsidian",
"obsidian": {
"enabled": true,
"vaultPath": "C:/Users/YourName/Documents/YourVault",
"defaultFolder": "Zettelkasten"
},
"local": {
"enabled": true,
"outputPath": "./km-notes"
}
},
"browser": {
"provider": "antigravity"
}
}
After setup is complete:
If you don't know your vault path, here's how to find it.
Ask Claude Code or Antigravity directly:
Help me find my Obsidian vault path
| OS | Example Path |
|---|---|
| Windows | C:/Users/YourName/Documents/MyVault |
| Mac | /Users/YourName/Documents/MyVault |
| Linux | /home/yourname/Documents/MyVault |
⚠️ Windows users: Use forward slashes (
/) instead of backslashes (\)!
- ❌
C:\Users\...- ✅
C:/Users/...
| Item | Description |
|---|---|
| Claude Code / Antigravity | CLI, Desktop, or Antigravity |
| Node.js 18+ | For running MCP servers |
Antigravity users: Has built-in browser, Playwright MCP not needed. Skip this section.
To extract web content in Claude Code, you need the Playwright MCP server.
# Auto-install Playwright MCP (recommended)
claude mcp add playwright -- npx -y @anthropic-ai/mcp-playwright
# Verify installation
claude mcp list
# → playwright server should appear
Web Crawling Tool Priority:
| Content Type | Primary Tool | Fallback |
|---|---|---|
| SNS (Threads, Instagram) | Playwright MCP (required) | - |
| General Web | WebFetch | Playwright MCP |
| Item | Install Command | Purpose |
|---|---|---|
| youtube-transcript-api | pip install youtube-transcript-api |
YouTube subtitle extraction (required) |
| yt-dlp | pip install yt-dlp |
Subtitle fallback + metadata (recommended) |
KakaoTalk provides no message reading API. Only macOS supports auto-collection.
| Platform | Tool | Automation | Install |
|---|---|---|---|
| macOS | kmsg | Auto (Accessibility API) | brew install channprj/tap/kmsg |
| Windows/WSL | Manual "Export Chat" → TXT parsing | Manual required | No additional install needed |
| (TXT parser) | kakaotalk_msg_preprocessor | - | pip install kakaotalk_msg_preprocessor |
| Item | Purpose |
|---|---|
| Obsidian | Local knowledge management app (free) |
| Notion account | For team collaboration |
Antigravity users: Use built-in PDF/image processing. No installation required.
| Item | Install Command | Purpose |
|---|---|---|
| Marker | pip install marker-pdf |
PDF → Markdown (recommended) |
| pytesseract | pip install pytesseract pdf2image |
Scanned PDF OCR |
| Tesseract OCR | Install Guide | OCR engine |
| pdfplumber | pip install pdfplumber |
Table extraction |
knowledge-manager is distributed as a git repository that adapts to your Obsidian vault at install time. The skill, agent, and command files in this repo contain placeholder tokens (e.g. {{VAULT_PATH}}) that get substituted with your real paths the first time you run the setup wizard. After that, git pull + /km-update keeps you current without ever touching your personal config.
# 1. Clone the repository
git clone https://github.com/treylom/knowledge-manager.git
cd knowledge-manager
# 2. (Optional) Install Node.js 18+ and Playwright MCP — see Requirements section above
# 3. Run the setup wizard inside Claude Code
# Inside Claude Code, type:
/knowledge-manager-setup
The setup wizard will:
/home/you/Documents/MyVault or C:/Users/You/Documents/MyVault).km-config.json in the repo root (this file is gitignored — your personal config stays local).scripts/configure-vault-paths.sh which replaces every {{VAULT_PATH}}, {{VAULT_NAME}}, {{OBSIDIAN_CLI}}, {{ZETTELKASTEN_ROOT}}, and {{RESEARCH_ROOT}} placeholder in skills/, agents/, commands/, and .claude/ with your real values.git update-index --skip-worktree so the replacements never show up as dirty in git status.When the wizard finishes, every skill and command file points to your vault — no manual find-and-replace required.
When you want to pull upstream improvements, use the /km-update slash command instead of a raw git pull:
/km-update
Under the hood this runs scripts/km-update.sh, which:
git checkout HEAD -- <files>.git pull origin <current-branch> to fetch upstream changes.scripts/configure-vault-paths.sh to re-substitute placeholders with your current km-config.json values.A plain git pull will still work — but if your previous substitution has diverged from upstream (e.g. upstream changed a line around a placeholder), you may hit a merge conflict. /km-update is the safe path.
If you move your vault, rename it, or want to point knowledge-manager at a different vault, just re-run the setup wizard:
/knowledge-manager-setup
The wizard backs up your existing km-config.json (timestamped), generates a new one, and re-runs the substitution engine. Your previous values are preserved in the backup file in case you need to roll back.
Source files in this repo use these 5 placeholder tokens. The setup wizard replaces them with values from your km-config.json:
| Placeholder | Config field | Default | Meaning |
|---|---|---|---|
{{VAULT_PATH}} |
storage.obsidian.vaultPath |
(required) | Absolute path to your Obsidian vault |
{{VAULT_NAME}} |
derived from basename of vaultPath |
(derived) | Vault folder name (e.g. MyVault) |
{{OBSIDIAN_CLI}} |
obsidianCli.path |
"" (empty) |
Path to Obsidian CLI executable; empty string if Obsidian desktop is not installed |
{{ZETTELKASTEN_ROOT}} |
storage.obsidian.zettelkastenRoot |
"Zettelkasten" |
Vault-relative path to your Zettelkasten root folder |
{{RESEARCH_ROOT}} |
storage.obsidian.researchRoot |
"Research" |
Vault-relative path to your research/MOC root folder |
If you edit a skill file yourself and need it to stay portable, write the placeholder form (e.g. {{VAULT_PATH}}/Zettelkasten/note.md) and re-run /knowledge-manager-setup (or bash scripts/configure-vault-paths.sh directly). See docs/vault-path-configuration.md for the full technical reference, troubleshooting, and the skip-worktree rationale.
# Setup wizard (first time only)
/knowledge-manager setup
# Process web article
/knowledge-manager https://example.com/article
# Process PDF file
/knowledge-manager /path/to/document.pdf
# Process Threads post
/knowledge-manager https://threads.net/@user/post/123
# YouTube video transcript
/knowledge-manager https://youtube.com/watch?v=XXX
# KakaoTalk chat analysis
/knowledge-manager Analyze "AI Chat Room" messages from this week
# Setup wizard
/km:setup
# Process web article
/km https://example.com/article
Notes are saved in Zettelkasten style in your Obsidian vault.
Your-Vault/
├── Zettelkasten/
│ └── AI-Research/
│ └── MCP Protocol Overview - 2026-01-17.md
├── Research/
└── Threads/
Notes are saved as Obsidian-compatible Markdown files in a local folder.
km-notes/
├── Zettelkasten/
├── Research/
└── Threads/
claude mcp list
| Environment | Config File |
|---|---|
| Claude Code CLI | .mcp.json in project folder |
| Claude Desktop | %APPDATA%\Claude\claude_desktop_config.json |
| Antigravity | C:\Users\<username>\.gemini\antigravity\mcp_config.json |
⚠️ Not recommended: Use Playwright MCP by default. Only consider Hyperbrowser if Playwright is consistently blocked.
Only consider Hyperbrowser if Playwright MCP is consistently blocked on specific sites.
browser.provider to "hyperbrowser" in km-config.json"hyperbrowser": {
"command": "npx",
"args": ["-y", "hyperbrowser-mcp"],
"env": {
"HYPERBROWSER_API_KEY": "your-api-key"
}
}
Note: Hyperbrowser is a paid service and may add configuration complexity. Playwright MCP is sufficient for most cases.
export KM_OBSIDIAN_VAULT="/path/to/vault"
export KM_NOTION_TOKEN="ntn_xxx"
export KM_BROWSER_PROVIDER="playwright"
git checkout -b feature/amazing-feature)MIT License - Free to use, modify, and distribute.