baoyu-slide-deck

Knowledge Manager Agent for Claude Code - Extract and organize content from web, PDF, social media to Obsidian/Notion

Installation
CLI
npx skills add https://github.com/treylom/knowledge-manager --skill baoyu-slide-deck

Install this skill with the CLI and start using the SKILL.md workflow in your workspace.

Last updated 4/22/2026

Knowledge Manager Agent

๐Ÿ“– English documentation is available at the bottom of this page.

Claude Code์šฉ ์ข…ํ•ฉ ์ง€์‹ ๊ด€๋ฆฌ ์—์ด์ „ํŠธ. ๋‹ค์–‘ํ•œ ์†Œ์Šค์—์„œ ์ฝ˜ํ…์ธ ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ , Zettelkasten ์›์น™์— ๋”ฐ๋ผ ๋ถ„์„ํ•˜์—ฌ, Obsidian ๋˜๋Š” Notion์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

โœจ ํŠน์ง•

  • ๋‹ค์ค‘ ์†Œ์Šค ์ž…๋ ฅ: ์›นํŽ˜์ด์ง€, PDF, Notion
  • YouTube ํŠธ๋žœ์Šคํฌ๋ฆฝํŠธ: YouTube ์˜์ƒ ์ž๋ง‰ ์ž๋™ ์ถ”์ถœ + ๋ถ„์„ + ๋…ธํŠธ ์ƒ์„ฑ โญ NEW
  • ์นด์นด์˜คํ†ก ์ฑ„ํŒ… ๋ถ„์„: ์ฑ„ํŒ…๋ฐฉ ๋ฉ”์‹œ์ง€ ๋ถ„์„ + ๋…ธํŠธ ์ƒ์„ฑ (macOS: ์ž๋™, Windows: ์ˆ˜๋™ ๋‚ด๋ณด๋‚ด๊ธฐ) โญ NEW
  • PDF ๋ฐ ์ด๋ฏธ์ง€ OCR: ์Šค์บ”๋œ PDF์™€ ์ด๋ฏธ์ง€์—์„œ ํ…์ŠคํŠธ ์ถ”์ถœ (Claude Code์šฉ)
  • ์Šค๋งˆํŠธ ์ถ”์ถœ: AI ๊ธฐ๋ฐ˜ ์ฝ˜ํ…์ธ  ๋ถ„์„ ๋ฐ ์›์ž์  ์•„์ด๋””์–ด ์ถ”์ถœ
  • ์œ ์—ฐํ•œ ์ €์žฅ: Obsidian, Notion, ๋˜๋Š” ๋กœ์ปฌ Markdown ํŒŒ์ผ
  • PPT/์Šฌ๋ผ์ด๋“œ ์ƒ์„ฑ: AI ์ด๋ฏธ์ง€ ๊ธฐ๋ฐ˜ ๊ณ ํ€„๋ฆฌํ‹ฐ ํ”„๋ ˆ์  ํ…Œ์ด์…˜ (15+ ์Šคํƒ€์ผ)
  • ๊ฐ„๋‹จํ•œ ์„ค์ •: ์…‹์—… ์œ„์ €๋“œ๊ฐ€ ๋ชจ๋“  ๊ฒƒ์„ ์•ˆ๋‚ด
  • ๋ชจ๋ฐ”์ผ/Remote ์ง€์›: Claude Code Remote Control์—์„œ ํ‚ค์›Œ๋“œ ๊ธฐ๋ฐ˜ ์ž๋™ ํ”„๋ฆฌ์…‹์œผ๋กœ ์‹คํ–‰
  • ์นด์นด์˜คํ†ก ์ „์†ก: ์ •๋ฆฌ๋œ ๋…ธํŠธ๋ฅผ ์นด์นด์˜คํ†ก์œผ๋กœ ์ž๋™ ์ „์†ก (Windows/WSL)
  • ntfy ์™„๋ฃŒ ์•Œ๋ฆผ (์„ ํƒ): ์ž‘์—… ์™„๋ฃŒ ์‹œ ๋ชจ๋ฐ”์ผ ํ‘ธ์‹œ ์•Œ๋ฆผ

๐Ÿ“ฑ ๋ชจ๋ฐ”์ผ/Remote ๋ฒ„์ „ (/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๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

km-config.json ์„ค์ •

{
  "kakao": {
    "enabled": true,
    "selfName": "ํ™๊ธธ๋™"
  }
}
  • selfName: ๋ณธ์ธ ์นด์นด์˜คํ†ก ์ฑ„ํŒ…๋ฐฉ ์ด๋ฆ„ (์‹ค๋ช…). "๋‚˜"๊ฐ€ ์•„๋‹Œ ๋ณธ์ธ ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜์„ธ์š”!
  • ์นด์นด์˜คํ†ก "๋‚˜์™€์˜ ์ฑ„ํŒ…"์€ ๋ณธ์ธ ๋ฉ”์‹œ์ง€์— ๋Œ€ํ•ด ํ‘ธ์‹œ ์•Œ๋ฆผ์ด ์šธ๋ฆฌ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์™„๋ฃŒ ์•Œ๋ฆผ์ด ํ•„์š”ํ•˜๋ฉด ntfy ์„ค์ •์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

ntfy ์™„๋ฃŒ ์•Œ๋ฆผ ์„ค์ • (์„ ํƒ)

ntfy๋Š” ์„ ํƒ ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค. ์นด์นด์˜คํ†ก ์ „์†ก๋งŒ์œผ๋กœ ์ถฉ๋ถ„ํ•˜๋ฉด ์ด ์„น์…˜์„ ๊ฑด๋„ˆ๋›ฐ์„ธ์š”.

ntfy๋Š” ๋ฌด๋ฃŒ ์˜คํ”ˆ์†Œ์Šค ํ‘ธ์‹œ ์•Œ๋ฆผ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ์ž‘์—… ์™„๋ฃŒ ์‹œ ์Šค๋งˆํŠธํฐ์— ์•Œ๋ฆผ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ์นด์นด์˜คํ†ก "๋‚˜์™€์˜ ์ฑ„ํŒ…"์€ ๋ณธ์ธ ๋ฉ”์‹œ์ง€์— ๋Œ€ํ•ด ํ‘ธ์‹œ ์•Œ๋ฆผ์ด ์•ˆ ์˜ค๊ธฐ ๋•Œ๋ฌธ์—, ์ž‘์—… ์™„๋ฃŒ ์•Œ๋ฆผ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

์„ค์ • ๋ฐฉ๋ฒ• (1ํšŒ):

  1. ์Šค๋งˆํŠธํฐ์— ntfy ์•ฑ ์„ค์น˜: Android / iOS
  2. ์•ฑ์—์„œ ๊ณ ์œ ํ•œ ํ† ํ”ฝ ๊ตฌ๋… (์˜ˆ: my-km-alerts-xyz)
  3. km-config.json์— ํ† ํ”ฝ ์„ค์ •:
{
  "notification": {
    "ntfyTopic": "my-km-alerts-xyz"
  }
}

Claude Code Remote Control ์„ค์ • ๊ถŒ์žฅ์‚ฌํ•ญ (์„ ํƒ)

๋ชจ๋ฐ”์ผ์—์„œ 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 ์•Œ๋ฆผ
  • Plan mode ์ž๋™ ์Šน์ธ์€ ํ˜„์žฌ ๋ฏธ์ง€์› (GitHub #18523)
    • ์šฐํšŒ: bypass ๋ชจ๋“œ ์‚ฌ์šฉ ๋˜๋Š” tmux send-keys๋กœ ์›๊ฒฉ ์Šน์ธ

๐Ÿš€ ์„ค์น˜ ๋ฐฉ๋ฒ•

๋ฐฉ๋ฒ• 1: Claude Code ํ”Œ๋Ÿฌ๊ทธ์ธ (๊ถŒ์žฅ)

Claude Code 1.0.33 ์ด์ƒ์—์„œ ํ”Œ๋Ÿฌ๊ทธ์ธ์œผ๋กœ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

# ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค ์ถ”๊ฐ€
/plugin marketplace add treylom/knowledge-manager

# ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์น˜
/plugin install knowledge-manager

์„ค์น˜ ํ›„ /km:setup์œผ๋กœ ์…‹์—… ์œ„์ €๋“œ๋ฅผ ์‹คํ–‰ํ•˜์„ธ์š”.

๋ฐฉ๋ฒ• 2: ์ˆ˜๋™ ๋ณต์‚ฌ (Claude Code / Claude Desktop)

# ์ €์žฅ์†Œ ํด๋ก 
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์œผ๋กœ ์…‹์—… ์œ„์ €๋“œ๋ฅผ ์‹คํ–‰ํ•˜์„ธ์š”.

๋ฐฉ๋ฒ• 3: Antigravity ์„ค์ •

Antigravity(Google)๋Š” Agent Skills ํ‘œ์ค€์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. .agent/skills/ ํด๋”๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์Šคํ‚ฌ์ด ์ž๋™์œผ๋กœ ์ธ์‹๋ฉ๋‹ˆ๋‹ค.

์žฅ์ : Antigravity๋Š” ๊ฐ•๋ ฅํ•œ ๋‚ด์žฅ ๋ธŒ๋ผ์šฐ์ € ์—์ด์ „ํŠธ๊ฐ€ ์žˆ์–ด์„œ Playwright MCP๊ฐ€ ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค!
Obsidian MCP๋งŒ ์„ค์ •ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

Step 1: ์ €์žฅ์†Œ ํด๋ก  ๋ฐ ์Šคํ‚ฌ ๋ณต์‚ฌ

# ์ €์žฅ์†Œ ํด๋ก 
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 ํ‘œ์ค€์„ ์ง€์›ํ•˜๋Š” ๋ชจ๋“  ๋„๊ตฌ์—์„œ ํ˜ธํ™˜๋ฉ๋‹ˆ๋‹ค.

Step 2: ์ž๋™ ์„ค์ • (๊ถŒ์žฅ)

๋ณต์‚ฌ ํ›„ 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 ์•ผ.

์—์ด์ „ํŠธ๊ฐ€ ์ž๋™์œผ๋กœ:

  1. MCP ์„ค์ • ํŒŒ์ผ์— ์„œ๋ฒ„ ์ถ”๊ฐ€
    • Windows: %USERPROFILE%\.gemini\antigravity\mcp_config.json
    • Mac/Linux: ~/.gemini/antigravity/mcp_config.json
  2. km-config.json ์ƒ์„ฑ
  3. ์„ค์ • ์™„๋ฃŒ ํ›„ Refresh ๋ฐฉ๋ฒ• ์•ˆ๋‚ด

Step 2 (๋Œ€์•ˆ): ์ˆ˜๋™ ์„ค์ •

์ž๋™ ์„ค์ •์ด ์ž‘๋™ํ•˜์ง€ ์•Š์œผ๋ฉด ์ˆ˜๋™์œผ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“‹ ์ˆ˜๋™ ์„ค์ • ๋ฐฉ๋ฒ• (ํด๋ฆญํ•˜์—ฌ ํŽผ์น˜๊ธฐ)

MCP ์„œ๋ฒ„ ์„ค์ •:

  1. Antigravity์—์„œ Agent ํŒจ๋„ ์—ด๊ธฐ
  2. ์šฐ์ธก ์ƒ๋‹จ โ‹ฏ (์  ์„ธ ๊ฐœ) ํด๋ฆญ
  3. MCP Servers ์„ ํƒ
  4. Manage MCP Servers ํด๋ฆญ
  5. View raw config ํด๋ฆญ

์„ค์ • ํŒŒ์ผ ์œ„์น˜: 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๋ฅผ ์ถ”๊ฐ€ํ•˜์„ธ์š”.

์„ค์ • ์ƒˆ๋กœ๊ณ ์นจ:

  1. Manage MCP Servers ์ฐฝ์—์„œ Refresh ํด๋ฆญ
  2. obsidian ์„œ๋ฒ„๊ฐ€ ๋ชฉ๋ก์— ํ‘œ์‹œ๋˜๋Š”์ง€ ํ™•์ธ

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"
  }
}

Step 3: ์„ค์ • ํ™•์ธ

์„ค์ •์ด ์™„๋ฃŒ๋˜๋ฉด:

  1. Manage MCP Servers ์ฐฝ์—์„œ Refresh ํด๋ฆญ
  2. obsidian ์„œ๋ฒ„๊ฐ€ ๋ชฉ๋ก์— ํ‘œ์‹œ๋˜๋Š”์ง€ ํ™•์ธ
  3. ํ…Œ์ŠคํŠธ: "https://example.com ์ด ํŽ˜์ด์ง€๋ฅผ ์ •๋ฆฌํ•ด์ค˜"

๐Ÿ’ก Obsidian Vault ๊ฒฝ๋กœ ์ฐพ๊ธฐ

Vault ๊ฒฝ๋กœ๋ฅผ ๋ชจ๋ฅด์‹œ๋ฉด ์•„๋ž˜ ๋ฐฉ๋ฒ•์œผ๋กœ ํ™•์ธํ•˜์„ธ์š”.

๋ฐฉ๋ฒ• 1: Obsidian ์•ฑ์—์„œ ํ™•์ธ

  1. Obsidian ์•ฑ ์‹คํ–‰
  2. ์ขŒ์ธก ํ•˜๋‹จ โš™๏ธ (์„ค์ •) ํด๋ฆญ
  3. "ํŒŒ์ผ ๋ฐ ๋งํฌ" ๋ฉ”๋‰ด ์„ ํƒ
  4. ์ƒ๋‹จ์— ํ‘œ์‹œ๋œ "Vault ๊ฒฝ๋กœ" ๋ณต์‚ฌ

๋ฐฉ๋ฒ• 2: AI์—๊ฒŒ ์š”์ฒญ

Claude Code ๋˜๋Š” Antigravity์—๊ฒŒ ์ง์ ‘ ๋ฌผ์–ด๋ณด์„ธ์š”:

๋‚ด Obsidian vault ๊ฒฝ๋กœ ์ฐพ๋Š” ๋ฒ• ์•Œ๋ ค์ค˜

OS๋ณ„ ์ผ๋ฐ˜์ ์ธ ๊ฒฝ๋กœ ์˜ˆ์‹œ

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 ์„œ๋ฒ„ ์‹คํ–‰์šฉ

Playwright MCP ์„ค์น˜ (Claude Code ํ•„์ˆ˜)

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 ํŠธ๋žœ์Šคํฌ๋ฆฝํŠธ (์„ ํƒ)

ํ•ญ๋ชฉ ์„ค์น˜ ๋ช…๋ น ์šฉ๋„
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 ๊ณ„์ • ํŒ€ ํ˜‘์—…์šฉ

PDF/OCR ์ฒ˜๋ฆฌ์šฉ (Claude Code ํ™˜๊ฒฝ)

Antigravity ์‚ฌ์šฉ์ž: ์ž์ฒด ๋‚ด์žฅ PDF/์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ ๊ธฐ๋Šฅ ์‚ฌ์šฉ. ์•„๋ž˜ ์„ค์น˜ ๋ถˆํ•„์š”.

ํ•ญ๋ชฉ ์„ค์น˜ ๋ช…๋ น ์šฉ๋„
Marker pip install marker-pdf PDF โ†’ Markdown ๋ณ€ํ™˜ (๊ถŒ์žฅ)
pytesseract pip install pytesseract pdf2image ์Šค์บ” PDF OCR
Tesseract OCR ์„ค์น˜ ๊ฐ€์ด๋“œ OCR ์—”์ง„
pdfplumber pip install pdfplumber ํ…Œ์ด๋ธ” ์ถ”์ถœ

๐Ÿ“– ์‚ฌ์šฉ๋ฒ•

Claude Code์—์„œ

# ์…‹์—… ์œ„์ €๋“œ (์ตœ์ดˆ 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

๐ŸŽจ PPT/์Šฌ๋ผ์ด๋“œ ์ƒ์„ฑ (NEW!)

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 ์‚ฌ์šฉ์ž

Obsidian vault์— Zettelkasten ์Šคํƒ€์ผ ๋…ธํŠธ๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

Your-Vault/
โ”œโ”€โ”€ Zettelkasten/
โ”‚   โ””โ”€โ”€ AI-์—ฐ๊ตฌ/
โ”‚       โ””โ”€โ”€ MCP ํ”„๋กœํ† ์ฝœ ๊ฐœ์š” - 2026-01-17.md
โ”œโ”€โ”€ Research/
โ””โ”€โ”€ Threads/

Obsidian ์—†์ด ์‚ฌ์šฉ

๋กœ์ปฌ ํด๋”์— Obsidian ํ˜ธํ™˜ Markdown ํŒŒ์ผ๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

km-notes/
โ”œโ”€โ”€ Zettelkasten/
โ”œโ”€โ”€ Research/
โ””โ”€โ”€ Threads/

๐Ÿ”ง ๋ฌธ์ œ ํ•ด๊ฒฐ

Claude Code: MCP ์„œ๋ฒ„ ์ƒํƒœ ํ™•์ธ

claude mcp list

Antigravity: MCP ์„œ๋ฒ„ ํ™•์ธ

  1. Agent ํŒจ๋„ โ†’ โ‹ฏ โ†’ MCP Servers
  2. ์„œ๋ฒ„ ๋ชฉ๋ก์—์„œ playwright, obsidian ์ƒํƒœ ํ™•์ธ
  3. ์—ฐ๊ฒฐ ์‹คํŒจ ์‹œ Refresh ํด๋ฆญ

์„ค์ • ํŒŒ์ผ ์œ„์น˜

ํ™˜๊ฒฝ ์„ค์ • ํŒŒ์ผ
Claude Code CLI ํ”„๋กœ์ ํŠธ ํด๋”์˜ .mcp.json
Claude Desktop %APPDATA%\Claude\claude_desktop_config.json
Antigravity C:\Users\<์‚ฌ์šฉ์ž๋ช…>\.gemini\antigravity\mcp_config.json

๊ณ ๊ธ‰ ์˜ต์…˜

Hyperbrowser (์„ ํƒ์  ๋Œ€์•ˆ)

โš ๏ธ ๊ถŒ์žฅํ•˜์ง€ ์•Š์Œ: ๊ธฐ๋ณธ์ ์œผ๋กœ Playwright MCP๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”. Hyperbrowser๋Š” Playwright๊ฐ€ ์ฐจ๋‹จ๋‹นํ•˜๋Š” ํŠน์ˆ˜ํ•œ ๊ฒฝ์šฐ์—๋งŒ ๊ณ ๋ คํ•˜์„ธ์š”.

Playwright MCP๊ฐ€ ํŠน์ • ์‚ฌ์ดํŠธ์—์„œ ์ง€์†์ ์œผ๋กœ ์ฐจ๋‹จ๋‹นํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ Hyperbrowser๋ฅผ ๊ณ ๋ คํ•˜์„ธ์š”.

  1. hyperbrowser.ai์—์„œ API ํ‚ค ๋ฐœ๊ธ‰
  2. km-config.json์—์„œ browser.provider๋ฅผ "hyperbrowser"๋กœ ๋ณ€๊ฒฝ
  3. MCP ์„ค์ •์— 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"

๐Ÿค ๊ธฐ์—ฌ

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes
  4. Push to the branch
  5. Open a Pull Request

๐Ÿ“„ ๋ผ์ด์„ ์Šค

MIT License - ์ž์œ ๋กญ๊ฒŒ ์‚ฌ์šฉ, ์ˆ˜์ •, ๋ฐฐํฌํ•˜์„ธ์š”.

๐Ÿ”— ๊ด€๋ จ ๋งํฌ


๐Ÿ‡บ๐Ÿ‡ธ English Documentation

What is Knowledge Manager?

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.

Features

  • Multiple Input Sources: Web pages, PDFs, Notion
  • YouTube Transcripts: Auto-extract YouTube subtitles + analyze + generate notes
  • KakaoTalk Chat Analysis: Analyze chat messages + generate notes (macOS: auto, Windows: manual export)
  • PDF & Image OCR: Extract text from scanned PDFs and images (Claude Code)
  • Smart Extraction: AI-powered content analysis and atomic idea extraction
  • Flexible Storage: Obsidian, Notion, or local Markdown files
  • Mobile/Remote Support: Run via Claude Code Remote Control with keyword-based auto presets
  • KakaoTalk Send: Auto-send notes to KakaoTalk (Windows/WSL)
  • ntfy Notifications (optional): Mobile push notifications on task completion
  • Easy Setup: Setup wizard guides you through everything

Installation

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.

Option 2: Manual Copy (Claude Code / Claude Desktop)

# 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.

Option 3: Antigravity Setup

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.

Step 1: Clone and Copy Skills

# 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:

  1. Add MCP servers to config file
    • Windows: %USERPROFILE%\.gemini\antigravity\mcp_config.json
    • Mac/Linux: ~/.gemini/antigravity/mcp_config.json
  2. Create km-config.json
  3. Guide you to refresh the configuration

Step 2 (Alternative): Manual Setup

If automatic setup doesn't work, you can configure manually.

๐Ÿ“‹ Manual Setup Instructions (click to expand)

Configure MCP Servers:

  1. Open Agent panel in Antigravity
  2. Click โ‹ฏ (three dots) in the top right
  3. Select MCP Servers
  4. Click Manage MCP Servers
  5. Click View raw config

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_PATH with 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:

  1. Click Refresh in the Manage MCP Servers window
  2. Verify that obsidian server appears in the list

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"
  }
}

Step 3: Verify Setup

After setup is complete:

  1. Click Refresh in the Manage MCP Servers window
  2. Verify that obsidian server appears in the list
  3. Test: "Summarize this page: https://example.com"

๐Ÿ’ก Finding Your Obsidian Vault Path

If you don't know your vault path, here's how to find it.

Method 1: From Obsidian App

  1. Open Obsidian app
  2. Click โš™๏ธ (Settings) in the bottom left
  3. Select "Files & Links"
  4. Copy the "Vault path" shown at the top

Method 2: Ask AI

Ask Claude Code or Antigravity directly:

Help me find my Obsidian vault path

Typical Paths by OS

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/...

Requirements

Required

Item Description
Claude Code / Antigravity CLI, Desktop, or Antigravity
Node.js 18+ For running MCP servers

Playwright MCP Installation (Required for Claude Code)

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

YouTube Transcripts (Optional)

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 Chat Analysis (Optional)

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

Optional (Setup wizard will guide you)

Item Purpose
Obsidian Local knowledge management app (free)
Notion account For team collaboration

For PDF/OCR Processing (Claude Code)

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

Installation & Configuration

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.

First-time setup

# 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:

  1. Ask for your Obsidian vault path (e.g. /home/you/Documents/MyVault or C:/Users/You/Documents/MyVault).
  2. Auto-detect your Obsidian CLI executable (v1.12.4+) if Obsidian desktop is installed.
  3. Generate km-config.json in the repo root (this file is gitignored โ€” your personal config stays local).
  4. Run 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.
  5. Mark the substituted files with 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.

Updating to the latest version

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:

  1. Unlocks the skip-worktree flag on every placeholder-substituted file.
  2. Restores the original placeholder content with git checkout HEAD -- <files>.
  3. Runs git pull origin <current-branch> to fetch upstream changes.
  4. Re-runs scripts/configure-vault-paths.sh to re-substitute placeholders with your current km-config.json values.
  5. Re-applies the skip-worktree lock.

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.

Re-configuring your vault 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.

Under the hood โ€” placeholder system

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.


Usage

In Claude Code

# 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

If installed as plugin

# Setup wizard
/km:setup

# Process web article
/km https://example.com/article

Storage

For Obsidian Users

Notes are saved in Zettelkasten style in your Obsidian vault.

Your-Vault/
โ”œโ”€โ”€ Zettelkasten/
โ”‚   โ””โ”€โ”€ AI-Research/
โ”‚       โ””โ”€โ”€ MCP Protocol Overview - 2026-01-17.md
โ”œโ”€โ”€ Research/
โ””โ”€โ”€ Threads/

Without Obsidian

Notes are saved as Obsidian-compatible Markdown files in a local folder.

km-notes/
โ”œโ”€โ”€ Zettelkasten/
โ”œโ”€โ”€ Research/
โ””โ”€โ”€ Threads/

Troubleshooting

Claude Code: Check MCP Server Status

claude mcp list

Antigravity: Check MCP Servers

  1. Agent panel โ†’ โ‹ฏ โ†’ MCP Servers
  2. Check status of playwright and obsidian in server list
  3. Click Refresh if connection failed

Config File Locations

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

Advanced Options

Hyperbrowser (Optional Alternative)

โš ๏ธ 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.

  1. Get API key from hyperbrowser.ai
  2. Change browser.provider to "hyperbrowser" in km-config.json
  3. Add hyperbrowser server to MCP config:
"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.

Environment Variable Support

export KM_OBSIDIAN_VAULT="/path/to/vault"
export KM_NOTION_TOKEN="ntn_xxx"
export KM_BROWSER_PROVIDER="playwright"

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes
  4. Push to the branch
  5. Open a Pull Request

License

MIT License - Free to use, modify, and distribute.